Beitragsbild

Spine: 2D-Animation für Unity

Von am 17.02.2018

 

Spine ist eine Animationssoftware, deren Funktionsweise und Workflow speziell auf das Erstellen von 2D-Animationen für Videospiele ausgerichtet sind. Da vor allem Mobile Games hinsichtlich Speicher und Rechenleistung im Vergleich zu PC- oder Konsolenspielen eher begrenzt sind, und Grafiken bei vielen Spielen einen großen Teil des Speicherplatzbedarfs bilden, bietet Spine gerade dabei große Vorteile, von denen einige im Folgenden kurz vorgestellt werden sollen:

 

Kleinere Spritesheets

Ein steuerbarer Hauptcharakter in einem Spiel hat üblicherweise zumindest eine Walk- und eine Idle-Animation – also eine Animation, die dann abgespielt wird, wenn der Charakter einfach nur herumsteht. Dazu kommen dann vielleicht noch Jump-, Attack-, Hit-, Die- oder sonstige Animationen.

Bei klassischer Frame-by-Frame-Animation würde es für jede dieser Animationen ein Spritesheet geben, auf dem alle Frames der jeweiligen Animation zu sehen sind. Bei einer Animation mit der Dauer einer Sekunde sind das zwischen 10 und 30 Einzelframes – dementsprechend groß werden die Spritesheets und in weiterer Folge der Speicherbedarf.

In Spine wird ein zu animierendes Objekt aus einzelnen „Körperteilen“ zusammengesetzt, und ähnlich wie beim Rigging eines 3D-Modells mit einem „Skelett“ versehen. Dieses Skelett, an dem die einzelnen Attachments (Also die Körperteile) hängen, kann dann beliebig posiert und animiert werden. Spine interpoliert zwischen den einzelnen Keyframes und Posen und braucht für beliebig viele verschiedene Animationen genau ein Spritesheet mit den Körperteilen des Objektes. Zusätzlich dazu sind die Animationen auch um einiges flüssiger als Frame-by-Frame-Animationen.

 

Aus diesem 124KB großen Spritesheet unseres Hauptcharakters in unserem Semesterprojekt „Save the Geese“ setzen sich 5 verschiedene Animationen zwischen 30 und 200 Frames zusammen.

Wiederverwenden von Animationen
Ist ein Rig eines Charakters in Spine mit seinem Skelett und all seinen Körperteilen einmal aufgebaut, können diese ausgetauscht werden, zum Beispiel um den Charakter mit verschiedenen Rüstungen oder Waffen darzustellen. Diese „Skins“ können jederzeit gewechselt oder kombiniert werden, auch während einer Animation.

 

Überlagern von Animationen
Ein weiterer großer Vorteil von Spine ist die Möglichkeit, Animationen zu überlagern – ein Charakter könnte zum Beispiel per Knopfdruck mit einer Waffe schießen, während er gleichzeitig läuft, ohne dabei die Lauf-Animation zu unterbrechen. Dies ist bei Frame-by-Frame-Animation so gut wie nicht möglich, da man dabei eine Lauf-Animation, eine Schießen-Animation und eine Laufen-und-Schießen-Animation bräuchte, und wieder individuelle Spritesheets dazu.

 

Prozedurale Animation
Eine der größten Stärken von Spine ist auch die Möglichkeit, Animationen parallel zur Laufzeit zu manipulieren. Eine Open Source Spine-Unity-Runtime, die nur in das Unity Projekt importiert werden muss, ermöglicht es, per Code auf alle Einzelteile eines Charakter-Rigs zuzugreifen. Dadurch lassen sich Effekte erzielen, die anders nur mit großem Programmieraufwand realisiert werden können, wie etwa dass der Charakter mit seinem Blick der Maus folgt, immer in die Richtung eines Gegners schießt, sich passend zur Neigung eines Objektes, auf den der Charakter steht, mitbewegt, Objekte richtig aufhebt und herumträgt und vieles mehr.

 

Spine entstand anfangs aus einem Kickstarter-Projekt und wird ständig weiterentwickelt. Es gibt auch ein Forum, in dem die Entwickler und Communitymitglieder auf Fragen antworten.
So viele Vorteile das Animationsprogramm auch bietet – es ist leider nicht ganz gratis. Der Preis für eine Professional-Lizenz, mit der man Spine auf zwei Rechnern installieren darf, beträgt ungefähr 300 Dollar. Es gibt zwar eine Essential-Version um knapp 70 Dollar, die aber kein Meshing (die Möglichkeit des Verformens der einzelnen Grafiken, das optisch einen großen Unterschied macht) unterstützt und somit nur für bestimmte Projekte sinnvoll ist.

 

 

Links:

http://esotericsoftware.com/

http://esotericsoftware.com/spine-unity

The comments are closed.