you are here [x]: Scarlet Star Studios > the Scarlet Letters > finding my c(g) legs
<< before here it comes again
after >> good google!

June 17, 2007

finding my c(g) legs

by sven at 11:59 pm

I feel like I'm finally beginning to get a feel for how to animate CG models. (Knock on wood!) It's been a week of migraines to get to this point, though.

click on image to play clip (799 KB)

Today's big victory: I figured out a bug that was plaguing me all week.

A wrote a few days ago about wrestling with the eyestalks. The clip above shows the final outcome for that effort. Unable to figure out what was causing the little "epileptic fit," I wound up simply re-animating the whole thing.

click on image to play clip (1 MB)

I was worried that the mysterious bug would show up again... And sure 'nuf, it did. In the clip above, watch the lower left-hand corner and you'll see the leg have a little unintended spasm.

What causes it? Short answer: It happens if you try to make the arm-tentacle's hand pass through its own elbow.

See, the Elder Thing model is basically just hollow skin. To articulate it into poses, you create a skeleton of bones, each of which has magnetic force that deforms the skin's polygon mesh...

The arm-tentacle's bones are rigged using "inverse kinematics" -- which basically just means that you pose the end of the bone chain, and the computer will figure out how to bow the chain so that it follows the hand's lead...

And if you try to make the hand pass through the elbow? Then the the computer has a problem, and it will suddenly pop the arm-tentacle off in a totally different direction.

This problem was really hard to diagnose for several reasons:

Let me show you the problem up close:

frame 12, IK turned on

The model stutters on the change between frame 12 and 13, and between 19 and 20. Above you can see the arm bowing nicely...

frame 13, IK turned on

...and then, in the very next frame, the arm pops to this pose! (Yeesh.)

That box in the center of the screen is what controls the position of the hand. I pose it independently of the skeleton. When IK is turned on, the computer will do computations to make sure that the last bone in the arm is touching it.

Now let's see what frames 12 and 13 look like when the IK is turned off...

frame 12, IK turned off

See that thin white line that the box is traveling up? That's its motion path. In frame 12, the box (the "wrist goal") is getting close to the arm -- but hasn't touched it yet.

frame 13, IK turned off

In frame 13, the box is now touching the (unposed) arm. This little transgression -- this is what causes the IK to freak out and makes the entire model stutter.

Boy am I glad to finally have the mystery solved! Not knowing why the model was out of my control -- it was torture.

Other good news: I figured out what causes a recurrent crash. If I have a LightWave file open -- and then replace it by opening another -- then when I go to render the second file, LightWave is going to crash.

It's not a situation that I can really avoid. But at least I can be smart about when I save my work. And I know that if I want to render a file other than the one I currently have open, I'm just going to have to quit the program and start it up again.

(Upgrade the software? I could upgrade LightWave 7.5 to 7.5d for free if I wanted -- but I've been reading about other bugs that show up in 7.5d. Too dangerous, methinks, to muck with mission-critical software while I'm on a deadline.)

posted by sven | June 17, 2007 11:59 PM | categories: let sleeping gods lie