Blenderforum
FBX mit Animation Importieren und wieder Exportieren - Druckversion

+- Blenderforum (https://blender-forum.de/forum)
+-- Forum: Blender Hilfe (https://blender-forum.de/forum/forumdisplay.php?fid=4)
+--- Forum: Tutorials (https://blender-forum.de/forum/forumdisplay.php?fid=6)
+--- Thema: FBX mit Animation Importieren und wieder Exportieren (/showthread.php?tid=1026)



FBX mit Animation Importieren und wieder Exportieren - Malthea - 21.07.2025

Hallo,

es gibt etliche Probleme, die auftreten können, wenn man nicht selbst erstellte FBXe mit Armaturen und Animationen in Blender importieren, bearbeiten und wieder zur Verwendung in z.B. Gameengines exportieren möchte. 

Hier einige mögliche - sicherlich nicht vollständige - Vorgehensweisen:

Vorbereitung:

Ältere Blenderversionen können eventuell keine FBXe importieren und eventuell nur im ASCII-Format exportieren, was vermieden werden sollte.

Die Units (Properties -> Scene -> Units) sollten am Besten auf Metric - Scale 1 (1m) bzw Scale 0.01 (1cm) gestellt sein. Die weiter unten im Beispiel angegebenen Scales beziehen sich auf Unit-Scale 1 - müssen also umgerechnet werden, wenn man andere Einstellungen nutzt.

Die aktuelle FBX-Version ist 7.4, der Import in Blender ist ab Version 7.1 möglich. Bei älteren FBX-Versionen (Versionsnummern kann man z.B. mit dem kostenfreien Autodesk FBX Converter herausfinden) und bei Problemen, die sich nicht mit den weiter unten angegeben Lösungswegen beheben lassen, lohnt es sich, ein FBX mit einer älteren Version durch den oben genannten Converter auf die bzw eine aktuelle(re) Version zu bringen. 


Import:

Die durch einen fehlerhaften Import entstehenden Probleme können später - wenn überhaupt - nur aufwändig korrigiert werden. Es kann auch passieren, das im Blender alles zufriedenstellend funktioniert, aber ein Export nicht möglich oder das FBX in der Zielanwendung nicht wie gewünscht funktioniert.

Wichtigstes Ziel: alle Scales der importierten Armarture auf 1 bringen und eine plausible Armature erhalten.

Wenn nicht bekannt ist, unter welchen Bedingungen ein FBX entstanden ist, bleibt einem nichts anderes übrig, als ausprobieren.

Am Einfachsten ist es, zuerst die Standardeinstellungen des Blender FBX-Importers zu nutzen.

WICHTIG: Niemals beim Import ein Häkchen bei Transform -> Apply Transform!

Im unteren Beispiel kann man erkennen, dass der Scale der Armature nicht auf 1 steht (sie wurde im Beispiel mit Unit = Inches modelliert) und dass die Ausrichtung der Bones an die Stacheln eines Igels erinnern -> Modellierung mit x - Achse für den Primary Bone. (Die Achse, an der der Primary Bone ausgerichtet ist, legt die Richtung fest, in die der Bone zeigt - in Blender immer die y-Achse). 

   

Beides ist in diesem Fall ziemlich einfach zu beheben: im Importer bei Scale 39,37 (Umrechnung Inch in Meter) einfügen (ein Scale von 0.01 bedeutet eine Modellierung in cm-Unit -> 100 als Importscale) und unter Armature bei Automatic Bone Orientation ein Häkchen setzen.

   

   

Bei einem anderen Scale nach dem Import nimmt man den Kehrwert des angezeigten Armature-Scales für die Importeinstellung, um die Scales der Armature beim erneuten Import im Blender auf 1 zu bringen. Wenn die Automatic Bone Orientation nicht funktioniert, kann man im Importer unter Armature unterschiedliche Primary / Secundary Bone Kombinationen ausprobieren.

WICHTIG: Niemals die Armature durch Object -> Apply Scale auf einen Scale = 1 bringen! Das korrumpiert die Animation - und auch, wenn es im Blender noch gut aussehen sollte, es führt spätestens in der Zielanwendung zu Problemen.


Vorbereitung im Object-Mode:

Armature: Rotation gegebenenfalls durch Object -> Apply Rotation auf 0 bringen

Wenn beim Abspielen der Animation das Mesh unerwünscht verformt wird und/oder die Position sich unerwartet ändert, sollte man die Rotation und Skalierung des Meshes überprüfen. Dazu muss die Verbindung zwischen Armature und Mesh gelöst werden (bei einem Armature Modifier im Mesh diesen löschen und im Object Menue bei ausgewähltem Mesh Clear Parent anwenden).

Mesh: Scale ggf. durch Object -> Apply Scale auf 1 bringen, entsprechendes für die Rotation (Apply Rotation).
Nach dem erneuten Verbinden von Armature und Mesh durch Parenten und dem Armature Modifier sollte die Animation ohne Verformungen ablaufen.

Wenn sich bei unsauberer Erstellung der Animation der Origin der Armature und der des Meshes nicht an der gleichen Position befinden (am Besten im Ursprung bei 0,0,0), wird es problematisch, wenn man das ändern möchte oder muss, da sich in der vorhandenen Animation alle Positionen im globalen Raum ändern und diese nicht durch die Änderung der Startposition angepasst werden. Im Beispielscreen unten befindet sich der Origin des Meshes im Ursprung, der der Armature nicht.

   

Einfache Änderungen der Position (zum Beispiel, wenn man zwei Animationen des gleichen Rigs mit unterschiedlichen Positionen in der Zielanwendung an der gleichen Stelle beginnen lassen möchte) kann man im Graph Editor anpassen, wenn es einen Root-Bone gibt, der für die Positionierung des animierten Meshes im Raum zuständig ist. Man selektiert alle Keyframes für die X-Location des Root-Bones und verschiebt diese, bis der gewünschte Versatz erreicht ist. Das gleiche dann ggf. für den Versatz auf y- bzw z. 

   

Jetzt kann man die Animationen ändern oder neue erstellen oder was man sonst so vor hat.


Export:

Wenn man Texturen einfügen möchte, muss der Path Mode auf Copy gestellt und rechts Embed Textures aktiviert werden.

Unter Transform -> Scale wird beim Export in die Anwendung, für die das importierte FBX erstellt wurde, der Kehrwert des Importscales genommen - hier 0.0254 -, damit es zu dem Unit-Raum der Zielanwendung passt. Beim Export für andere Anwendungen nimmt man als Scale für metrische Units im Zweifelsfall 0.01 (1cm) oder - wenn bekannt - den Scale für die Units der Zielanwendung.

Aus dem Autodesk FBX-Forum:
Actually, the FBX file is "unitless" but the default behavior is to assume that it represent centimeters. However, the interpretation really depend on the application that read the file.

Die restlichen Einstellungen unter Transform hängen von dem FBX-Importer der Zielanwendung ab - hier wird man nicht ums Ausprobieren herumkommen, wenn diese "Zieleinstellungen" unbekannt sind. Apply Scalings auf FBX All sowie keine gesetzten Häkchen liefern oft gute Ergebnisse. Forward sowie Up lassen sich leicht in der Anwendung zu überprüfen. Manchmal führt auch ein Häkchen bei Apply Transform zu einem guten Ergebnis.

Unter Geometry normalerweise kein Häkchen - bei Bedarf eines bei Apply Modifiers

Unter Armature wird der Primary Bone für das Beispiel weiter oben wieder auf die x-Achse (siehe zweiten Screen - linker Teil) gesetzt. Ansonsten: verschiedene Primary - Secundary Bone Kombinationen ausprobieren. Armature FBXNode Type Null steht für ein Empty, manche Anwendungen erwarten an dieser Stelle Root. Bei nicht Type Null kann es zu Fehlern beim Wiederimport in Blender kommen. Wenn man nur deformierende Bones exportieren möchte: ein Häkchen bei Only Deform Bones.

Unter Bake Animations ist normalerweise ein Häkchen bei All Actions ausreichend, allerdings erwarten manche Zielanwendungen einen Keyframe am Anfang und am Ende der Animation - falls keine vorhanden sind: dort ein Häkchen.

   

Zu Berücksichtigen ist auch: Im Normallfall werden alle vorhandenen Actions mit exportiert - auch die, die nicht mit der aktiven Armature verbunden sind - die nicht benötigten also komplett löschen.