Blender to UE4 rig scaling problem

Hello Unreal community,
I am using Blender 2.80 beta to import an animated character into UE 4.21.1

I imported the mesh and animations just fine, and the asset worked and looks as intended after I set up materials and the animation blueprint, but when editing the physics asset I noticed that all of the parameters were way off - sizes of primitives in the 0.1 area. The bones are extremely tiny. So, the armature appears to be off by a scale of 100.

I came across the workaround to change the world units in blender to metric 0.01 and scaling the armature and mesh by a factor of 100, applying the transform, and then scaling them both down and only applying on the mesh.

While I can have a normal physics asset with this trick, the animations get broken when I apply the transform on the Armature - much of the animation is done with IK control bones and the location of the bones is still at a scale of 0.01, so the animations are all messed up.

Is there a way I can keep the proper skeletal mesh and import just the animations and retarget? I keep trying the engine’s retargeting system but the editor crashes every time. I’m really at wit’s end here and any help is greatly appreciated.

Please help me!

What you do with Blender skeletal meshes is that inside blender you scale it to 100, and apply scale.

Then scale it to 0.01 and leave it like that.

This is a known workaround, is like the standard way you export skeletal meshes from blender to UE4.

1 Like

Thank you for your reply - I believe that’s what I tried. Watched the Blender to UE live stream and he doesn’t mention anything about skeletons being scaled differently from the mesh. He says “just don’t think about it” which is what I was doing when I started the character model and exported it.

As mentioned, my animations break when I apply transform scale with this rig scale trick. Is this the only way? Do I have to re-do all of my animations?

if i remember correctly in that stream they used a different method, where they set the export scale to 0.01 or something like that, i don’t quite remember really.

I honestly never did that. Only the method I explained earlier. And i know for a fact it works, I’ve been using it for a few years as a fix for bad export scale.

But you need to do it from the start… if you scale the skeleton the animations will go all over the place.

I haven’t tried messing the export/import scale settings, maybe play with those and perhaps you can achieve the same result.

The skeletons from blender are 1% of the scale they need in UE4. so maybe set the scale to 100? not sure.

Thanks for your reply, I ended up applying the .01 scene unit and scale on mesh and armature to 100 and re-keying all of my animations. Took it as an opportunity to improve the animations lol. I’m going to save the startup file in the .01 unit scale so I don’t forget next time I’m modeling and animating. Everything imported just fine and I was able to set up a physics asset with proper body sizes.
Now to figure out why the character is applying so much force to other simulate actors… (character walking into 35 kg sphere physics actor kicks it like a cannon)

  1. In Blender go to Scene Properties and set Unit Scale to 0.01
  2. Scale Bbject back to original size
    IE : If Cube was 2M it will now be 2CM, so size by 100 times ( S * 100 )
  3. Apply Scale to Objects

Now your Export should work for Unreal Engine!!!

rename your rig to anything other than the default “armature” and it should work without scaling. i dont know why that is the case.

2 Likes

This I will have to test. Thanks!