Pelvis scale problem when sharing animation between 2 skeletalMesh with the same skeleton.

I want to build a rig for the default SK_mannequin in 3DS max.
To do so, I export the SK_mannequin from UE4 at FBX format.
I open the FBX in 3DS max and replace each dummy import from the FBX by a 3DSmax bone with the same name.
I rebuild the hierarchy and remake the skin on the mesh.

The result is the exact same mannequin, but each FBX bone has been replaced by a 3DS max bone.

My purpose here is to make my own custom animation in 3DS max and use it with any SK_mannequin skeleton compatible mesh.
By building my custom skeletal mesh on this skeleton in 3DS max, I will be able to use any animation using the SK_mannequin skeleton.
In short, I want to build my own 3DS max tool for the UE4 standard skeleton.

Once done, I export my new skeletal mesh (my_Custom_SK) in FBX format from 3DS max, with the new skeleton made with bone.
I import this in UE4 and, at the import step, I set my_Custom_SK to use the SK_mannequin skeleton and physicAsset.
Everything’s fine at this stage.
The import is an success and if I put one instance of my_Custom_SK near an instance of SK_mannequin, they seams identical in A-pose.

My problem appears when I try to apply an animation to my_Custom_SK.

As the 2 SK shares the very same SK_mannequin_skeleton and SK_mannequin_physicAsset, I can apply any animation build for SK_mannequin to my_Custom_SK but when I do that, my_custom_SK become suddenly a lot smaller !

After some research, I found that the pelvis bone is scaled by a factor of 2.5.
Or, in other words, when I adjust manually the scale of the pelvis bone (by setting its scale to 2.5 in each axe), my_custom_SK retrieve his natural proportions (almost).

When I look at my skeletal mesh in persona, I can see that the root bone is not scaled and that’s why my skeletal mesh is walking so high and also why the IK bones are not affected by this problem.
It’s only the pelvis that receive an odd scaling process.
The other bones are not scaled nether because the Skeletal Mesh keeps his proportion (but smaller).

Does anybody had an idea why the pelvis bone is scaled down while i use the same animation on the same skeleton but with different skeletalMesh ?

Sorry for the double post, I have a new picture to upload :slight_smile:

By looking at my skeleton, I figure something that has to be significant :

In the animation previewer, I can look at the skeleton tab and if I select the root bone, I can see that it has a “reference Scale” set at 2.54.
It’s almost the number I found as the factor of the scaling of the pelvis bone.
I see the link between these facts :slight_smile:

By looking at the SK_mannequin_skeleton, witch is used by the 2 SkeletalMesh, that’s what I see by selecting the root bone :

In the skeleton, the root bone has a 2.54 scale factor in each axe.
I try to set that to 1 but when I change these value, it’s a mess !
Every time I click on a box to set a value, the other value change in a very erratic way.
I finally was unable to set the scale of the root bone in the SK_mannequin_skeletal… The only way to return at the initial 2.54 value was to undo the changes I made because every time I change a value in an axe, the other axes change too into any random value.

I know that every things are linked !
The truth is certainly somewhere but I can’t see it…
Do you ?

Make sure that NOTHING is scaled in your 3D app.
Everything has to have a scale of 100% or 1.0

Easiest way to fix it. open another program, and select migrate, or.
Just export the mesh and skeleton as fbx. You can rename it if you like. Whatever.
Scale it to the scale you want, and then export send to unreal. re import. Done.
I have exported sk mannequin. and i use it as reference for other char.
I simply selected the mesh only, and clicked duplicate. Then i have a mannequin. skin only no skeleton for reference size in my software.
As maya, blender end up with different results in size when importing to ue4.
For example. I have a modular building that says its 343mm in size in maya, and when brought into ue4 it says something like 267. from blender it’s correct. So?
I wish every software would do the same as its annoying already. Everything in the known world is “Z UP” except some programs force y.
Before 3d modelling existed everything was Z up. Cnc’s were z Up. Unless they were horizontal. which would make them “horizontal.”

It looks like you’ve found this bug: Skeleton root bone scale incorrectly set to 1 in animations after "Imported bone transform is different" error, resulting in smaller/bigger meshes in animation - UE4 AnswerHub

Of course, it’s the first thing I tried :slight_smile:

*The skeleton root bone has 100 scale in the skeleton view.
The skeleton root bone has 1 scale in the animation view. This is a bug, it should be set to 100 like in the skeleton view. Because of this the animation is tiny.
It’s exactly my problem !
But I work with 4.15.2 version of UE and as I use the exact same skeleton, I had no “Imported bone transform” error. I just use the SK_mannequin skeleton.

Did you find a workaround ?

I didn’t know where my original 2.54 scale on root come from…
When I open a brand new project and check the bones’s scale inside the SK_mannequin skeleton and every bones are 1.0 scaled.

So, I restart at the beginning…
I clean every file from my project (mannequin and my_custom).
I migrate the original SK_mannequin from a new TPP project.
I check the scales for bones in the new SK_mannequin skeleton and they are all set at 1.0. Perfect !

I import my_custom_SK and boom, the root bone in the UE4_mannequin_Skeleton is now set at 2.54 scale…

The workaround is to make sure you haven’t got scale on the root for now. I think you’re using inches in Max, you should replace that with centimeters.

I hope this gets fixed sometime though, because without it you can’t use Blender default settings and get usable results in UE4.

You’re right ! I will try to check the unit problem.
I just google inch / cm and guess what ? 1 inch = 2.54 cm !!!


Youhou !

I finally had to rebuild the whole skeleton in a new 3DSmax file… 3DS is a great software but it’s a mess coming to unit conversion.
There’s 3 settings to perform to get a coherent unit system !


Thanks to all of you and even more to cyaoeu who helped me so efficiently !

Who the hell is still using body parts to measure the size of things ???