0
$\begingroup$

Circumstances:

Say you want to export your Mesh and Armature to another program like Unreal Engine. The issue is that the Location/Rotation/Scale for your Armature are not applied. You try to export to Unreal, and you get problems where your mesh doesn’t maintain the same size or location as it does in Blender. You can’t scale up the animation in Unreal either since we’re using Root Bones to define where our locations are, but the Transforms NEED to be applied! Easy fix.

$\endgroup$

1 Answer 1

1
$\begingroup$

Solution:

Create Copy of Original Mesh/Armature:

Copy and Paste your original Armature and Mesh so we have a new copy in the scene.

Apply All Transforms to New Mesh/Armature:

Make sure to delete all the animations from your New Copy, zero out the Loc/Rot/Scale for the armature, and now apply All Transforms to all the Meshes as well as the Armature itself. In Object Mode your Armature and Meshes should be zeroed out with a Scale of 1.00.

Copy the animation data from your Original Armature to your New Armature:

You can do this by first clicking on your Original Armature and go to the frame in which the animation actually starts. Now enter Pose Mode on your New Armature, unhide and select all the bones, hit I and Insert a Keyframe for your Loc/Rot/Scale. Now that our New Armature has actual animation data to paste TO, exit Pose Mode on our New Armature and enter Pose Mode on our Old Armature. Select all the Keyframes on the timeline using A, Copy with Ctrl-C. Exit Pose Mode on our Old Armature. Enter Pose Mode on our New Armature, making sure you’re one the same frame as when the animation actually started, and paste the Animation Data with Ctrl-V.

Add Constraints To Copy Loc/Scale of Old Armature’s Root Bone:

Now that we have the New Armature with the old Animation Data applied to it, you’ll notice it still doesn’t have the exact location or scale of the Old Armature. This is because we zeroed out the Transforms on the armature. To get our New Armature/Mesh back into position of the Old Armature/Mesh, we’ll be using constraints. This is very quick and easy to do. Select the Root Bone of your New Armature, and in the Bone Constraints Tab: Add a Copy Location and Copy Scale Constraint. We don’t need a Rotation one since the old Animation Data copied that just fine. Make the Target your Old Armature and the bone as the Root Bone. Now the Root Bone of our New Armature has the exact Loc/Rot/Scale of our Old Armature’s Root Bone. We’re not done yet.

Bake the Animation to Remove the Constraints:

Our last step is to enter Object Mode, select our New Armature. Object < Animation < Bake Action. Check: Visual Keying Check: Clear Constraints Bake Data: Pose

You’re done.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.