Erfahrungen mit Spine - 2D-Animation?

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Schrompf
Moderator
Beiträge: 4924
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Erfahrungen mit Spine - 2D-Animation?

Beitrag von Schrompf »

Moin,

bevor ich es voreilig abtue, frag ich erstmal hier: hat jemand schon Erfahrungen mit Spine - https://de.esotericsoftware.com/spine-in-depth - gesammelt?

Ich will die Taucherin im Tauchspiel animieren. Das will ich über Bones machen, weil ich a) keinen Bock habe, meine Spielfigur in 3 oder gar 5 Ansichten handgepixelt mit x Frames zu animieren und b) weil ich prozedurale Bewegungen drin haben will wie z.B. dass die Spielfigur sich mit den Händen an Wänden entlang hangelt, wenn die Hände frei sind und eine Wand in der Nähe.

Nun hab ich schon viel über Spine gehört. Wird ja auch von einigen Größen der Spielebranche benutzt. Und für komplexe 2D-Anims kann ich mir gut vorstellen, dass sich das lohnt. Für mich ganz persönlich, der ich meine 3 Anims notfalls auch mit Winkeln hardcoden könnte, seh ich aber noch nicht, dass sich der Preis für mich lohnt.

Immerhin, es gibt den vollen Sourcecode dazu und ne einmalige Zahlung berechtigt anscheinend die ewige Nutzung dieses Standes der Entwicklung.

Habt ihr da ne Meinung dazu?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2452
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Erfahrungen mit Spine - 2D-Animation?

Beitrag von Jonathan »

Also ich hatte damals für Harald ja im Prinzip das selbe Problem und habs halt in Blender gemacht. Ein paar Sätze dazu hab ich auf der Projektseite geschrieben: https://jonathank.de/games/hase/index.html

Ich hatte halt eh mein Spieleframework benutzt, dass ja erstmal 3D ist. Mit passender Kamera kann man aber natürlich auch alles was 2D ist rendern.

Blender kann mit 2 Klicks ein Bild als Plane importieren, das hab ich dann einmal pro Körperteil gemacht. In der Praxis will man aber ein paar mehr Vertexe haben, das sieht dann später beim Skinning einfach besser aus. Ansonsten habe ich die ganz normalen Bones-Animationen von Blender benutzt, das ist in der Hinsicht ja sehr mächtig. Das im Spiel abspielen ging dann wie gesagt auch mehr oder weniger direkt.

Im Vergleich zu Spine bedeutete das für mich also weniger Aufwand (der Code war ja schon da), weniger Einarbeitung (Blender kannte ich ja schon) und keinerlei Zusatzkosten. Ggf. sieht die Rechnung bei dir leicht anders aus, wenn es einfacher ist Spine einzubinden als 3D Modelle von Hand zu laden und mit Animationen abzuspielen. Sowas wie inverse Kinematik hab ich zum Beispiel auch noch nicht bei mir implementiert, aber das sollte auch nicht wirklich mehr als ein Wochenende in Kauf nehmen. Und naja, Blender als Standardsoftware hat halt viele Vorteile: Leute kennen es schon, es läuft überall, es kostet nix, und ist schon so etabliert dass es auch in 10 Jahren noch aktualisiert werden wird. Und ich glaube nicht, dass es irgendetwas nicht kann, was Spine kann. Hauptproblem an Blender dürfte eher sein, dass es zu viel kann und für Einsteiger ziemlich überladen ist.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Schrompf
Moderator
Beiträge: 4924
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Erfahrungen mit Spine - 2D-Animation?

Beitrag von Schrompf »

Du hast auch die Animationen in Blender gemacht? Wie hast Du die von dort in Dein Spiel gekriegt?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2452
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Erfahrungen mit Spine - 2D-Animation?

Beitrag von Jonathan »

Ja genau. Ich hab mal ein paar Bilder gemacht:
2024-09-20_10-40-19_blender.png
2024-09-20_10-40-08_blender.png
2024-09-20_10-39-59_blender.png
Das ist alles einfach Mesh + Bone Animation, wie man sie in Blender für alle 3D Modelle macht. Die individuellen Submeshes sind in unterschiedlichen Z-Ebenen damit die Render Reihenfolge richtig ist. Wenn ich mich richtig erinnere, musste man gar nichts beachten, die Bones sind zwar komplett "außerhalb" des Objektes (weit darüber), aber da sie sich nur in XY Achse drehen, kommt es zu keinen Verzerrungen.

Du kannst auch Harald Hoppelhase nochmal runterladen - das Hasenmodell liegt in data/hase/hase.gltf. Das sollte man so ansich direkt mit allem Laden und anzeigen können.


Eigentlich ein wenig schade - die Spine-Webseite sieht vielversprechend aus und das Geschäftsmodell ist ansich sehr fair. Und eigentlich mag ich ein bisschen Diversität und bin gegen Monopolisten. Und sie behaupten ja sogar, dass man den Code bekommt, und das Animationstool selber könnte ja auch noch Jahre nach Supportende funktionieren, daher wäre es vielleicht sogar egal, wenn die Firma demnächst pleite geht, weil man dann immer noch alles weiterverwenden kann. Alles soweit sympathisch.
(Das erinnert mich btw. an eine weitere Update-Hass Geschichte: Ich lud letzte Woche ein kleines Tool von der Herstellerseite runter, dass sich nach der Installation beschwerte, es sei seit 2015 nicht mehr aktuell und ich müsse die neue Version runterladen. Die es nicht gab, weil es seit dem nicht mehr weiterentwickelt wurde. Irgendein Arsch hat also einfach eine Zeitschaltuhr in seine Software gebaut, die dann Updates verlangte, wo es gar keine gab. Nach herzlichen Glückwunsch.)
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Schrompf
Moderator
Beiträge: 4924
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Erfahrungen mit Spine - 2D-Animation?

Beitrag von Schrompf »

Mich interessiert ganz konkret, wie Du die Anims in Deine Engine gekriegt hast. Du exportierst im Blender anscheinend nach gltf. Und dafür hast Du dann einen Loader in der Engine? Oder kompilierst Du die Daten in irgendnem Prebuild Step in C-Arrays?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2452
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Erfahrungen mit Spine - 2D-Animation?

Beitrag von Jonathan »

Die Engine von Harald ist die selbe wie beim Landvogt und dem Zombie-Shooter. Dort hatte ich auch damals anlässlich einer Aktion die Animationen eingebaut:

viewtopic.php?p=67699#p67699

Die gltf-Datei wird per Assimp importiert (hatte ja damals auch lange überlegt, welches Format wohl am besten sei viewtopic.php?p=61112#p61112 - der gltf Exporter von Blender ist zwischenzeitlich sogar besser geworden, so dass es jetzt insgesamt sogar eher besser funktioniert als damals noch), ab dann übernimmt mein Framework. Ich hatte damals ja Animations-Nodes eingebaut, die in Harald nicht so intensiv genutzt werden, aber zumindest ermöglichen, Animationen sehr sauber überzublenden.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten