Make-It-Animatable: An Efficient Framework for Authoring Animation-Ready 3D Characters (CVPR 2025 Highlight)
September 8, 2026 · View on GitHub
Make-It-Animatable: An Efficient Framework for Authoring Animation-Ready 3D Characters
(CVPR 2025 Highlight)
Zhiyang Guo, Jinxu Xiang, Kai Ma, Wengang Zhou, Houqiang Li, Ran Zhang

🎉 News
- MIA v2
- Upgraded to the Hunyuan3D 2.1 ShapeVAE backbone with retrained MIA models—larger capacity and better predictions! (only mesh inputs are supported).
- Updated the architectures for joint, skinning-weight, and pose prediction, as long as the training pipeline.
- Refined the demo app workflow—better skinning-weight post-processing, Blender integration, and global-transform restoration!
- Try the MIA v2 demo, or check out the v2 branch and run it locally with
python app_v2.py!
Installation
git clone https://github.com/jasongzy/Make-It-Animatable --recursive --single-branch
cd Make-It-Animatable
conda create -n mia python=3.11
conda activate mia
pip install -r requirements.txt
Data Preparation
# hf auth login
hf download jasongzy/Mixamo \
--repo-type dataset \
--include 'bones*.fbx' 'animation/**' \
--local-dir data/Mixamo
For Demo
Download the pretrained models:
hf download jasongzy/Make-It-Animatable \
--include 'output/best/new/**' \
--local-dir .
Download the example data:
hf download jasongzy/Make-It-Animatable \
--include 'data/**' \
--local-dir .
Download some tools:
wget https://github.com/facebookincubator/FBX2glTF/releases/download/v0.9.7/FBX2glTF-linux-x64 -O util/FBX2glTF
chmod +x util/FBX2glTF
For Training
Download the training dataset:
hf download jasongzy/Mixamo \
--repo-type dataset \
--include 'bones*.fbx' 'animation/**' 'animation_extra/**' 'character_refined/**' 'character_rabit_refined/**' \
--local-dir data/Mixamo
Download the pretrained weights of AE (only for training from scratch):
hf download jasongzy/Make-It-Animatable \
--include 'output/ae/**' \
--local-dir .
About the online pairing of FBX files
During training, we do online pairing of characters and animations (skeletal motion sequences) using Blender to reduce the storage size of dataset while ensuring the diversity of training samples.
This basically includes the following steps (implemented using Blender's bpy API):
- Sample a character and a motion sequence, apply the motion to the character to create animated sequences, and optionally do retargeting for better poses.
- Sample some frames from the animated sequences to get the training samples of the current iteration.
- Extract the necessary ground-truth data (blend weights, bone positions, poses, etc.) for all sampled frames.
- Sample some points from the surface of the animated mesh as the input shape representation.
So if you want to get rid of the Blender dependency during training, you can iterate through the entire dataset in advance and store the results (may take a lot of storage space).
Demo for Inference
python app.py
An online demo is also available at Hugging Face Spaces.
Training
bash train.sh
Tips:
- For the flexibility and efficiency during training, the models for predicting weights, bones, and poses are trained separately. If you wish to train them jointly and share decoder parameters across them, just modify the
train.shscript by enabling all--predict_*flags. - The hyperparameters in
train.share set for training on A100 80G GPU. To reduce the VRAM usage, consider decreasing the--batch_sizeand--sample_framesvalues.
Differences to Paper
- The dual-quaternion representation adopted in learning pose-to-rest transformations is replaced by a more effective rotation representation ortho6d along with the joint positions.
- Some samples from the 3DBiCar Dataset proposed in RaBit (rigged by Mixamo) are included in training to improve the generalization to characters with unusual head-body ratio.
Acknowledgement
Citation
@inproceedings{Guo_2025_CVPR,
author={Guo, Zhiyang and Xiang, Jinxu and Ma, Kai and Zhou, Wengang and Li, Houqiang and Zhang, Ran},
title={Make-It-Animatable: An Efficient Framework for Authoring Animation-Ready 3D Characters},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2025},
}