Wenn man sich fragt, was die erfolgreichsten Spiele im mobilen Sektor sind, kommt man an Angry Birds nicht vorbei. Weniger omnipräsent, aber, wie man hört, ebenfalls eines der lukrativeren Geschäfte, ist Tiny Wings. Und klickt man sich so unter „Kunden kauften auch“ durch den AppStore, so sieht man: All diese Spiele haben eines gemeinsam, und zwar ihre Cartoon-Grafik. Auch im Indie-Sektor auf dem PC findet man diese Grafik hin und wieder (z.B. Plants vs. Zombies).

 

Alle diese Spiele haben 2D-Grafik, die zumeist Farben oder Farbverläufe anstatt Texturen benutzt, und die Objekte haben fast immer eine Schwarze Kontur außenherum. Wer ein solches Spiel mit Unity entwickeln will, kriegt meist Probleme, auf die Mütze oder beides. Unity ist eine 3D-Engine und nicht wirklich auf 2D ausgelegt. Allerdings gibt es da Abhilfe im Asset Store, die die Erstellung von 2D-Spielen mit Cartoon-Look mit sauberer Technik ermöglicht: RageSpline. RageSpline übernimmt dabei die Rolle von Renderer und (auf Wunsch) Collider gleichzeitig, sodass man mit dem damit versehenen Objekt umgehen kann, wie mit einem normalen 3D-Modell: Rigidbody dazu, Script dazu, es funktioniert.
Den RageSpline erstellt man im Editor durch das Setzen von Punkten per Doppelklick. Ein Punkt kann, wie ein GameObject, angeklickt und verschoben werden. Jeder Punkt hat noch eine Tangente, die sich, ebenfalls durch verschieben, frei bearbeiten lässt. Durch die Tangente erstellt man mühelos die Kurven in der Form, die diesen typischen, kindgerechten Look erzeugen.
Aus den Punkten und Tangenten wird nun ein Mesh generiert, eine Schlange, die auf der x-y-Ebene den Spline entlanggeht. Mit der richtigen Option wird ein geschlossener Spline dann auch mit Vertex gefüllt. Der Mesh außenherum, der an einen verbesserten Line Renderer erinnert, ist nun die Kontur, und der innere Teil wird mit einer Farbe oder einem Gradient (Farbverlauf) gefüllt. Auch die Ausrichtung des Farbverlaufs ist mit der Maus im Editor View einstellbar. Splines, die vor anderen angezeigt werden sollen, werden auf der Z-Achse einfach näher an die Kamera gezogen. Anderen Objekten unterordnen, über Transform verschieben, drehen oder skalieren funktioniert einwandfrei.

Nun aber zur Physik. Auch hier wurde sehr schlau gearbietet.

RageSpline erstellt auf Wunsch einen Mesh Collider passend zum Mesh. Da RageSpline für 2D-Spiele ist, wird der Collider auf der Z-Achse in die Länge gezogen. So fällt das Objekt nicht nach vorne oder hinten weg. Das ist wohl die eleganteste Lösung, eine 3D-Physik-Engine für 2D-Spiele zu verwenden. Sehr interessant: Der Landscape-Spline. Man erstellt einen Spline, der die Oberfläche eines Terrains darstellt, und Ragespline kümmert sich darum, dass der Mesh nach unten hin gezeichnet wird, und zwar mindestens x Meter bis unter den untersten Punkt des Splines. Überaus einfach und praktisch.  Die Krönung des Ganzen: RageSpline ist sehr schnell und kann deswegen ingame benutzt werden. Man kann also während des Spiels Punkte hinzufügen, bewegen oder bearbeiten. Ein mitgeliefertes Demo-Spiel nutzt dies, um während des Spiels das Terrain, über das man sich bewegt, prozedural zu generieren. Buddeln mit Terrain Deformation wäre ebenfalls kein Problem, und lustige Animationen mit sich verformenden Charakteren sind auch möglich.  Ein paar wenige Nachteile gibt es schon: So ist man mit seinen Splines im Unity Editor gefangen und kann diese nicht ex- oder importieren. Der Unity Editor ist allerdings nur begrenzt für das Erstellen von 2D-Grafiken geeignet. Des Weiteren ist es zwar gut, dass die Spline-Punkte keine GameObjects sind, allerdings bedeutet das auch, dass sie nicht direkt bewegbar sind (z.B. über eine Animation) und dafür immer ein Skript nötig ist. 
Bis auf diese Kleinigkeiten ist RageSpline ein sehr gutes Tool, das die momentan offenbar beliebteste Grafik im mobilen Sektor für Unity greifbar macht. Die Physik ist gut gemacht und das ganze Projekt ist sauber programmiert und mit einem guten Interface und einer guten Schnittstelle für Scripts ausgestattet. RageSpline ist für 75 $ im AssetStore erhältlich.

rs1rs2rs3rs4
 
Weiterführende Links:
[http://www.ragespline.com]
Offizielle Website von RageSpline
Zum Seitenanfang