mixamo has problems with custom skeletons. try renaming all the bones to the ones used by mixamo, and make sure to add mixamorig:
. so for example, the head would be something like mixamorig:Head
.
and make sure there is no Root bone, only Hips, it exports bad into fbx.
nononono.
1 - all you need is your character in T-POSE. the rest doesn’t matter. use a mixamo model in mixamo and download all the animations one by one into folders. use fbx binary and only animations. you can download one fbx with the model in case there’s exporting problems.
you need at least two folders, one for locomotion movement and one for animations that should not move, like idles.
then you need a blender addon to transfer root motions.
use this ONLY with locomotion animations. you select a folder, import and add root, and then delete all duplicate skeletons until there’s only one.
then you export into glb. ALWAYS use glb/gltf as it is the godot’s default format and also superior to fbx in every way.
from this you will get 1 single file, call it something like locomotion_animations.gltf.
then go to a new blender file and import fbx, and select all the idle fbx from the other folder.
delete duplicated skeletons until there’s only one. then add a bone, rename to root, set size to 30.0m/3.m/0.3bu, then go to hips and set parent to root.
at this step you can tweak the animations or even save the file.
you export again to glb, single file, new name.
2 - put your animation files in a folder in your godot project.
go to each and in import (over the tree) set them to AnimationLibrary
, this is very much important.
open import window for each file, set the animation modes (linear/not linear), and then go to the skeleton, add a BoneMap
and SkeletonProfileHumanoid
.
make sure all the bones are set correctly.
if these are from mixamo they are identical so you can save the bonemap/skeletonprofilehumanoid to a file and reuse it with the others, it will save you time.
you can keep downloading more animations and creating more libraries later.
3 - take your model in T-POSE, if it’s not in T-POSE you can upload to mixamo and download again, then import to blender.
add a root bone to your character model, then export to gltf.
4 - put your character model in a folder in your godot project.
open import window of your model in godot, create new bonemap, skeletonprofilehumanoid.
5 - select your file, create new inherited scene.
save the created scene as a scene.
select the root and click clear inheritance.
close the scene.
open the scene again, this refreshes inheritance.
6 - now you can change the type of the root of the character scene with characterbody3d or something else.
add an AnimationPlayer
.
7 - in AnimationPlayer
editor, go to Animation -> Manage animations
, it will open a dialog.
click load library, select your animation file.
8 - your animations have been successfully loaded and the character is retargeted.
this method will work with nearly any animation, so long as the skeletons are similar.
9 - use this AnimationPlayer with an AnimationTree for more complex behaviours.