Unreal Engine 5 und Blender 3 Erfahrungen

Bei meinen Versuchen mit der Unreal Engine (UE) bin ich auf Punkte gestossen, die Blender oder ein anderes Tool der Wahl notwendig machen. Speziell der Entwurf von animierten Objekten.

Wobei ich nicht den Standard mit zweifüssigen oder vierfüssigen Skeletons meine, hier gibt es eine grosse Auswahl an brauchbaren, vorgefertigten Lösungen.

Ich stiess darauf, als ich ein Buch samt Seiten in UE realisieren wollte. Als Menü eines Spieles. Buchseiten, die umgeblättert werden können, die Frames mit unterschiedlichem Content und Animationen enthalten können, die strukturiert aufgebaut und weiter entwickelt werden können.

Es gibt zuhauf Beispiele und Video-Tutorials für Lösungsansätze. Und ich habe viel von diesen Beispielen gelernt.

Meine Probleme fingen erst an, als ich von Blender zu UE exportieren wollte.

Nein, vorher, als ich gemerkt habe, dass gewisse Sachen in UE kompliziert oder gar nicht machbar sind.

Also habe ich ein bisschen Blender gelernt, schönes Community-Projekt, kann man mal sehen, was Zusammenarbeit bewirken könnte, und gemerkt, ja schön, funktioniert in Blender, aber nicht in UE.

Aktuell arbeite ich mit Blender 3.1.2 und Unreal Engine 5.0.0.

Disclaimer am Rande, ich bin weder Profi in UE noch Blender, noch dem ganzen dahinterliegenden Bereich der Spieleentwicklung und Animation. Ich versuche gerade, die Systeme und die dahinterlîegenden Konzepte zu verstehen und im Sinne der Entwicklung annähernd optimal umzusetzen. Meine Erkenntnisse unterliegen sowohl der Halbwertszeit der aktuellen Entwicklungen und Updates, wie auch der Unkenntnis (no more Moore, too much law).

Als Autodidakt ist man gezwungen, das Rad neu zu erfinden, um das Rad zu verstehen.

Ausgangsbasis für das Teilproblem

  • Eine Buchseite mit Vorderseite, Hinterseite und Seitenansicht der Seite
  • Ein Stapel von Buchseiten, mit den Eigenschaften von Buchseite
  • Buchseiten können umgeblättert werden, sowohl von oben (Knick der oberen Seite die mehr angehoben wird), wie auch von unten (vice versa).
  • Buchseiten Eigenschaften:
    • Vorder- und Rückseite mit jeweils benutzerdefiniertem Material
    • Kanten oben, links, rechts, unten mit jeweils benutzerdefiniertem Material
    • Seite kann als Seite oder als Stapel von Seiten (Z-Scale) verwendet werden
    • Skeleton ist mit UE kompatibel und kann produtiv verwendet werden
    • Import in UE entspricht den Designerwartungen in Blender

Export Blender / Import Unreal Engine

Test-Setting:

  • Einfacher Default-Cube in Blender
  • Jede Cube-Seite hat ein anderes, kontrastreiches (Farbe) Material zugewiesen (keine Experimente mit dem Material, nur einfach leicht erkennbare Farbwerte)
  • Erwartungshaltung
    • Die Darstellung von den verschiedenen Views (Front, Top …) unterscheidet sich nicht zwischen Blender und UE

Aktuell verifizierte Ergebnisse für Einstellungen Import/Export

  • Blender Output Properties
    • Framerate: 30 fps
  • Blender Scene Properties
    • Unit Scale: 0.01
      • Wenn man Objekte im Blenderstandard erstellt und UE im Kopf hat, empfiehlt es sich, eine GROSSE Grösse zu wählen (Faktor 100). Wenn Blender dir anzeigt, 0.1 Meter, sind das 10 Meter in UE. Das ist etwas störend, weil man immer gezwungen ist, relativ zu übersetzen.
      • Damit Blender sich nicht in den Nachkommastellen verirrt, sollten die Objekte in Blender um den Faktor 100 grösser sein als real in UE. Beispiel, Objekt soll 1m lang sein in UE. In Blender muss das Objekt auf Scale 1 dann 100 Meter lang sein.
      • Die Übersetzung entspricht nicht den intuitiven Erwartungen eines einfachen Geistes, wie mir. Bei einem Scale von 0.01 hat mein Objekt in Blender eine Grösse von 0.1 Metern. Importiert in UE hat es eine Grösse von 10 Metern. Natürlich ist das dieses Verhältnis 1:100. Aber meine Erwartungshaltung wäre gewesen, ich definiere das Übersetzungsverhältnis und ich bekomme die gleichen Werte für eine Länge in Blender wie auch in UE.
        • Das impliziert ein Nachkommaproblem. Wenn mein Objekt in Blender sehr klein ist und die Werte um den Faktor 100 verringert werden, muss sichergestellt sein, dass mein System die erforderlichen Nachkommastellen behandeln kann. Wäre ja blöd wenn 0.000099999 zu 0 wird.
  • Blender FBX Export Settings
    • Limit to: Selected Objects
      • Es scheint sinnvoll, diese Option zu aktivieren und vorher die Objekte für den Export zu selektieren.
        • Scheint aber mit Armatures/Skeletons nicht immer wie erwartet zu funktionieren (ist wahrscheinlich das Problem, das vor dem Computer sitzt, also ich).
    • Object Types:
      • Nur das auswählen, was in UE importiert werden soll, macht Sinn. Ich vermisse allerdings die Option Animation. Soweit ich es verstanden habe, wird mit Armature gleichzeitig auch die Animation exportiert.
    • Transform:
      • -Y Forward, Z up – wenn man möchte, dass das Objekt aus der gleichen Perspektive in UE betrachtet wird, wie es in Blender dargestellt ist. Ansonsten die Defaults belassen (ändert natürlich die Achsen, aber solange dies nicht relevant ist, kann man das ignorieren. Das ist natürlich ein Sonderfall, wie eine statische Sphäre mit gleichmässiger Oberfläche).
      • Meine Empfehlung: Besser isses, denn … Hilft’s nix, schad’s nix.
    • Geometry:
      • Smoothing: Face – sonst reagiert UE Import mit Fehlermeldungen. Edge habe ich noch nicht probiert …
    • Armature:
      • Add leaf bones: Macht in den meisten Fällen Sinn. Insofern, das UE alles korrekt darstellt und übersetzt.
    • Bake Animations:
      • Keine empirischen Erfahrungen, ob Deaktivierungen Sinn machen, Defaults funktionieren, bzw. verursachen keine erkennbaren Probleme.
  • UE Import
    • For Mesh: Accept defaults

Ungelöste Probleme

  • Bendy Bones ist echt cool, leider haben mich die Ergebnisse in UE bis jetzt enttäuscht. Schätze ich habe die falsche Erwartungshaltung oder die falschen Parameter. Für UE, soweit ich aktuell weiss, funktionieren nur Bones keine Bendy Bones.
    • Im Moment experimentiere ich mit Bones, die von Bendy Bones kontrolliert werden. Da könnte der Armature/FBX Nodetype Root Parameter beim Export noch interessant werden. UE kann beim Import nicht gut mit mehreren Bones auf der obersten Ebene umgehen.
  • Physical Assets sollte man neu erstellen, da das erzeugte Asset nur ein „Blob“ ist, nicht wirklich hilfreich. Aber UE bietet die Möglichkeit aufgrund ALLER Bones, ein passendes Physical Asset zu erstellen und zu manipulieren.
  • Animationen (Bedienung) unterscheiden sich nicht besonders zwischen UE und Blender. Allerdings werden die Blender Modifier nicht immer akkurat nach UE übersetzt.
    • Meine Empfehlung:
      • Basis-Design (Bones, Meshes, UV’s, Material Slots …) in Blender.
      • Basis-Animationen in Blender erstellen und importieren.
      • Animationen und Refine in UE implementieren.
        • Es geht einfach zu viel Arbeit und Zeit mit den Versuchen verloren, Animationen zwischen Blender und UE sinnvoll zu synchronisieren. Was üblicherweise genau dann nicht gelingt, wenn man es bräuchte …
        • Um eine Armature zu testen ist allerdings Blender das bessere Tool. Insofern ist es durchaus sinnvoll Animationen in Blender anzulegen und durchzuspielen, und wenn der Import nach UE klappt, bestens!
          • Falls der Import nicht klappt, Plan B, Animation in UE erstellen anhand der Bones von Blender.
          • Physical Asset neu erstellen und optimieren

Blender Erfahrungen allgemein

Die Reihenfolge der Aktionen ist extrem wichtig. Wenn ich es in der richtigen Reihenfolge mache klappt alles, wenn nicht, dann halt eben nicht. Ist extrem frustierend am Anfang. Du vergleichst die Files und Inhalte. Settings sind alle identisch, aber das eine File kann gut exportiert/importiert werden, dass andere nicht. Und die Ursache ist nicht erkennbar. Zumindest für einen n00b wie mich.

Bone Roll sollte nicht ohne Not oder Kenntnis verändert werden. Recalculate ist nur bedingt hilfreich. Bei meinen Tests habe ich mal alle Bone Rolls auf 0° gesetzt. Das Ergebnis war „entzückend“. Nur nicht das erwartete Ergebnis.

To be (continued) or not to be (whatever) …