MeshyRig: Agent-Driven Rigging Beyond Standard Templates
This is a condensed adaptation of Sky Shi’s engineering report on MeshyRig, an experimental project at Meshy. Read the full technical write-up and animation demonstrations on the Meshy Research blog.
TL;DR: MeshyRig explores an agent-driven approach to rigging: understand an asset, choose appropriate tools, build its skeleton and skinning, then inspect and revise its animation. Across three generated assets—a pig, a tank, and a tentacled mech—the agent used different strategies for organic deformation, rigid mechanics, and mixed structures. The experiments show how tool use, geometry repair, and measurable feedback can work together, with humans confirming the skeleton and handling final polish.
Rigging starts with understanding how an object moves
A generated asset can look complete while standing still and reveal structural problems as soon as it moves. A creature needs smooth deformation around its joints. Armor plates must remain rigid. A tank’s tracks need a continuous loop, including geometry hidden from view.
These requirements make rigging more than a problem of placing bones. The system must determine which parts belong together, which move independently, and whether the geometry can support the intended motion.
MeshyRig investigates whether an agent can make those decisions across unfamiliar assets. Its role extends across skeleton construction, skinning, and animation, including returning to the geometry when a defect prevents movement.
An agent loop with three levels of tools
A vision-language model interprets the asset and calls MeshyRig’s geometry engine. It can work at three levels:
- Templates: Use established rigs when the asset fits a familiar structure.
- Skeleton primitives: Place bones and define their connections directly when a template does not fit.
- Custom algorithms: Write code in a sandbox when the asset requires a more specific solution.
This division keeps structured decisions with the agent while geometry tools perform the underlying calculations. For animation, the agent sets keyframes, with interpolation supplying the intermediate frames.
Each stage is checked across four dimensions: skeleton hierarchy, skinning weights, pose deformation, and animation plausibility. Skeleton validation failures block export.
Human input remains part of the workflow. The user confirms the skeleton before weight computation, when corrections are less costly. After iterative refinement, the resulting rig becomes a starting point for manual polish.
A pig: following a curled structure
The pig fits a quadruped template through its torso and legs, but its curled tail and ears require additional reasoning.
Straight-line proximity can connect points across the empty center of a curl, sending bones through the wrong path. MeshyRig instead uses geodesic distance along the surface, divides the structure into segments, and connects their mean positions. The skeleton follows the curl.
Skinning presents another problem: the pig’s thick belly and thin legs make proximity misleading. Unadjusted bone heat diffusion can assign belly vertices to the opposite leg. MeshyRig accounts for local thickness and whether geometry obstructs the relationship between a vertex and a bone.
The resulting asset has 34 joints and 12 animation clips, with its geometry, UVs, and textures preserved.
A tank: repairing geometry before rigging
The tank’s main obstacle is missing geometry. Each side contains 31 track links, but the upper section beneath the fender was never generated. That omission is difficult to notice in a static model; it becomes unavoidable when the tracks must circulate.
The agent identifies the gap and asks whether to repair it or use a replacement asset. With permission to proceed, it measures the closed path and link spacing, extends each track to 49 links, and reuses the existing UVs. Each link receives its own bone.
Skinning then follows the mechanical structure: 99.8% of vertices bind to a single bone, while the whip antenna receives a flexible transition.
The tank ends up with 125 joints, including 98 for the tracks, and ten animation clips. A small mismatch remains: aligning wheel rotations and track movement into seamless loops leaves 0.8% slip.
A tentacled mech: testing the rig in motion
The mech combines 98 separate parts with two nine-segment tentacles. It requires rigid binding for its armor and smoothly blended weights for its tentacles.
Without a suitable template, MeshyRig infers joints from contact between parts. Centers of annular contact surfaces provide candidate joint locations, and connected components form limb chains. This produces a 41-joint skeleton.
Animation exposes errors that static inspection misses. The initial shoulder rotation axis sits roughly five centimeters outside the ball center, causing the shoulder plate to penetrate the chest. Geometric fitting error alone does not reliably identify the correct center. Evaluating interpenetration across the motion provides a more useful criterion: after correction, intersecting triangles during Stomp fall from 92 to 28.
The tentacles introduce a different problem. Specifying joint angles produces waving motions without reliably reaching a target. MeshyRig switches to target-based control using a CCD inverse-kinematics solver, with constraints governing how the chain can move.
Spring-driven secondary motion adds weight, but during Leap it throws a tentacle into the gun arm. Pushing it outward every frame creates jitter as the spring pulls it back. The successful revision gives the tentacle an explicit animation trajectory, allowing the spring to produce lag around that path. Interpenetration falls from 886 triangles to approximately twenty.
Results across the three assets
| Pig | Tank | Tentacled mech | |
|---|---|---|---|
| Source vertices | 5,014 | 7,848 | 39,518 |
| Joints | 34 | 125 | 41 |
| Animation clips | 12 | 10 | 8 |
| Skinning | Smooth bone heat diffusion | 99.8% rigid | Rigid parts with smooth tentacles |
| Geometry changes | None | Tracks extended from 31 to 49 links per side | Hydraulic strut separated into two parts |
These are case studies of different rigging problems, rather than a broad performance benchmark. Joint counts also reflect motion requirements: the tank needs many bones for individual track links, while most mech parts can follow existing bones rigidly.
What the experiments suggest
The recurring challenge is selecting a strategy that matches the asset. A curled tail, an incomplete track, and an incorrectly placed shoulder axis require different diagnoses and different tools.
The experiments also show why revision matters. A plausible skeleton is only an intermediate result. Playing animations, measuring failures, and incorporating feedback reveal problems that would otherwise survive into the finished asset.
Verification must test the behavior that matters. An optimization can converge while producing an unsuitable rotation axis; measurements across actual motion can expose that mismatch.
Limitations and open questions
MeshyRig remains experimental. The tank retains track slip, and the mech still has residual interpenetration during Leap. Its repaired hydraulic strut travels only 5–7 millimeters because the source geometry limits its movement.
Broader questions remain: how well does the approach extend to cloth, soft bodies, or multi-legged creatures? Which missing structures can be repaired reliably? Could the checks become a public benchmark for rigging quality?
For the complete implementation discussion, additional corrections, and animation demonstrations, read the original MeshyRig report on the Meshy Research blog.
Citation
Sky Shi. “From a Pig to a Tentacled Mech: Teaching an Agent to Rig.” Meshy Research, October 19, 2026.
