Download

3dsmax FBX import problems

Hi,
I’m testing Unreal Engine and trying to import some of our characters made with 3dsmax in UE. The characters failed to import, so I started to deep dive into the problems and I created a very simple test made of few bones.

You can see the model here:

2903187056fbc1586558c662c48b2f327fb05071.jpeg

If I just export the 3 bones it works, if I add the green controller (which is just a circle, parented to the bone and then animated) it fails with the error

"Warning Imported bone transform is different from original. Please check Output Log to see detail of error. "

I tried different things but I’m not able to solve it. Are controllers not supported? Anyone facing similar issues?

The log file has a bunch of these messages:
LogFbx:Warning: IMPORT TRANSFORM ERROR : Bone (spine1:0)
Source Global Transform (-0.092016,0.000007,47.089264|0.000000,0.000000,0.000000|1.000000,1.000000,1.000000),
Converted Global Transform (0.035505,0.196169,-0.462486|0.000000,0.000000,-0.000000|1.000000,1.000000,1.000000)
LogFbx:Warning: IMPORT TRANSFORM ERROR : Bone (spine2:1)
Source Global Transform (-0.092010,0.000002,55.373505|0.000000,0.000000,0.000000|1.000000,1.000000,1.000000),
Converted Global Transform (0.035510,0.196164,7.821753|0.000000,0.000000,-0.000000|1.000000,1.000000,1.000000)

Spine1 is the first of the 3 bones above. The result in UE is that the mesh doesn’t animate. Without the controller it does animate, but I want to know if controllers can be supported.

Thanks.

If you’re doing a simple attachments then you need to make sure to check the button Import Rigid Animation when you import to UE4

Also note, you can’t use skinned meshes and attached meshes in the same skeletal mesh. And, for attached meshes you need to make sure that you have a single root object in the hierarchy.

Hi and thanks for the answer. What you mean by “simple attachment”? I use the “select and link” function in 3dsmax which makes the controller (green circle) the parent of the bone object.

In the FBX import options from UE4 there is no “Import Rigid Animation”, where is it?

About skinned meshes, I have one which is invisible in the pic above which is skinned to those 3 bones, the controller is not skinned.

About the single root node, in this case there is only one.

You should try never to have your controllers “linked” to your skeleton hierarchy. When you do this it then becomes part of your skeleton, which is something you don’t want. The way you deal with it is to use constraints. So for straight linking, in stead of doing a Select and Link, you would rather use a Link Constraint. This allows you to control the bone with another object, like your ring object, but it does not become a part of the bone hierarchy. So when you export, that ring will be left alone, it won’t come along, as long as you only select your mesh and your bones, and do an Export Selected.

Hi Obihb,
LinkConstraints are a good idea, I tested it but seems those are not supported by the FBX exporter. What I did I selected the spine1 bone, then Animation>Constraints>Link Constraint and selected the controller (green circle). When exporting without “bake animations” I get this message:

The plug-in has detected one or more animation controllers that cannot be directly supported. Using the Bake Animation option may better address these limitations. The following nodes are affected:
-spine1

And the resulting mesh in UE is not animated.

If I select “bake animations” in the export, it’s then exported with the same error, but in UE I see the animation properly. I’m not aware of what is the drawback of using “bake animations”, but I was trying to avoid it. What is your suggestion here?

You shouldn’t select the controller for export , that’s basically what you try to avoid. You only select the bones, and your skinned mesh.

As for baking animation, you actually do need to do that, because you don’t physically animate the bones, that’s how you get animation exported on them. There’s no “down side” to doing this, this is how you export animation. The only thing you need to keep an eye on is the Resample All. Usually I have that off, and it’s ok, but I have had cases where I need to enable that. The way you see whether to enable it is if the animation in UE4 is not accurate to what it was in Max. For example, in my case I had an idle animation, that would use IK to plant the foot, in UE4 the foot would shift around. So then I Resample All, to fix that. But it doesn’t happen in all cases. I’m not sure the reason, but it happens.