Godot Animation Retarget Package

Video Tutorial Reference
https://youtu.be/nb6uSeEZFCI?si=oihM9-7hEUUMwFfp
Steps
Find Animations, e.g. at Mixamo
Download the animations with:
Format: FBX
Skin: Without Skin
Import to Blender, when Importing, expand Armature and check “Automatic Bone Orientation”
Rename the Armature based on the names of the Animations for easy reference.
Pull up a new Window, turn it to Dope Sheet:
Then change Dope Sheet to Action Editor:
For the original Timeline window below it, change it to Nonlinear Animation:
Rename the Animations (orange):
Rename one of the Armatures (blue) to Main:
Press the Push Down button of the Main’s Animation:
In the Action Editor above, select the other Animation:
This will make the other Animation appear under the Main Armature:
Press the Push Down button again.
In the event the Animation is not pushed down even after pressing the button, go back to the Action Editor, next to Animation selection, select the Slot and select Armature item there:
Press the Push Down button again, confirm the Animation is pushed down:
Delete the Other Armature, leave only the Main Armature.
Press the Star button on the Animation you want to preview:
Export to Format GLTF 2.0. Preferred name can be AnimPack1.glb.
Open your Godot project, put the new Animation Package into animation folder:
Double-click on it to import, you may find some unnecessary animations like the top 3, which we can remove later:
Click on the Skeleton3D first, then on the right hand side, click on Bone Map > New Bone Map:
Click on the Bone Map again, then Profile > New SkeletonProfileHumanoid
By default, the Map will already be correct, but sometimes may need to correct them.
Click on Reimport.
Right click on the AnimPack.glb file, then select New Inherited Scene:
This will open an Unsaved Scene:
Click on the AnimationPlayer node, then the Animation > Manage Animations…
Rename the [Global] to [AnimPackX], press the Save button, select Make Unique:
Remove all unnecessary animations:
Click the Save button again, then Save As. Recommend to save as animations/AnimPackX.res.
Now close the unsaved inherited scene.
Open the Character/Player scene that contains the AnimationPlayer, or create a new one by first downloading a character model with skin (from Mixamo or anywhere else). The newly downloaded character must be in T Pose as default to work correctly. Import to Blender, then Export to GLB. Click on the GLB file, create New BoneMap with SkeletonHumanoidProfile, click on AnimationPlayer and Skip Import checked, then Reimport.
Click on the AnimationPlayer (if not exist, create a new one, where the root node should be the Character). Press Load Library, and then select AnimPackX.res file:
Click on the Save button of the AnimPack just loaded, and select Make Unique. This will import the animations’ keys (around hundreds lines of code) into the player scene file:
Note: No code change when perform the Make Unique again.
Test and preview the Animations.
Subscribe to my newsletter
Read articles from Peter Vo directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Peter Vo
Peter Vo
A (kinda) carefree blogger who likes to blog anything he finds interesting...