FBX import - wrong application of animations to bones?

Eeeek, sorry , missed your last question somehow.

So, yes, ‘show > Reference pose’ gives me same result as the bind pose (i.e. bones in there right place, not offset as with animation).

So, definitively looks like offset is ‘created’ by the animation, as if UE4 was using animation transforms as relative to bind (rest) pose…

Do you have a test asset I could try on my end in 4.7?

The files featured with org report (source .blend file and exported FBX one) are not enough?

Ah, it has been a long time I forgot about the files already attached! I’ll re-download those as soon as I am able and see what I can figure out on my end.

Any update on this?

Hi ,

Try the information listed here and see if you can apply it to your model:

It looks like the specific problems are related primarily to the 7.4 exporter, but the 6.1 ascii exporter is still working well as long as you are in 2.73 and not in 2.73a, which apparently is having additional trouble with exporting files. See if the fixes provided in the link help you!

Hi , you’re correct that using 6.1 ascii works, this is how some of us been exporting skeletal meshes for a while now to circumvent this problem.

Mont29 from Blender can correct me if I’m wrong, but I think this thread was actually created as a follow up to Blender’s 2.71 release to find out what needs to be done to make the 7.4 exporter work with Unreal (for the issue described in OP). So far it is not clear whether the fix (if any) needs to happen inside Blender or inside the Unreal importer so I believe the Blender dev needs to understand specifics of how Unreal’s importer treats the skeleton/pose/etc. I guess the number of comments and age of this thread have made it a bit confusing to track!

PS: Now that Unreal is free, Blender could be a natural choice for many new entrants so I think it would be wise to ensure the latest versions of Blender (and its latest FBX exporters) work well seamlessly with Unreal. Being stuck on 6.1 ascii prevents us from utilizing new features in the latest FBX exporters (which I presume(/hope!) Blender will continue to enhance)

Can you post the import settings you are using when you import from blender and to the editor? Perhaps we can see what is going on there? I have a few other questions from some of the developers here as well as we are discussing this internally:

  1. Are all exports being reset to the T0 pose and is the T0 pose being zeroed out?
  2. Are you exporting your animations with your skeletal mesh or are you creating two separate export files for them?

Hi , I’ll post the screenshots you asked for in a while, haven’t found any time away from project work TBH and I want to make sure I don’t send misleading data in a hurry to respond. (anyone who already has a proper setup to show feel free to pitch in with your import settings).

A quick stab at your two questions - 1) I usually import using ‘use t0 as reference pose’, any bones that are offset from its parent end up getting collapsed (as shown in OP). 2) I export animations with the skeletal mesh

While I get back to you I’ve one question - were you able to successfully import the blend files shared by Mont29 into Unreal with the import settings that you normally use/recommend?

From what I can tell it seems like using the methods I described work. I took a video of what I am seeing when I export from blender and into UE4 using the above methods. the only additional change I made was I returned the scrub bar in the animation to the start point. The video is below, my export information is on the left, the original fbx import is on the right:

Apologies, I forgot to post the export and import settings:

Make sure that when you export the blender animation, you set all of the scrub bars to the very beginning of the animation just to be safe. I don’t know if that made a difference, however anything that can help import this properly at this point is worth a try!

Thanks . I’ll try again and post back with import settings if I’m stuck.

Re: your video, which part of the Persona window should I be looking at to compare your import settings on the left and right parts of your screen? Also assuming this is FBX 7.4.

Ah - you’re using FBX 6.1 ASCII in the screenshot though. Was that intentional? FBX 6.1 indeed works for all usecases I’ve tried to date. It’s only 7.4 binary that causes issues.

That was the one difference I made, 7.4 on the vehicle. These images were taken from a different export project. I should have clarified that.

Hi,

Some guy found what seems to be a major cause of all those issues on T41719:

I can confirm one thing: the bones that are causing problems are the bones with rotation values at 0, but they are transformed by the animation of parent bones. Like Positivity found out in some other thread, applying any rotation (even the slightest one) directly to the corrupted bone, solves the problem.He tested out my .blend file, I did test it again afterwards, and it works. So the problem is somehow connected to the transformations of the bones that are having zero values in themselfs, but are animated due to the parent bones transforation.

Checked, and with file attached to this thread, indeed adding a slight rotation (like 0.1°) to CarBody bone in Blender before exporting does fix the issue when importing FBX in UE4. Hunted this down to the fact that it seems parent bone absolutely needs some animation (even dummy two-keys one), otherwise it’s like animated children would not consider their parent’s static transform at all.

I really do not know what can explain that behavior, it just does not makes sense to me - suspect it comes from FBXSDK itself though… :confused:

Anyway, I committed today a hack in our FBX exporter to try and work around that, and (by simply always writing some anim data for all bones of an armature, even when unneeded), it seems to do just fine (at least with the file attached to that report), so I think that report might be closed?

PS: forced updates of builds on our buidbot, 64-bits ones at least, so you should be able to test now.

Thanks mont29, I tested with build blender-2.74-770b109-win64 and the issue does seem to be resolved with this build.

As a side note, my testing was a bit imperfect as I’m facing a ton of unrelated import issues which are possibly down to my current import/export workflow. I need to rewatch Epic’s Blender-Unreal workflow Twitch streams and get my import process straightened out first to avoid muddying the waters with tangential issues.

I’ll fix my workflow, repeat my testing and post back to this thread. I do think the issue is fixed though based on what I saw in the build.

Edit 1: I cleaned up my workflow and repeated the testing to be sure - I can say with certainty, the fix indeed works!

Edit 2: The scale comes out 100 times bigger in latest version of FBX 7.4 though, is this an intentional change?

Hey , per the discussion with mont29 below it looks like the issue has been fixed in a recent Blender build.

I’ll post a confirmation by re-testing after fixing my current workflow per the Unreal-Blender workflow Twitch streams. I suspect my current workflow is creating tangential issues. Eg: as you pointed out earlier I’m importing the animations along with the mesh instead of doing it separately and I read that this causes some known issues during import.

Update: I changed my workflow to export animations separate from skeletal mesh and repeated my testing with a Blender preview build 2.74-770b109-win64 (which includes Mont29’s fix for bone offset). All my issues are now resolved!

Thanks a lot to both from Epic and mon29 from Blender for your attention on this issue! I’m happy I can finally use Blender FBX 7.4 to export my models :slight_smile: