Tony Chai  


ART [Auto-Rigging Tool]

[C++ OpenGL]

Based on SIGGRAPH's Automatic Rigging and Animation of 3D Characters [Baran SIGGRAPH07].
Algorithms based on Pinnochio system described in paper.


            Manual rigging requires time-consuming placement of joints to make skeletal animation look realistic. Along with my friend Steven Knipping, we propose to solve this by implementing a tool that will be able to auto-rig any character/mesh the user creates. Meshes must be restricted to a standard, predictable pose – for example, the classic T-Pose. The user selects the mesh, opens up our tool GUI, and clicks the button to automatically rig the mesh with a few custom paramters. The tool will then automatically create, proportion, and attach a skeleton to the mesh, enabling the user to animate with ease. 

            At its core, the tool will fit spheres into the volume of the input mesh, and will use a searching algorithm to find the best pathways between these sphere-nodes. The resulting tree becomes the positioning data for the skeleton joints, and is then bound to the mesh.


Implemented features

  • GUI
    • User can select threshold value and voxel grid size
    • Threshold = accuracy of edge graph construction
      • It is the same threshold value described in Pinnochio that affects the cutoff distance during the medial surfaces calculation
  • Resize to unit cube
  • Voxel grid
  • Calculating medial surfaces
    • Distance from each voxel
  • Sphere packing
  • Edge graph construction
  • Skeleton embedding
  • Penalty functions
    • For bipeds in a predictable pose
    • Arms/legs on the same side, sagittal plane of biped near the center of the unit cube
  • Create and bind Skeleton
    • Standard biped hierarchy
    • Successfully used meshes from Pinnochio’s OBJs to test our tool


From Pinnochio SIGGRAPH Paper:




From ART:





Sphere Packing
Edge Graph
Skeleton Embedding





Final Result