Fbx/skeletal front face x axis mesh import issues with Interchange fbx importer

Hello,

This is a continuation of the previous threads:

  • [Content removed]
  • [Content removed]

Unfortunately, we are still unable to use the new Interchange FBX importer together with our Havok Cloth workflow. I noticed that several issues have been fixed recently, and I finally had time to revisit this. Most things seem to work now, but the Front Facing X-Axis option still causes problems. Many of our clients use this option with Maya, so we need to support it.

We have two issues to report:

1. Front Facing X-Axis and Bind Pose Failures

When using this option, the character orientation is incorrect. The repro asset is BoxCharacter_FailedBindPose.fbx.

Please import it using the Interchange FBX importer with Front Facing X-Axis enabled. The expected result should look like the first image (I’ve also included comparison images for other settings/importer combinations).

[Image Removed]

In the failure case, we get this warning during import:

Imported skeletal mesh has some invalid bind poses. Skeletal mesh skinning has been rebound using the time zero pose.

I believe the incorrect orientation is related to this warning. It falls back to the time-zero pose, which might be connected to this issue:

Unreal Engine Issues and Bug Tracker (UE\-229748)

Even if that issue isn’t fixed yet, we’d like to understand what triggers the warning above. In Maya, a bind pose is set, and for some assets, it works fine—but for others, it doesn’t. Reducing the number of bones drastically seems to eliminate the warning and fix the orientation.

When importing with the legacy importer, everything looks correct.

We’d like to figure out:

  • What exactly causes the bind pose warning for this asset?
  • Is the warning responsible for the incorrect orientation?
  • How can we fix the warning (and the orientation)? What needs to be considered in Maya to ensure this works? I haven’t found a pattern yet—some assets import correctly, others don’t, and I can’t see any obvious differences in Maya.

2. Front Facing X-Axis and Flipped Bone Orientation During Animation

This issue requires a more complex setup with two skeletal meshes sharing the same skeleton:

Steps to reproduce:

  • You have a character with a skeleton.
  • You have a prop (e.g., a cape) that uses the same skeleton in the DCC and is exported with it.
  • Import the character and then the prop using Front Facing X-Axis as two separate skeletal meshes. Make the prop reuse the same skeleton as the character during import.
  • Drag & drop the prop into the scene.
  • Attach a static mesh item to any bone the character was originally skinned to (e.g., the root bone).
  • Create an animation for the skeleton (no keyframes needed).
  • Assign any animation to the prop in the scene → The prop attached to bones will now appear flipped.

This does not happen when Front Facing X-Axis is not used.

Although the indicator is just a static mesh attached to a bone, I can confirm flipped bone transforms in the Havok Cloth code, which causes severe artifacts in cloth simulation.

I’ve recorded a video showing the repro steps. The two files used are attached: BoxCharacter.fbx and BoxCharacter_Cape.fbx.

I think this issue is very similar to the already fixed Unreal Engine Issues and Bug Tracker (UE\-239143), but this time it only occurs in this particular setup with a shared skeleton and an animation set.

Thanks a lot,

Pascal

Looks like the the reference to the fbx files got lost when I posted the previous message. Re-attaching them in one zip file.

Hi Pascal,

Thanks for the detailed report and the sample files illustrating your two issues.

I tried to reproduce your two scenarios and issue #1 has been fixed in the upcoming 5.7 release.

But, issue #2 is still there. I am not an expert in skeletal animation but, like you, I think that the additional rotation (90, 0, -90) we put on the skeleton’s root when ‘Front Facing X-Axis’ is enabled does not help. The bug you mentioned is not completely fixed. I opened another bug for this specific scenario, UE-348986. Note that it may take a couple of days before the link is operational.

Thanks for your patience.

Regards,

Jean-Luc

Hello Jean-Luc,

Thanks a lot for checking it.

> I tried to reproduce your two scenarios and issue #1 has been fixed in the upcoming 5.7 release.

Just to make sure I understand correctly:

You have tested importing the fbx in 5.6 and 5.7 and you can confirm that it does not work in 5.6, but works in 5.7?

If yes, that’s great! Any idea what the id of the bug report (or changelist or commit id) that fixed the issue?

Thanks for logging #2!

Cheers,

Pascal

Hello Pascal,

Yes, I loaded the file in 5.6, observed the issue, then in 5.7 where it was not happening anymore. Note that we did fix a couple of issues with the ‘Front Facing X-Axis’ option. Yours has surely been part of it.

The issue #2 may require some time. Thanks in advance for your patience.

Regards,

Jean-Luc

Thanks a lot for your reply. I see.

In the meantime I have also tested with 5.7 and I can confirm that issue #1 is fixed.

I think we can close this thread.

Thanks again,

Pascal

Hi Pascal,

After further investigations, issue #2 seems to be a bug that the animation team should take care of.

Indeed, setting the console variable, ‘a.ForceEvalRawData’, to 1 solves the issue.

You can already see that there is an issue with the animation before attaching any prop.

Below is the cape with a.ForceEvalRawData set to 0 (which is the default), the cape is torn

[Image Removed]With a.ForceEvalRawData set to 1. As you can see the cape is back to normal.

[Image Removed]I will forward the issue and bug to the animation team so they can have a look into it.

Let me know how it works for you.

Regards,

Jean-Luc

Hello Jean-Luc,

Thank you for your reply. I can confirm that the console variable resolves the bad skinning on the cape mesh.

I also tested this console variable with our Havok Cloth integration and the affected asset. Unfortunately, it didn’t resolve the incorrect bone rotation issues.

However, I found a solution for this case:

- Use Unreal Engine 5.7

- Import the base mesh and skeleton with “Use T0 as Base Pose” disabled

- Import the cape mesh (sharing the same skeleton) with “Use T0 as Base Pose” enabled

With these settings, the bone orientations are correct when playing animations. Let me know if you have any thoughts on this.

Additionally, I noticed that I can no longer reproduce the repro case for issue #2 in 5.7 (the one where the prop static mesh flips when attached to a bone).

Cheers,

Pascal

Hi Pascal,

Sorry again for the late reply.

Happy to hear that 5.7 resolved your issues.

I am not expert enough in skeletal mesh/skeleton to have any particular feedback on the use of “Use T0 as Base Pose”. It makes some sense to me although I would think that it should be enabling on the first import and disabling on the second import :blush: But, I’ll ask to experts and come back to you.

Regards,

Jean-Luc

Hello Jean-Luc,

The system told me that the thread will close soon, because of inactivity. To prevent this I am posting about a slightly related topic:

When I tested the issue above last time for UE 5.7, it was still a pre-release state of 5.7.

In the meantime the official 5.7 version has been released. However, suddenly the fbx importer runs into assertions for some of our assets.

The output is:

Error: Ensure condition failed: NewMatrix.Equals(ExistingMatrix, (1.e-4f))  [Engine\Plugins\Interchange\Runtime\Source\Parsers\Fbx\Private\FbxMesh.cpp] [Line: 2331] 
LogOutputDevice: Error: Expected to have same joint node in different clusters to have same Bind Pose matrix!

Unfortunately, that makes our CI fail. Any idea what that is and how to resolve it?

We have also identified this recent commit:

https://github.com/EpicGames/UnrealEngine/commit/0932ab2dbf115138b81e99dbece2e94dc2e8c061

[Interchange][FBX] ufbx fixes
 
- skeletal mesh animation/poses correct in more situations
- ufbx option is again diplayed, as experimental, off by default, with fixed working
- fixed crashes with some skeletal meshes(in FBX also)
 
#jira UE-347814 UE-347817

Could be red herring, but this commit came in between the pre-5.7 release state (where the import worked fine) and the final 5.7 release (where we see the assertion).

Do you have any quick thoughts about that?

If not, I can probably also create a separate thread for it.

Cheers,

Pascal

Hi Pascal,

This code should have been removed before submission. A oversight from me during the code review.

If you can use a locally compiled version of the engine, you can safely remove the code added to FbxMesh.cpp. We will remove it in the next release. Sorry for the inconvenience.

Regards,

Jean-Luc

Hello Jean-Luc,

Don’t worry! Thanks a lot for confirming!

Is there a bug/jira id for this for our reference?

Thanks a lot,

Pascal

Hi Pascal,

Sorry for the late answer.

There was a jira/bug associated with it but it was not made public. My apologies.

Because the fix did not meet our hotfix criteria, it did not go into the next hotfix for 5.7. I went in our main branch.

Commit: https://github.com/EpicGames/UnrealEngine/commit/ea62dbb697452554285d6713442ce14736467784

Regards,

Jean-Luc