Voll auf die Klötze

Stellt euch vor: Eine Burg aus Holzklötzchen. Ein Schreibtischventilator. Und zwei Studierende, die ein Semester damit verbracht haben, eine 3D-Animation zu bauen, in der genau das passiert, die Burg fliegt auf. Klingt simpel. War es nicht.

Das Projekt heißt "Voll auf die Klötze", entstand 2017 im Rahmen eines Uni-Kurses, und war zu zweit, ein Kommilitone und ich. Die Aufgabe: Eine realistische Windsimulation in 3D. Das Ergebnis: Eine Animation, jede Menge graue Haare, und eine tiefe, innige Abneigung gegen eine bestimmte Software. Aber dazu gleich mehr.

Voll auf die Klötze - Gesamter Raum mit Burg und Ventilator

Die Idee

Das Konzept war eigentlich charmant: Eine kleine Klötzchenburg steht auf einem Tisch. Ein Ventilator dreht auf. Die Burg fällt. Fertig. Die Herausforderung lag darin, das physikalisch halbwegs glaubwürdig aussehen zu lassen, also keine Klötze, die einfach wegpoppen, sondern echte Simulation: Gewicht, Schwung, Dominoeffekt.

Dafür haben wir Bullet Physics verwendet, eine Physik-Engine, die in vielen 3D-Programmen steckt. Die Klötze selbst haben wir alle selbst modelliert, die restlichen Raum-Assets waren eine Mischung aus Modellen aus früheren Semestern und fertigen Modellen von Blendswap. Das Programm, das wir dafür nutzen mussten, war vom Kurs vorgegeben: Autodesk Maya.

Maya und wir: Eine komplizierte Beziehung

Sagen wir es so: Maya und wir sind keine Freunde geworden.

Das fing schon bei der Stabilität an. Maya ist berühmt dafür, gerne abzustürzen, und bei uns hat es das mit Hingabe getan. Unser Projektordner war am Ende ein Friedhof aus Dateien: projekt_final, projekt_final2, projekt_final_JETZT_ABER, projekt_final_bitte, und so weiter. Irgendwann hört man auf zu zählen.

Aber die eigentlichen Probleme lagen tiefer.

Voll auf die Klötze - Die Burg fällt

Die Physik macht, was sie will

Problem Nummer eins: Die Burg ist einfach so umgefallen. Ohne Wind. Ohne Ventilator. Einfach, plop. Mitten in der Simulation, grundlos. Die Lösung war ein ziemlicher Hack: Wir haben die Physik erst kurz bevor der Ventilator anfängt aktiviert, damit Maya keine Zeit hat, sich selbst zu sabotieren. Elegant ist anders, aber es hat funktioniert.

Problem Nummer zwei: Kollisionsformen. Damit die Physik-Engine weiß, wie ein Objekt mit anderen kollidiert, braucht jeder Klotz eine sogenannte Collision Shape, quasi eine unsichtbare Hülle, die bestimmt, wie er aufprallt und rollt. Maya bietet da verschiedene Optionen an: Kugel, Kapsel, genaue Mesh-Form, klingt praktisch. Ist es aber nicht, denn alles außer dem simplen Box Collider hat in Maya einfach... den Boden vergessen. Die Klötze sind schlicht durchgefallen. Durch den Boden. Weg. Also haben wir allen Klötzchen, egal ob quadratisch, rechteckig oder irgendwie schräg, denselben schnöden Box Collider verpasst. Nicht weil wir es so wollten, sondern weil Maya uns keine Wahl gelassen hat.

In Blender hätten wir das übrigens anders lösen können. Da war die Physik-Simulation so stabil, dass wir auch für unregelmäßige Formen akkuratere Collision Shapes hätten nehmen können, und die Klötze wären noch realistischer gefallen. Das Verrückte daran: Beide Programme verwenden unter der Haube dasselbe Physics-System. Bullet Physics. Gleiche Engine, völlig anderes Ergebnis. Was Maya da falsch gemacht hat? Keine Ahnung. Aber es passt ins Bild.

Voll auf die Klötze - Ansicht von unten, Spielzeugauto im Vordergrund

Der Render-Albtraum

Das zweite große Problem war gemeiner: Maya hat uns angelogen. Im Editor sah alles perfekt aus. Die Burg stand, der Wind wehte, die Klötzchen flogen, herrlich. Also haben wir kurz vor der Abgabe den Render angestoßen, über das Wochenende, auf den Uni-Rechnern im Labor. Mehrere Rechner parallel, zwei Tage lang. Wir kamen Montag wieder, voller Vorfreude auf das fertige Ergebnis. Und? Keine Physik. Die Burg stand wie angenagelt, kein Wackeln, kein Fallen, nichts. Maya hatte die gesamte Physik-Simulation beim Rendern schlicht vergessen, und eine ganze Uni-Rechnerflotte hatte zwei Tage lang brav eine statische Klötzchenburg gerendert.

Voll auf die Klötze - Letztes Bild der Animation, ohne Physiksimulation

Letztes Bild der Renders mit fehlender Physiksimulation

Die Lösung kam von einem der Tutoren, und die war so pragmatisch wie bezeichnend: Er hat die Physik-Simulation kurzerhand für jeden einzelnen Klotz in Keyframes umgewandelt. Kein echtes Physiksystem mehr, sondern schlicht aufgezeichnete Bewegungen, Objekt für Objekt. Streng genommen am Thema des Kurses vorbei, aber es hat funktioniert, der Render lief durch, und zur Abgabe war es akzeptabel. Schließlich hatte der Tutor das Problem selbst gesehen und den Workaround selbst eingefädelt. Was das über Mayas Zuverlässigkeit aussagt, darf sich jeder selbst denken.

Voll auf die Klötze - Letztes Bild der Animation, mit Keyframe Physiksimulation

Letztes Bild der Renders mit "keyframed" Physiksimulation, an dem roten Dreieck hinten links erkennt man, den Box-Collider ganz gut, da die Spitze zur Seite ragt.

Blender: Ein Nachmittag reicht

Irgendwann haben wir die Szene zum Debuggen in Blender nachgebaut. Einen Nachmittag hat das gedauert. Einen. Die Physik hat funktioniert. Der Render hat funktioniert. Blender hat die Simulation nicht vergessen, die Klötze sind nicht durch den Boden gefallen, und das Programm ist kein einziges Mal abgestürzt.

Unser Professor war übrigens kein Fan von Blender, er war regelrecht auf Kriegsfuß mit dem Programm. Wir haben trotzdem insgeheim gewusst, dass wir im falschen Lager waren.

Ach ja: Der Preis

Ach ja, fast vergessen: Das alles hat mit einer Software stattgefunden, die aktuell rund 235 US-Dollar im Monat kostet. Pro Lizenz. Blender kostet übrigens nichts. Null Euro. Gratis. Für immer. Und hat uns an einem einzigen Nachmittag mehr gezeigt als Maya in einem ganzen Semester. Ich sage nur.

Voll auf die Klötze - Maya Projekt-Sicherheitskopien

Und wisst ihr, was das Irre daran ist? Ich hab alle Rohdaten noch. Alle Maya-Projektdateien, ordentlich gesichert, inklusive gefühlt tausend Versionen von projekt_final bis projekt_final47. Und ich kann keine einzige davon öffnen. Ohne 30-tägige Testversion oder eine Lizenz, die mehr kostet als manches Gebrauchtwagenangebot, komm ich da nicht ran. Der Kurs hat uns also nicht nur gezwungen, ein halbes Semester mit einer wackeligen, absturzfreudigen Software zu kämpfen, er hat uns auch in ein Dateiformat eingesperrt, das ohne Jahresgehalt-Abo praktisch unbrauchbar ist. Toller Service.

Maya bietet zwar eine Linux Version an, aber die zu installieren ist ein kompliziertes Unterfangen und funktioniert nur mit vielen Workarounds sogar auf Rocky Linux 8 oder 9, welches offizielle unterstütz wird ... es wird einfach nicht besser. Sogar das Windows Installationsprogramm erfordert irgendwelche extra DLLs die in einem Standard Windows nicht installiert sind, der Installer ...

Das Ergebnis

Hat's am Ende geklappt? Ja. Sieht's gut aus? Findet selbst heraus, das fertige Video gibt's direkt hier unten. Wir sind trotzdem stolz drauf, auch wenn der Weg dorthin aussah wie die Projektdatei-Liste: chaotisch, lang, und mit zu vielen Finals.