Blender to UE4 Import Error: "Imported bone transform is different from original..."


I recently started encountering this issue when importing a skeletal mesh over from Blender 2.82 into Unreal Engine. I’ve tried the solution where you rename the armature to something else and it works, however, it adds an undesirable root bone that prevents me from properly using root motion. I left the name as armature and it does, in fact, import the skeletal mesh. The big issue is that the animations wind up being completely blank and scaling them up doesn’t fix this. Has anyone else been able to fix (if anyone else has encountered it, which I’m sure I’m not the only one) this issue? This has really been frustrating me, I’d appreciate any help I can get. :slight_smile:

1 Like

It seems that I accidentally clicked “other” in the export settings and that was what messed it up, but I still had to scale up the animations. Will scaling them up cause any problems, or is there a less “hacky” seeming way to do this?

1 Like

Can you give us the print out of the actual error in the output log?

also a step by step on your import pipeline would help understand what’s going on somewhat.

“Other” in the export is important if you are exporting things like LODs inside an empty.

Yes.
scaling up the animations is undesirable since it involves some computation and may provide an inaccurate final result.

If scale is the problem perhaps your blender scale is set incorrectly or you accidentally increased or reduced the scale on the FBX export.

with the actual error log bit we may be able to see if that is the issue, or if the message refers to a bone that has been accidentally scaled in edit mode for instance.

I would be curious to see what your file looks like and also other information about the Root Bone issue.


This is what I saw in the output log.

As the output log explains, your blender scale is off.
your transofrms are being forced to 100.000 - dead giveaway.

You need to change the scale in blender, and re-create or scale up the animations.

Thank you for the help. The problem was that in the scene unit settings in blender, I needed to set the unit scale to 0.01 because it was set to 1.0. :rolleyes: I honestly thought that I did that before hand because I usually do. But everyone has one of those moments every now and then. :slight_smile:

I have the same issue. After changing “Length” to “Centimeters” and “Unit Scale” from 1.0 to 0.01, I am able to import my model and animations. However, my model becomes too small compared to other models that I have previously imported.

How do you scale up animations? By making the animation move a few times further than it originally is moving?

Sorry I need to resurrect this thread, I am having the same issue after following the tutorial here: https://www.youtube.com/watch?v=pgLSHwex1dM

Here is my Output log:

LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-30.858948,0.000003,15.561339|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.469478,0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-70.421677,0.000003,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.073850,-0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-32.919277,0.000004,15.561339|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.448874,-0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-72.640495,0.000003,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.051662,0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-36.745605,0.000004,15.561340|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.410611,-0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-76.761154,0.000003,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.010456,0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-38.805935,0.000004,15.561340|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.390008,-0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-78.979973,0.000003,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (-0.011733,0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-37.564217,0.000004,15.561339|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.402425,-0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-77.642738,0.000003,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.001640,-0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-34.832439,0.000004,15.561341|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.429743,-0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-74.700821,0.000003,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.031059,-0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-32.100666,0.000004,15.561340|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.457060,-0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-71.758911,0.000002,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.060478,-0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-30.858948,0.000003,15.561339|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.469478,0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-70.421677,0.000002,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.073850,-0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-30.858948,0.000003,15.561339|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.469478,0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-72.640495,0.000002,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.051662,0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-30.858948,0.000003,15.561339|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.469478,0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-76.761154,0.000003,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (0.010456,-0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (root:0)
Source Global Transform (-71.212929,0.000002,20.045116|-44.069042,0.000002,89.999992|99.999992,99.999985,100.000000),
Converted Global Transform (0.065938,0.000000,0.021100|-44.069031,-0.000005,89.999992|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (trigger:1)
Source Global Transform (-30.858948,0.000003,15.561339|-89.209686,179.998383,-89.998260|99.999985,99.999992,100.000000),
Converted Global Transform (0.469478,0.000000,-0.023738|-89.209183,179.998627,-89.998016|1.000000,1.000000,1.000000)
LogFbx: Warning: IMPORT TRANSFORM ERROR : Bone (top:2)
Source Global Transform (-78.979973,0.000003,48.002777|-90.000000,179.994843,-89.994873|99.999977,99.999985,100.000000),
Converted Global Transform (-0.011733,0.000000,0.300677|-90.000000,-179.998718,-90.001282|1.000000,1.000000,1.000000)
FBXImport: Warning: Imported bone transform is different from original. Please check Output Log to see detail of error.

So ya, looks like it is converting from 100 like others. What is the latest on how to fix this? It looks like some of the other transform stuff is weird. Like look at the last source to convert in the log. Why is it going from -78 to -0.01 for the first value? Then the 2nd from 48 to .3, then the next 3 look ok, then the 100 to 1 for the last 3. I’m confused.

Worry about what blender does when you change scale rather than what the import says.

Set your scale up correctly and see if you need to shrink/enlarge the object or adjust animations.

Apply all transforms. To the skeleton too. After scaling.

Here’s my setup to properly sent animations and rigs into unreal, before anything you need to correctly setup your blender files, into blender -> “File ->Defaults->SaveStatupFile”, i add some pictures of my setup hope that help, into unreal if the skeleton is the same you can override the old but considering that you have a recent BACKUP of your project (copy the folder and past into a “_Backup” folder), you’ll never lose your work, and it’s free, copying 1 backup into your computer and 1 backup into your home server should be very smart to do !! i’m working with blender around 5 years now i can do everything with unity and unreal, i’m not a coder by the way, if you have question i’ll tried to answer :slight_smile:

Thanks for the reply.

Ultimately for Blender I did have to set units to .01 and centimetres, same as the other guy. All my scale values were already 1.0 everywhere. Then like him, it came into UE4 really small and also had some weird texturing issues. Like parts would be matte and others shiny.

…while exporting the same mesh and bones from 3ds max 2013 I had none of these issues. It also didn’t give me the weird no bind 0 or whatever error that I got from importing Blender’s.

So maybe Blender isn’t quite there yet for this, or maybe my version 2.8 doesn’t have some fixes 2.9 has or something. Or more likely I don’t know what I’m doing in Blender yet.

The last one.

Blender works perfectly fine for the whole community. If there were import issues like you describe the forum would be peppered with them.

dblzeero

This is a tricky issue with a multitude of things that could possibly be wrong, depending on what the error says in the “Output Log”. I have been troubleshooting the issue the past couple of days and I think I have a solution. One is real simple, and I will leave that for last.

First thing to do, save the file with the animations into another file, so you can alter the file and not lose your work(Basically, open the blend file with the transform problem and “save as” a new file).

Next, open the new file and delete all the animations. Click the skeleton and go to object<apply<all transformations.

Next, while skeleton is selected, go to pose mode and got to pose<apply pose as rest pose.

In the object editor tab(while in pose mode), go to the pose section and click on the rest position button; then the pose position button and make sure they match.

Next, got to the timeline in the default “layout” tab and change it to the dope sheet and got to the action editor section. Add a new action, name it whatever you want, and make an animation.
Now you need to save because everything should be right. This will be the new altered file to see if its you or the Unreal Engine FBX.

Now you need to select the model then shift+select the armature.
File>export>export FBX.
check selected objects.
highlight armature and mesh.
apply scaling change to FBX all.
x forward.
z up.
check apply unit.
check use space transform.
Leave everything else alone. In geometry; check tangent, and apply modifiers ( that should get rig of the no smoothing group error). In armature; uncheck leaf bones. What they are referring to by leaf bones is the ends of the last bones of the hierarchies( unless you are using their positions as sockets, or anything else).
Now open Unreal.

After all that, there might not be anything wrong at all. It might be the FBX importer. Import the file. If the error comes up, you know everything is right so what is the problem?

Check the out put log. it should say the bone. Hopefully it is one bone and it should be the root bone of the armature.

Check out the numbers on the source transform and the converted transform. They are listed in order as: transform position, transform rotation, and transform scale.

Look at the numbers. Coming from blender, if you have the import options in unreal set as force x forward, there should be a difference in the rotation. If you changed the import scale in unreal, there should be a difference in the scale sections. You want both the source and the converted transforms to match.

So what is the problem?

Simple fix, it’s the FBX importer.

Now delete the files that were just imported.

Import the same file, but this time you are going to fix the problem.

When the options for the importer pop up, with check marks on import mesh and skeletal mesh, look at the options. Look at two specific fields; import scale, and force x forward.

Now that you know what they say, uncheck import mesh at the top of the import options menu.

Scroll down to the two spots again; scale and force x forward. They should be different from when you had import mesh checked. That is your problem.

When ever you change either field, it doesn’t update the other in the FBX importer options.

To solve the problem, and not have the problem for the next time you import a model with animations, make a different file location in Unreal for models and a spot for animations. Import the models and animations separate. Use the importer options in Unreal to extract them separately.

Hope that helps,
Steven Perkins(Trekkee_solo/Dblzeero)

This is a tricky issue with a multitude of things that could possibly be wrong, depending on what the error says in the “Output Log”. I have been troubleshooting the issue the past couple of days and I think I have a solution. One is real simple, and I will leave that for last.

First thing to do, save the file with the animations into another file, so you can alter the file and not lose your work(Basically, open the blend file with the transform problem and “save as” a new file).

Next, open the new file and delete all the animations. Click the skeleton and go to object<apply<all transformations.

Next, while skeleton is selected, go to pose mode and got to pose<apply pose as rest pose.

In the object editor tab(while in pose mode), go to the pose section and click on the rest position button; then the pose position button and make sure they match.

Next, got to the timeline in the default “layout” tab and change it to the dope sheet and got to the action editor section. Add a new action, name it whatever you want, and make an animation.
Now you need to save because everything should be right. This will be the new altered file to see if its you or the Unreal Engine FBX.

Now you need to select the model then shift+select the armature.
File>export>export FBX.
check selected objects.
highlight armature and mesh.
apply scaling change to FBX all.
x forward.
z up.
check apply unit.
check use space transform.
Leave everything else alone. In geometry; check tangent, and apply modifiers ( that should get rig of the no smoothing group error). In armature; uncheck leaf bones. What they are referring to by leaf bones is the ends of the last bones of the hierarchies( unless you are using their positions as sockets, or anything else).
Now open Unreal.

After all that, there might not be anything wrong at all. It might be the FBX importer. Import the file. If the error comes up, you know everything is right so what is the problem?

Check the out put log. it should say the bone. Hopefully it is one bone and it should be the root bone of the armature.

Check out the numbers on the source transform and the converted transform. They are listed in order as: transform position, transform rotation, and transform scale.

Look at the numbers. Coming from blender, if you have the import options in unreal set as force x forward, there should be a difference in the rotation. If you changed the import scale in unreal, there should be a difference in the scale sections. You want both the source and the converted transforms to match.

So what is the problem?

Simple fix, it’s the FBX importer.

Now delete the files that were just imported.

Import the same file, but this time you are going to fix the problem.

When the options for the importer pop up, with check marks on import mesh and skeletal mesh, look at the options. Look at two specific fields; import scale, and force x forward.

Now that you know what they say, uncheck import mesh at the top of the import options menu.

Scroll down to the two spots again; scale and force x forward. They should be different from when you had import mesh checked. That is your problem.

When ever you change either field, it doesn’t update the other in the FBX importer options.

To solve the problem, and not have the problem for the next time you import a model with animations, make a different file location in Unreal for models and a spot for animations. Import the models and animations separate. Use the importer options in Unreal to extract them separately.

Hope that helps,
Steven Perkins(Trekkee_solo/Dblzero)

Not really.
Or not at all.

The only real issue as described by the OP and the error log is the scaling being wrong.

You can either fix that in blender and have a flawless export that you never need to worry about - OR, you can fix it by altering the import or export settings, forget you changed them, and import or export a bunch of stuff incorrectly wasting time to figure out why it’s not working later on.

It’s up to you all if you want to waste time, or get work done.

I suppose that what wasn’t properly explained is that if you ■■■■■■ up and you don’t want to start from scratch, your animations have to be scaled UP by 100 in some (but not all) cases.

It depends on how they were key framed.

If you remove the scale value from all the tracks, then the scale is derived from the model.
If the scale value was key-framed you are sol and you need to remove the tracks or change their value one by one, key frame after key frame.

I am facing slightly different issues.

  • I’m using Send to Unreal plugin for Blender. Due to some reason plugin is renaming the “Root” bone to “Root_002” How to avoid renaming bone issue?
  • I’ve setup the Blender units in Centimeter to match with UE unit system. I’ve tried to export skeletal mesh normally in .fbx format; however mesh is exporting with correct scale but physics units are not coming accurate. How can maintain the same unit while exporting?

I have encountered the same error message in UE4 in a weird situation.

  • My skeleton is not named armature because that causes some automated procedures to kick in that mess up a lot of things, eg.scaling.
  • I work on 2 computers, 1 on which the error does not appear and one on which the error appears most of the time.

Thing is I’m using the same blender (same installer), same export preset, same config, same blender scene and same for UE4. So the only difference is the rig at least supposedly.

What is even weirder is that when I use an exported fbx I made at computerA on computerB it works perfectly but if I use one exported on computerB it usually does not. Sometimes it suddenly works but currently no such luck. But mainly this means that UE4 seems to not be the cause. The resulting fbx exports seem to have different sizes though.

Question: does videocard have any possible effect on the procedure? ComputerB is pretty trash but is running win10 just like the other one.

EDIT: Nvm, apparently I had differences, one of the keys had a key with non-uniform scaling for a bone which apparently brings about this behaviour here by default. Removed the key and all is well. While frantically looking for solutions I also found another reason that can cause this. As I was trying the other animations if it was a localized issue I had the same problem for some reason from animations that had some “child of” bone constraints not keyed at all… maybe latter was inheriting the non-uniform scaling somehow. I did think I perfectly isolated the two but I was wrong already so I wouldn’t put it past myself.
But yea, non-uniform bone scaling causes the same symptoms in UE4 import. I guess I won’t be doing cartoon-y animations? That sounds like a huge loss tbh.