Rig the Cardinal and pose match with live bird singing X-Ray video

Download the materials : cardinal_rig_Jun1314.zip


This is collaboratoin with Dr. Dominique Homberger’s group. All rights reserved. Please don’t distribute.



The model

Each bone in the Cardinal model is the result of piece by piece segmentation (mostly manual) from a 3D CT scan. Dr. Homberger’s student uses the visualizaton software Avizo (from VSG group, LSU license) to segment the bones and save each of them as an individual surface geometry in .obj (wavefront) format. These bones are then imported into Maya, adjusted toward a centered and more or less straight 3D model friendly for rigging. I usually also relax the bone surface to be smoother, and reduce the number of triangles for smaller file size.

The rig

During the rigging process, the model is referenced instead of directly imported. This gives me flexibility to do therigging while the model is still being finished by my collaborators. The rig roughly includes parts with controls:

  1. Body: Notarium, Rib, Scapula, Carocoid, Furcula, Sternum, Humeras
  2. Neck: Cervical Vertbrae
  3. Head: Skull, Maxilla, Quadrate, Jugal, Pterygoid, Palatine, Mandible
  4. Tonge: Ceratohyal, Basihyal, Urohyal, Paraglossal, Epibranchial, Thyroid Cartilage, Arytaenoid, Procricoid
  5. Pipe: TrachealRing

Iks are mostly used for rigging. Utility nodes are used for the strechy and squashy Ik chain effect. After testing the rig, each bone is parent constrained to each corresponding joint, except the TrachealRing is rigid skin bind, and left and right Epibranchial are smooth skin bind.

The import side camera image plane

The X-Ray video is composed of image sequences, which we assign to an imported side camera’s image plane. check “use sequence” to enable frame by frame animation in time slider.

Make sure the image sequence file name follows Maya-accepted name convention, which is usually sth. like: file.0001.png. If your image sequence somehow doesn’t work with Maya, check the name convention first. Here is how you can change names of many files using bash (shell) :

In bash, you can do pattern replacement in a string with the ${VARIABLE//PATTERN/REPLACEMENT} construct. Use just / and not // to replace only the first occurrence. The pattern is a wildcard pattern, like file globs.

For example, if your filenames are : file_test_0001.png, you want to rename to : file.0001.png, from a terminal, cd to the directory where your files are, then copy this command and press ‘enter’ key

for i in *.png; do mv "$i" "${i//_/}"; done

This step will strip all underscores in your filename, so you get: filetest0001.png

then you can again do

for i in *.png; do mv "$i" "${i/test/.}"; done

This step will replace ‘test’ with ‘.’, then you get: file.0001.png

The pose-match animation

Now, when you select any time frame from time slider, you have a side image as reference for you to pose match the Cardinal model to the image. Move the controls to their proper position and key them in the time slider. Don’t directly move any joints/Iks in the rig, actually you should hide those in the render window’s Show menu.