Download

Animation imported from blender via FBX is incorrect

First, apologies if this is the wrong sub-forum for this question. I wasn’t sure if the forum or the “AnswerHub” was the right place to post this. I am importing a very simple animation I made in Blender into Unreal Engine, and I *think *I might be encountering some kind of bug in Unreal’s FBX import but wanted to get second opinions.

To create the animation and export, I used Rigify and followed a tutorial on YouTube. Link in case anybody is interested. I made an animation with a few keyframes using Rigify’s IK controls and by posing the fingers with FK. The original skeleton is the UE4 mannequin, but I transformed the bones a bit and so it is effectively a new skeleton but with the UE4 mannequin mesh.

A quick GIF of what it should look like: expected - Album on Imgur

The gif quality is terrible, but you get the idea of what is supposed to happen. The arms go up and down a bit, and the fingers remain in fixed poses relative to the hands. Pretty janky, but I have never done this before. It looks correct when exported to FBX and viewed in the following software:

  • Blender (export and reimport)
  • Unity 2020.3
  • The windows 3D viewer tool
  • EDIT: For good measure I tried it in Maya, and it imports correctly in that too.

The FBX export settings are:

  • Bake animations
  • Include only the current action
  • Export the skeleton and mesh as well
  • No leaf bones
  • Only deform bones

These are the recommended settings I could find in various YouTube tutorials about doing the Blender -> Unreal workflow. I am now trying to import this to Unreal 4.26.1 and the animation looks like the following: actual - Album on Imgur

EDIT: Added a more zoomed in GIF to better demonstrate Imgur: The magic of the Internet

When importing, I import a skeleton as well (although the same issue happens if I import skeleton and animation separately). Note that the right-hand middle finger is also rotating (it’s a bit subtle at first, but it looks like both the last and second last bone in the chain are rotating). It is only this finger that does it, and no other software I’ve imported it into has this issue. I’m pretty sure this animation doesn’t exist in the blend file.

Is it possible this is an unreal engine issue? Is there some recommended option I might be missing?

Ok, I may have solved the issue shortly after posting this thread. I randomly checked a few “Import Settings” to see what would happen, and the checkbox “Preserve Local Transform” has (I think) fixed the issue.

For anybody else that stumbles on this thread in future, this is the option I’m talking about:

import.png

I don’t know yet why this fixes it or why other software seems to infer the correct poses w/o this being specified. If anybody has answers to that, I’d still be interested in learning more.

One last update for anybody that finds this via google and wants a better answer:

The issue with the finger was caused because my Rigify rig in Blender was causing non-uniform scaling of the bones, which I don’t think Unreal can properly handle in its transform code. Getting rid of the non-uniform scaling fixed this issue without the “Preserve Local Transform” option.