Blender FBX Export Transform Issues

There are 2 issues I know of when exporting an FBX from Blender and importing it in Unreal:

  1. Stuff is usually rotated by [FONT=Comic Sans MS]90°on the [FONT=Comic Sans MS]Z axis. This causes the user to rotate meshes by [FONT=Comic Sans MS]-90° on the [FONT=Comic Sans MS]Z axis in the Engine.
  2. When exporting a skeletal mesh (Armature + Mesh), the Physics Asset will have a too small scale of the bodies, [FONT=Comic Sans MS]0.01. This causes the bodies to not scale down enough and scale in too big steps. A Physics Asset can also throw an error that bones are too small.

[HR][/HR]
Blender FBX Export Transform Panel:
BlenderFBXExportTransformOptions.PNG[HR][/HR]
Blender Units Panel:
BlenderUnitOptions.PNG[HR][/HR]
Issue 1 Workaround:
The issue is addressed here: https://answers.unrealengine.com/que…0-degrees.html
The first workaround is setting an import rotation in the Editor of [FONT=Comic Sans MS]-90° on the [FONT=Comic Sans MS]Z axis.
It does work, for post import fixing you can do a bulk edit, set the rotation and then hit reimport.

The second workaround is setting the export forward axis in Blender to [FONT=Comic Sans MS]X+ from [FONT=Comic Sans MS]Y-.
This sadly has no effect on the imported FBX in Unreal, it would be the better solution. [HR][/HR]
Issue 2 Workaround:
There are numerous described fixes including the units scale and import scale, I tried them and had no success.
The unit scale in Blender and also the length unit seems to have no effect on the exported FBX also not when
setting Apply Scalings in the export transform options to FBX Units Scale (or other), the only thing that this does is scaling the object
by [FONT=Comic Sans MS]0.01 no matter what the unit scale is.

The workaround that I used was scaling the armature and mesh in Blender by [FONT=Comic Sans MS]100, apply the scale and in the export options
set the Scale to [FONT=Comic Sans MS]0.01.
It will fix the scale of the bodies of the physics asset though it does impact the modelling quite a bit.
This should be done before animating, else any location keyframes will have to be scaled by [FONT=Comic Sans MS]100, this means either going to each keyframe in each animation
and multiplying each axis value by [FONT=Comic Sans MS]100 or writing a script which does it. [HR][/HR]
Cheers

1 Like

Thanks, it did the trick. Works in UE5 too.

1 Like

Glad to know.