Was ist Spine?
Spine ist eine Animations-Software, die besonderen Augenmerk auf 2D-Animationen für Spiele legt. Spines Ziel ist es, Ihnen einen effizienten, optimierten Arbeitsablauf zu bieten, sowohl für das Erstellen von Animationen als auch für das Einsetzen dieser Animationen in Ihrem Spiel.
Vorteile
Um in Spine eine Animation zu erstellen, verbinden Sie Bilder mi Knochen und bewegen dann diese Knochen. Dies hat viele Vorteile gegenüber herkömmlicher, Bild-für-Bild-Animation:
-
Weniger Speicherplatz Herkömmliche Animation benötigt ein Bild für jeden Frame der Animation. Spine-Animationen speichern nur die Knochen-Daten, die sehr wenig Speicherplatz benötigen, so dass Sie in der Lage sind, Ihr Spiel mit vielen einzigartigen Animationen zu bereichern.
-
Weniger Assets werden benötigt Spine-Animationen benötigen wesentlich weniger Assets, so dass Sie weniger Zeit und Geld in das Animieren stecken müssen und diese Resourcen stattdessen verwenden können, um ein besseres Spiel zu entwickeln.
-
Flüssigere Animationen Spine-Animationen nutzen Interpolation, so dass eine Animation immer genau so flüssig läuft wie die Framerate.
-
Attachments Bilder, die mit Knochen verbunden sind, können ausgetauscht werden, um einen Charakter mit anderen Items und Effekten darzustellen. Die selbe Animation kann so für verschieden aussehende Charaktere wiederverwendet werden.
-
Überlagern Animationen können sich überlagern. Zum Beispiel kann ein Charakter eine Schieß-Animation abspielen, während er auch eine Geh-, Lauf-, oder Schwimm-Animation wiedergibt.
-
Prozedurale Animation Knochen können per Code manipuliert werden. Dadurch können Sie einen Charakter dynamisch so verformen, so dass er z. B. immer in Richtung der Maus schießt, sich zu einem nahen Feind hindreht oder nach vorne lehnt, während er einen Hügel erklimmt.
Features
Dopesheet
Das Dopesheet ist das Wichtigste beim Animieren. Es ermöglicht es Ihnen, alle Zeitleisten anzuzeigen, aus denen eine Animation besteht, und präzise Änderungen am Ablauf der Animation vorzunehmen.
Graphen-Editor
Der Graphen-Editor erstellt Bezier-Kurven, die für die Interpolation zwischen den Key-Frames verwendet werden. Dadurch entsteht eine wesentlich natürlichere Bewegung.
IK Posing
Das Posierungs-Tool verwendet inversive Kinematik. Deshalb ist es damit möglich, ein Skelett sehr schnell zu posieren.
Skins
Skins ermöglichen es Ihnen, zwischen verschiedenen Sammlungen von Attachments zu wechseln. Skins organisieren die Attachments und ermöglichen Animationen, die auf mehrere Attachments angewandt werden können, so dass Sie die selbe Animation für mehrere Charaktere verwenden können
Bounding-Boxen
Eine Bounding-Box ist ein Polygon, das mit einem Knochen verbunden ist. Wie auch Bilder passt es sich den Bewegungen der Knochen an. Das Polygon kann für die Einbindung einer Spiel-Physik und der Kollisionserkennung verwendet werden.
Gitter-Netze
Anstatt Rechtecke zu zeichnen, ermöglichen Netze (Meshes) es Ihnen, ein Polygon innerhalb eines Bildes zu definieren. Das erhöht die Füll-Rate, weil Pixel außerhalb des Polygons nicht gezeichnet werden müssen. Diese Effizienz ist vor allem für Spiele auf mobilen Plattformen wichtig. Netze sind auch die Grundlage für FFD und das Skinning.
Frei-Form-Deformation
Frei-Form-Deformation (FFD = free form deformation) ist eine Technik, die es möglich macht, einzelne Vertices zu bewegen, um das Bild zu verformen. FFD streckt, quetscht und biegt Bilder auf eine Art, die mit rechteckigen Bildern allein nicht zu erreichen ist.
Skinning
Skinning gibt Ihnen die Möglichkeit, einzelne Vertices in einem Netz an andere Knochen anzufügen. Wenn die Knochen sich bewegen, folgen die Vertices diesen und das Netz wird automatisch verformt. So wird das Posieren eines Charakters darauf reduziert, die Knochen zu posieren.
Export-Formate
Spine exportiert Ihre Animationen in seine eigenen, dokumetierten JSON- und Binär-Formate, die ideal für die Verwendung zusammen mit der Spine-Runtime sind. Spine kann jedoch auch animierte GIFs, PNG- oder JPG-Bild-Sequenzen, sowohl AVI- und QuickTime-Videos exportieren.
Importieren
Spine kann Daten aus seinen eigenen JSON-Formaten also auch aus Binär-Formaten importieren, wodurch die Möglichkeit entsteht, Daten von anderen Tools nach Spine zu importieren. Skelette und Animationen können außerdem aus anderen Projektdateien importiert werden.
Texture Packer
Spine kann Bilder in einem Texturen-Atlas oder einem Spritesheet zusammenführen, was die Effizienz beim Rendern steigert. Spines Texture-Packer enthält viele Funktionen, wie das Entfernen von Leerräumen, die Rotation und Skalierung von Bildern und vielem mehr.
Laufzeit-Bibliotheken
Wundervolle Animationen zu erstellen ist nur ein Teil des Problems — Sie müssen diese Animationen auch in Ihren Spielen rendern können. Die Spine-Laufzeit-Bibliotheken fügen Ihrem Game-Toolkit die nötigen Funktionen zu, um Animationen zu laden und zu rendern, genau wie sie auch in Spine gerendert werden.
Die Spine-Laufzeitbibliotheken enthalten eine API, die direkten Zugriff auf Knochen, Attachments, Skins und andere Animations-Daten bietet. Knochen können prozedural manipuliert werden, Animationen können übergeblendet werden, sich überlagern und vieles mehr.
Die offiziellen Laufzeit-Bibliotheken befinden sich auf GitHub und die Lizensierung von Spine gibt ihnen das Recht, diese Laufzeit-Bibliotheken in Ihren Anwendungen und Spielen zu nutzen. Der komplette Quell-Code wird bereitgestellt, was wichtig für einen so fundamentalen Teil Ihres Spiels ist.
Spiele-Toolkits
Wenn Sie die Laufzeit-Bibliotheken testen wollen, bevor Sie Spine erwerben, dann können Ihnen die Beispielprojekte in der Spine-Testversion helfen, die auch exportierte Beispieldaten enthalten.
Offizielle Laufzeitbibliotheken
Spine unterstützt diese Spiele-Toolkits offiziell.
- Unity, C#
- Unity 2D Toolkit, C#
- cocos2d-iphone, Objective-C
- cocos2d-x, C++
- XNA, C#
- MonoGame, C#
- Starling, ActionScript 3 (demo)
- libgdx, Java
- Turbulenz, JavaScript (demo)
- SFML, C++
- Torque2D, C++ / TorqueScript
- Corona, Lua
- LÖVE, Lua
Offizielle generische Laufzeitbibliotheken
Diese generischen Laufzeitbibliotheken erledigen für Sie alles, mit Ausnahme des Renders. Wenn Ihr Toolkit nicht offiziell unterstützt wird, dann können Sie die generischen Laufzeiten leicht erweitern oder eine der von Dritten bereitgestellen Laufzeit-Biblitheken auf der rechten Seite ausprobieren.
Von Dritten bereitgestellte Laufzeitbibliotheken
Diese Laufzeit-Bibliotheken sind von der Community entwickelt worden. Bitte erstennen Sie einen Post im Spine-Forum, wenn Sie Ihre Laufzeit-Bibliothek hier gerne aufgelistet hätten.
- iOS 7 SpriteKit, simonkim
- iOS 7 SpriteKit, mredig
- GameMaker, official
- GameMaker, C
- GameMaker (alternate)
- spine-cocos2d-html5, JavaScript
- XNA/MonoGame with content pipeline
- Unity Futile, C#
- pixi.js (demo)
- Marmalade
- Monkey (demo, thread)
- Wave Engine, C#
- Gideros, Lua
- Ruby
- Google's Go (generic)
- Eng, Go
- SmoothStep2D, HTML5
- CAAT, JavaScript
- GameBuilder Studio
- sHTiF, AS3
- Pascal (FPC, Delphi, Smart Mobile Studio)
- flyover/spine.js, JavaScript (demo)
- Ignifuga, Python
- Python
- Haxe
- HaxePunk
- Haxe NME
- Haxe 3 and NME 4
- MonoGame and Gdna
- MOAI, Lua
- MOAI, Lua (thread)
Entwicklung
Spine ist in aktiver Entwicklung. Wir veröffentlichen oft mehrere neue Versionen in der Woche. Sie können den Fortschritt im Change-Log verfolgen. Einen weiter gefassten Überblick über die geplanten Funktionen finden Sie im Spine Roadmap. Sie können abstimmen und Kommentare zu Trello-Aufgaben abgeben, sowie einen Newsletter abonnieren, so dass Sie eine Mail erhalten, wenn eine von Ihnen unterstütze Funktion fertiggestellt ist.
Wir fügen nicht nur ständig neue Funktionen hinzu, wir verbessern auch alle Askepte der Software. Oft ist dies ein Ergebnis des Feedbacks unserer Nutzer. Wir lieben es, zu erfahren, was funktioniert und was nicht, also werfen Sie bitte einen Blick in das Spine-Forum und sagen Sie uns, was Sie denken.