UniRig - A general-purpose automatic skeleton rigging framework open-sourced by Tsinghua University and VAST.
UniRig is an innovative automatic skeleton rigging framework jointly developed by the Department of Computer Science at Tsinghua University and VAST, used to handle complex and diverse 3D models. Based on a large autoregressive model and a bone point cross-attention mechanism, it generates high-quality...
What is UniRig?
UniRig is an innovative automatic skeleton rigging framework jointly developed by the Department of Computer Science at Tsinghua University and VAST, used to handle complex and diverse 3D models. Based on a large autoregressive model and a bone point cross-attention mechanism, it generates high-quality bone structures and skinning weights. The framework incorporates the Rig-XL dataset, containing over 14,000 3D models covering multiple categories, for training and evaluation. UniRig significantly outperforms existing academic and commercial methods in both skeleton rigging accuracy and motion accuracy, supporting seamless application to various object categories ranging from anime characters to complex organic and inorganic structures, greatly improving the efficiency of animation production.
UniRig's main functions
- Automatic skeleton generationGenerate topologically correct skeletal trees for various 3D models (such as humans, animals, fictional characters, etc.).
- Skin weight predictionPredict the influence weight of each bone on the mesh vertices to ensure that the mesh deforms naturally under the drive of skeletal animation.
- Support diverse modelsIt is suitable for a variety of 3D models, including complex organic and inorganic structures.
- High-efficiency animation productionImprove the efficiency of animation production and reduce the time and workload of manual operations.
- Dynamic effects supportGenerates bone properties that support physics simulation (such as spring bones).
UniRig's technical principles
- Skeletal Tree MarkupThe skeletal tree structure is converted into a serialized label, which facilitates efficient processing by the autoregressive model. Based on special labels (such as <type>) representing bone types (such as spring bones, template bones), a depth-first search (DFS) algorithm is used to extract linear bone chains, which compactly represent the skeletal structure.boneIvy tree labeling can reduce sequence length and improve the efficiency of model training and inference.
- Autoregressive modelThis method uses an autoregressive model based on Transformer (such as Skeleton Tree GPT) to predict skeletal trees. The model generates labels one by one to construct the skeletal tree, ensuring that the generated skeletal structure is topologically valid. The model's input includes a point cloud sampled from a 3D mesh and optional category information, and the output is a sequence of labels representing the skeletal tree.
- Skeletal point cross attention mechanismBased on the point cloud encoder and the skeleton encoder, features of the point cloud and skeleton tree are extracted respectively, and the skinning weights are predicted by combining the features using a cross-attention mechanism.
- Large-scale datasetsTo train and evaluate UniRig, researchers built the Rig-XL dataset, which contains over 14,000 3D models covering multiple categories. The diversity and scale of the dataset allow UniRig to learn different types of skeletal structures and skinning weights, improving the model's generalization ability.
- Physics simulation-assisted trainingThis method incorporates physical simulations during training, simulating the movement of bones under physical forces (such as gravity and elasticity) to evaluate the reasonableness of predicted skin weights and bone properties. Indirect supervision guides the model to learn realistic skin weights, improving the realism of the animation.
UniRig's project address
- Project official website:https://zjp-shadow.github.io/works/UniRig/
- GitHub repository:https://github.com/VAST-AI-Research/UniRig
- HuggingFace model library:https://huggingface.co/VAST-AI/UniRig
- arXiv technical paper:https://zjp-shadow.github.io/works/UniRig/static/supp/UniRig.pdf
UniRig application scenarios
- Animation ProductionQuickly generate bones and skinning weights, reducing manual operations and improving animation production efficiency.
- virtual charactersGenerates natural and smooth skeletal rigging for virtual characters (such as VTubers) and supports real-time animation.
- Game developmentQuickly generate skeletal rigging for characters and objects, supporting dynamic effects and enhancing the visual experience of the game.
- 3D content creationApplicable to architectural design, industrial design, etc., and supports skeletal rigging of diverse 3D models.
- EducationAs a teaching tool, it helps learners quickly grasp the basic concepts of skeletal animation.