I have this character that I made in blender. In blender, I used unit scale 0.01 and have all scales applied: normal animations work perfectly. The mesh and non-root motion animations have no issues ingame.
For some reason, however, root motion is very broken. The movement of the root seems to be many times greater than what it should be. The actual displacement of the root looks fine when “Enable Root Motion“ is disabled. As soon as it is enabled, it becomes broken.
Below you can see the animation with the setting both enabled and disabled.
I don’t really know where to go from here. I’d be extremely thankful to anyone who can help with this.
Hello there @brunhildev!
Blender and Unreal don’t have the best relation, they tend to clash with each other in different scenarios, specially animations. I assume you have tested AutoRig already, but if not, please give it a shot.
So, the first approach here would be to reset export/import settings in both UE and Blender, in order to rule out any conflicts between either configuration. After that, test importing your meshes again.
If the issue persists, please test the method detailed here, it has worked for me in other similar scenarios.
Hi, thanks for your reply.
Unfortunately I don’t have access to AutoRig right now. I’ve also tried resetting all the import and export settings to no avail. I tried changing around armature names and root bone setups and that did not work either. I think my skeletal mesh is imported properly; there must be something wrong with how I’m exporting the animation itself, or how Unreal is interpreting it.
I found a solution, dropping it here in case anybody needs it.
The issue was that when I first imported the original skeleton (of the skeletal mesh asset, not the animation) my root was not centered properly. Now, I had fixed this in the FBX, but it wasn’t applying in UE. This is because the “Update skeleton reference pose” option for import settings is disabled by default. So every time I updated the skeleton, everything got updated, except the reference pose. I guess this messed with how the root motion was calculated. Checking the box for updating the reference pose and reimporting the skeletal mesh immediately fixed the issue.