AutoRig: Deep Learning-Based Automatic Joint Placement for 3D Character Rigging
Developed by Ryan Wang
With technical support from Tommy Hu and Rui
View on GitHub →
Overview
AutoRig is a machine learning system that automates skeletal joint placement for 3D bipedal characters using PointNet architecture. The system enables a one-click rigging solution by converting FBX models to point clouds, predicting 21 joint locations, and generating rigging-ready skeletons in Maya—eliminating the need for manual joint placement that requires extensive anatomical knowledge and rigging expertise.
Problem & Motivation
Traditional auto-rigging tools like Advanced Skeleton and Rigify still require users to manually place joints—a tedious process that demands deep knowledge of anatomy and joint deformation. This creates a significant barrier for 3D artists, modelers, and animators who lack rigging specialization. AutoRig solves this by automatically predicting and placing joints, making character rigging accessible to all skill levels.
Technical Pipeline
FBX Model → Point Cloud Conversion → PointNet Prediction → Maya Joint Creation
- Input: T-posed bipedal character (FBX format)
- Conversion: FBX converted to NPZ point cloud (2048 scattered points)
- Normalization: Model scaled to [-1, 1] range and centered
- Prediction: PointNet processes point cloud and outputs 21 joint locations
- Denormalization: Joints transformed back to original scale
- Output: Maya script creates joints at predicted locations
Conversion] B --> C[Normalization
-1 to 1] C --> D[PointNet
Prediction] D --> E[Denormalization] E --> F[Maya Joint
Creation] style A fill:#e8e4dc style B fill:#e8e4dc style C fill:#e8e4dc style D fill:#d4cfc7 style E fill:#e8e4dc style F fill:#e8e4dc
Implementation Details
Model: Vanilla PointNet (PyTorch)
Training Data: 48 Mixamo T-posed characters + 1 test model
Training: 50 epochs (< 10 seconds)
Point Cloud: 2048 points per model (scattered sampling)
Output: 21 core skeletal joints (spine, arms, legs, head—no fingers/toes/face)
Accuracy: < 0.05 unit error in normalized space
Libraries: PyTorch, NumPy, Matplotlib, JSON
Results
pointcloud visualization of converted FBX
pointcloud visualization with predicted and original joints (Red joints are predicted joints, Orange joints are original)
joints imported to Maya and applied to example character mesh
The model achieves sub-0.05 unit accuracy with real-time inference speed, successfully predicting joint locations that can be directly imported into Maya for rigging workflows.
Current Limitations
- Pose Restriction: Only works with T-posed characters
- Arm Joint Accuracy: Reduced precision on arm joint placement
- Asymmetry Issues: Lower accuracy on asymmetrical models
- Limited Coverage: No fingers, toes, heel, toe, or facial joints
Future Development
- Expand training dataset to 500+ models
- Upgrade to PointNet++ architecture for better local feature extraction
- Support multiple poses (A-pose, relaxed pose)
- Add finger, toe, and facial joint prediction (45+ additional joints)
- Integrate full auto-rigging: skin binding and control rig generation
- Develop native Maya/Blender plugins for in-software workflow
- Combine ML with traditional algorithm-based refinement
Impact
AutoRig demonstrates that deep learning can significantly lower the technical barrier for character rigging, transforming a multi-hour manual process into a one-click solution. This enables artists without rigging expertise to focus on creative work while maintaining production-quality skeletal setups.
Tech Stack
Project Type: Personal Research
Status: Prototype/Ongoing Development
References
- Qi, C. R., Su, H., Mo, K., & Guibas, L. J. (2017). PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. In Proc. CVPR. Available at: https://openaccess.thecvf.com/content_cvpr_2017/papers/Qi_PointNet_Deep_Learning_CVPR_2017_paper.pdf. :contentReference[oaicite:0]{index=0}
- Qi, C. R., Yi, L., Su, H., & Guibas, L. J. (2017). PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space. In Advances in Neural Information Processing Systems 30. Available at: https://proceedings.neurips.cc/paper/7095-pointnet-deep-hierarchical-feature-learning-on-point-sets-in-a-metric-space.pdf. :contentReference[oaicite:1]{index=1}
- Baran, I., & Popović, J. (2007). Automatic Rigging and Animation of 3D Characters. In Proc. SIGGRAPH. Available at: https://www.cs.toronto.edu/~jacobson/seminar/baran-and-popovic-2007.pdf. :contentReference[oaicite:2]{index=2}
- Xu, Z., Zhou, Y., Kalogerakis, E., Landreth, C., & Singh, K. (2020). RigNet: Neural Rigging for Articulated Characters. In Proc. SIGGRAPH. Available at: https://zhan-xu.github.io/rig-net/RigNet.pdf. :contentReference[oaicite:3]{index=3}
- Kim, J., et al. (2021). Auto-rigging 3D Bipedal Characters in Arbitrarily Poses. EuroGraphics Symposium on Sketch-Based Interfaces and Modeling. Available at: https://diglib.eg.org/bitstream/handle/10.2312/egs20211023/057-060.pdf. :contentReference[oaicite:4]{index=4}
- Hong, S., Choi, S., Kim, C., Cha, S., & Noh, J. (2025). ASMR: Adaptive Skeleton-Mesh Rigging and Skinning via 2D Generative Prior. arXiv preprint. Available at: https://arxiv.org/abs/2503.13579. :contentReference[oaicite:5]{index=5}
- “Concept and discussion assisted by ChatGPT (OpenAI) & Claude (Anthropic).”