Virtual Human Torso

with Heartbeat and Breathing

by Stewart Dickson

The following is the documentation of a project to insert a medium-detail articulated, anatomical human skeleton, heart and lungs into a 'skin'.

Figure 1. Full-Body Cyberware 3-D Scan

I began with a medium-detailed Cyberware scan of a female model (108146 polygons). Her back is quite arched and the torso skeleton does not fit into the skin in its neutral position.

Figure 2. Torso Skeleton in Neutral Position with Skin

I have rigged the skeleton to allow it to be articulated into position to match the skin.

First, I created a Inverse-Kinematic bone chain which matches 1-1 to the vertebrae. Each vertebral geometry element is a coordinate- transform child of its corresponding I-K bone.

Then I fitted a spline I-K control curve to the spine I-K bone chain. I can articulate the spine by moving 5 control vertices along the spline I-K control curve.

I initially had each rib as a coordinate-transform child of its corresponding thoracic vertebra, but having the ribs move rigidly with the vertebrae does not work -- the opposite ends of the ribs become disconnected from the sternum and there is no well- defined coordinate frame with which the sternum should move.

Each rib needs to be constrained at both ends simultaneously to two independently-moving objects: its parent vertebra and its point of attachment to the sternum.

I solved this problem by creating a two-joint I-K chain from each vertebra to the sternum, one for each side -- the left and right rib. I disconnected the two joints from the spine I-K chain and translated them to the two ends of each rib. I parented the rib I-K chains to the associated vertebra. I parented each piece of rib geometry to its I-K bone.

I then created the I-K handle for each I-K rib bone and point-constrained the I-K handle to the sternum. I had to manually move the offset for the point constraint to the correct point of attachment for each rib, because the point constrain by default is to the centroid of the sternum.

Figure 3. Spine-Vertebra Hierarchy

This method of using I-K bones to affect a two-point constraint to the ribs works better than the previous methods I attempted, using dynamics, pin and spring constraints. The I-K solution is much less computationally intensive than dynamics in that the I-K solver works interactively while dynamics depends on running forward animation time to effectively do a model posing operation.

But the I-K skeleton is much more laborious to set up. The two-bone I-K chain is created for each of 20 ribs, disconnected, re-parented, the I-K Handle created and point-constrained with manual offset relative to the sternum.

Dynaimcs fails because pin constraints on rigid bodies are relative to the centroid only of the rib geometry -- a single point. I-K bones with point constraints on the I-K handles provide the correct 2-point, flexible constraints to allow the ribs to move both with the spine and with the sternum.

Figure 4. Spine I-K Rig (Ribs, Vertebrae, Sternum) With Point Constraints

Figure 5. Articulated Torso Skeleton Inside Skin

[834KB AVI]