Sometimes you need to bake the animation from complex rigs, to keep it very simple when exporting it to .EAD, increasing performance and reducing issues. Usually, complex rigs are made of a lot of bones and helpers that allows the animator to use the rig efficiently, but once the animation has been created, and we want to use it in the Engine, is better to delete all that controllers, and only keep the part of the rig that really affects the character/object deformation.
Of course, if we remove the controllers, the basic rig that deforms the character/object won't move at all. To solve this issue, we can use a little trick (as 3Ds Max, by default doesn't provide animation baking tools) in order to “bake” the animation into every object, bone of the rig, so then we can delete and forget about the ones that aren't directly affecting our scene and were only meant to help in the animation process.
This trick consists basically in exporting the animation in .fbx format (an industry standard). This format will bake all animations at export time, so then we can import it back, and all the objects in the scene will have a baked animation, so deleting the unwanted ones will be possible at this point, without affecting the scene's behavior.
Here we have a very basic scene, but will be enough to understand how to bake animations. In the scene we have a leg-like skeleton, driven by an IK (Inverse Kinematics) Solver. This is what happens when we move the IK controller: Whet we need to do, is making this movement (or the given animation) to get baked frame by frame in the bones marked in orange from the animation of the IK controller.
If we animate the IK controller, the leg will adapt to it, but the bones won't have any stored keyframes, so let's go for it and create a simple animation for the IK controller: We already have the animation. Note that only the IK controller is animated, bones haven't any keyframe. Now let's export it to bake that animation into the bones.
Now let's see how to Export the scene in .FBX format. First, lead to the file menu (the one with the max logo at the top left corner), and press export. Select a filename, and in the file type, pick Autodesk (*.FBX) from the dropdown list. You'll see this window, for the .FBX format export setup: We need to go to the “Animation” Tab, Open the “Bake Animation” menu, activate it, and select the start and end frames to select the frame range we want to bake, in this case, 0 to 100 is right. When you bake an animation, usually a keyframe by each frame is generated. If you want to decrease this to save memory and you trust your animation will look fine this way, you can change the value in the “Step” field to more than 1. Once you're done with this, press OK.
First thing to do before we import back the .fbx we just exported, is to delete the parts that we won't use when we have our baked animation, to prevent issues. In this case, select and delete the IK controller.
CAUTION: Before deleting this important parts of the rig, save correctly your scene, in case you need to access the rig later. Remember that this should only be one of the last steps before exporting the .EAD, so make sure that everything is as it should, and no changes will be made in the animation… otherwise you'll need to go back and repeat this step.
- Make sure that you select “Update scene elements” into the “Include” section. Otherwise it will create again all the objects into the scene, and we just want to add the animation to the objects that we left there.
- Open the “Animation” tab, and check that “Bake Animation Layers” is active inside “Extra Options”.
- Finally, in the “Bone Creation” menu, select “Leave as Bones” instead of “Convert to Dummies”, to keep the bones as they are.
- Press Ok, and let's check if the animation has been baked.
Now, if we press play, the animation works… without the IK controller! The reason is that, if you select a bone, you'll see in the timeline that it has stored a keyframe for every frame. So at this point, the model with this animation would be ready to export to .EAD format.