« Mental Ray | Main | More tools, more setup. »

Splines, Splines, and more Splines

Hands down, the most time consuming part of the heart surgery animation is the Splines. Anytime there is a tube or wire in a scene that needs to somehow bend, a spline is going to be the best bet. You could always hand animate every point of the geometry of a three dimension tube, but you'd be animating perhaps over 10,000 points by hand. Since this just plain isn't feasible, a technique called spline-handles is used to make the job much simpler. In my case, I have a tube inside another tube that has to bend and catch another piece of metal. This piece is then pulled through the heart. the Part of the tube through the heart has to stay in the place, while the rest bends to follow a tool that is pulling the tube out the other end of the heart. To accomplish this, I had to imply several different methods on top of each other.

Here's the way it starts out: I have a cylindrical tube made of over 10,000 polygons, called the "mesh", modeled in a rigid straight shape. Since animating each of these polygons would take the next 10 years, I have to create a chain of "joint" or "bone" deformers. Each bone is linked to each other, just like a skeleton, and deforms a small portion of the polygon mesh. I still have over a hundred bones controlling each tube though and hand animating each one to follow a path would still take the better part of a year. So, to still have control over a skeleton, the bones are attached to a three dimensional curve. Now I'm at a place where I can realistically animate this tube. The bones are stacked end to end on this curve in a chain, and rotate on their own to follow the direction of the curve. This technique of attaching a joint chain to a curve is called using a spline, or using a spline handle. Even though it's workable now, a curve may still consist of a dozen to a hundred animatable control points. To simply this again, I group the curve's control points that I wish to animate into a couple clusters. Now, all I have to do is move a couple clusters around the scene to make the tube bend and move in any way I can imagine. So far I have 9 seperate joint chains each on a spline, and 5 of these chains must completely align with each other at some point in the animation.