How do you avoid the root bone scale being too small/big with FBX (Blender Export)?

Alright so people have made posts about this, but I’ll make a new one about my specific issue.

For the record I am more used to using Blender than UE4 at the moment; hopefully I’ll become more familiar with UE4 but I am planning on hiring others to help out with things I can’t really learn, since I want to focus on Animation more than anything now (I really enjoy it!)

Alright so, I made a low poly model for a game prototype. It’s a torso with a pair of arms. I rigged them, and the arms work fine and did a few animations. I then convert it to an FBX and put it into Unreal…the skeletal mesh looks fine, but the animations were shrunken down to an almost microscopic size! I discovered a moment later that the root bone was scaled at 1, but the mesh and all that was 100; resizing the root bone to 100 fixed the issue. Though I had to later on, in Blender, despite all the bones being scaled at 1, I HAD to scale the root bone to 100 (which made the mesh and skeleton rig grow also) and then export it, to fix the issue properly.

I showed this to my friend who uses Blender often, and he’s baffled as to why I need to do that. It doesn’t really make any sense to me; I read this is because of the way Unreal sees scale in a different way to Blender, yet the mesh itself was fine, just the animations were shrunken down (unless I scale the root bone in Blender to 100).

So while the prototype is still going ahead, I want to avoid this kind of issue in the future (since I feel more interested in rigging/animation now) so how do you avoid this weird sizing issue with the mesh/armature/animations not matching? Again the rest of the bones are fine just the root bone seems to be the issue.

In Blender, one unit is 1m by default, while in Unreal one unit is 1cm by default. I’m not sure why this affects armatures but not meshes, but you can change this default in scene settings->Units, which seems to make everything import correctly.

image

I’ll have to experiment with this over the next few days to ensure this never happens again when I rig models. Thanks though. I was able to get the model I made working okay in UE4 just I’m a tad discouraged from making more animations with it for the time being.

cubescaletest

So the bigger cube was in a scene that was 1.0. No changes or anything. The teeny cube circled in red was in a 0.01 scene…absolutely tiny and microscopic. This is what happened to my Armatures; they were 0.01 in size! But I have no clue why they were. Very odd.

And now, I took that 0.01 cube, and resized it by 100x, and it ended up around the same size as the big cube in UE4.

So yeah. I am very confused by this tbh. But this was the result it seems if I shrink it to 0.01 from 1.0, and then resize it by 100x, that results in around the same size of a 1.0 mesh.

Very very confusing. Will experiment with a rigged mesh a bit later but it’s very annoying.

So here is what I found, and it’s a blender thing specifically.

In the FBX exporter, if I change Apply Scalings to FBX Units Scale, and Forward is -Y and Up is Z, that makes sure the mesh and animations are all the same size! The problem is the size is microscopic. Which confuses me since the scene scale is 1.0 so why is it smaller? Even sizing it up in Blender didn’t fix this.

But I also found something else out. If I scale the armature up to 100, (which seems to fix the issue in UE4 but doesn’t feel like I should need to do that), and then go into Edit Mode (I scale it up in Pose Mode), the original size of the mesh is maintained for some reason. It’s very odd and I have no idea why the only say to fix this involves scaling it up (Root bone) to 100 before exporting it to Unreal.

Really hope someone can give an explanation. One other thing. I made a pose with this model, and what’s interesting is the pose seems to be something that does get exported to Unreal…but the pose is the only animation (if you can call it that) which is unable to scale properly with the other animations.

I get the impression it’s like the root bone has a tiny default size or something. Really odd.

You might want to look at the Blender to Unreal tools. I found them a bit fiddly, but I think they take care of a lot of those things.

The link is dead…what happened to it? I would love to get hold of this but it doesn’t seem to be up anymore.

It’s a private repository - you have to connect a Github account to your Epic Games account to get access.

My bad! Didn’t realise you had to join the group! Thanks.

I dunno why but I can’t seem to install the addon. It comes up with this error message when I tick it to be installed. Not sure what’s going on. My blender version is 2.92.

Bones and Mesh in blender must be at scale 1. You must to apply scale (object - apply - scale). But if mesh is already skinned (parented) then you must unparent mesh from bones (alt + p) then scale bones and mesh than apply scale and parent again. But it will break custom skin weights. I don’t khow how to preserve that, i experimenting only with box and bones ))
Another one: in UE root bone of you skeleton must be 1 (not 100).
And yes, unit scale must be 0.01 becouse otherwise bone will be imported in ue 100 times smaller.

1 Like

It’s just Blender that is garbage. At least… how it handles units. It’s complete madness.
All the other 3D software export things of the correct size. When I export something I know that will be of that size. Only blender is that messy.