Strechy Bones (aka Muscle
time I saw how muscle bones worked I was amazed.. but I
never tried to replicate it in Softimage. Until I saw a
posting on cgtalk a few days ago. So here it is...
Strechy bones (aka muscles bones).
should install my "puppetmaster"
addon. I'm going to use those control objects in this
tutorial. I'm going to start with the bones that you can
place on your arm rig. Same technuiqe you can the apply
to the rest of your character. Then later I'm going to
show you how to add the muscles to a face.
recommend though that you use shape animation and muscle
animation in conjunction (unless you are animating for a
game engine). Muscle groups are fine, but they are messy
to animate. But you can setup pose animation for those
also. I'm not going to show that now, perhaps I'll add
another tutorial for that.
Arm and MuscleFirst start out with drawing a
two bone chain in the top viewport and place it in the
correct position (btw, the model I'm using is the built
in "man", simple so that you can replicate
we are going to draw out two single chains. One for the
upper arm and one for the lower arm. Place them as I
might be a "little" messy to view. But I've changed the
viewing of the bones to "box" and "pyramid", and
hopefully you see them better (the default visuals
wasn't readble in a JPEG image).
Now we are going to
use our puppet toolbar. Make a 'puppetsphere' that you
name 'LUAM_top' (which means Left Upper Arm Muscle Top).
And chose 0.5 as the radius. Now branch select the
Zeronull and move them both up to the root of the Biceps
chain (or position constrain the null and then remove
the constrain). Make another sphere which you name
'LUAM_bottom' same radius. And place it at the effector
of the Bicep chain. Do the same thing with the lowerarm
mucsle (and call them LLAM_top and LLAM_bottom). Your
scene should now look like this (with the the "man" mesh
we need to parent the ZERONULL's to the chains. The ones
that are named "top" should be parented to the upperarm.
And the ones that are named "bottom" should of course go
on the lower arm. Your schematic view should look
something like this.
use the old Softimage|3D style for drawing bones, so
your schematic perhaps looks different. But the results
will be the same anyway.
Now is when the "magic"
starts. So for the muscle bones. First you position
constraint the roots to the "top" spheres and the
effectors to the "bottom" spheres. This shouldn't move
anything out of the place.
now select your bicep chain and press enter on the
numeric keyboard (this should bring up the properties
window). Under the "Chain Bone" tab you should find the
properties for Lenght. Right click on the keyframe
button to the left of the lenght slider. And chose "set
brings out the expression window. Delete anything that's
already in the text window (should be the number of the
current lengt). Now we need to add an expression that
tells us how long we want this bone to be. And this is
the reason why we made our spheres. We want the bone to
always be the lenght between our sphere's. So for this
we us an expression that gives us the distance between
the to spheres.
In the expression window there is a
button called "function" there you can find the most
basic expressions. So chose "function -> Distance
-> Center to Center". In your text window it
should now read:
<elem1> , <elem2> )
"<elem1>" should be replace with our spheres. So
select the "<elem1>" and press down the button
object and find your LUAM_top. Then do the
same for "<elem2>" but chose LUAM_bottom.
Then press the validate button to check that it's
a correct expression. Your expression window should look
the same for the other chain. But use the "LLAM_top" and
"LLAM_bottom" spheres. You should now have a working
Now if you need to adjust your
bones you move the ZERONULLS. Envelope the character and
test your bones. I will discuss the "bulge" matter in
the next part (which will be written