Building a Basic skeleton in XSI
By Adam Sale
Level: Intermediate
If an animator doesn't have control over his or her creation, the performance will suffer. The art of skeletal building, or boning, is one that is constantly evolving. Ideas have been adopted and discarded as fast as investors of bre-x stock. The skeleton we will build here is the base skeleton, the core structure of the character. I believe that enveloping is best done in layers. This skeleton will allow pure actions through pose and silhouette. The facial skeletons and musculature of the body in general, will be added later. The idea is to separate these different layers so that you can clip off parts of the skeleton if they are not required at the time. An instance where this might happen is in the swapping in and out of low-res hi res characters. The lo res character does not need to have any more control than the ability to body pose. The musculature would just be a burden on the deformation system. The Softimage tutorial guides have another tutorial on skeleton building, as does Chris Maraffi's XSI book.
Start with your rotoscope views. When building a skeleton, you need to have good reference imagery if you are to place the bones in the right places. A front on and right view sketch of your character are imperative if following along with this article. Import your front view and right view of the characters. The character should be facing you in the front view, and towards the left of your screen in the right view.
Lower Torso
I usually start by building the skeletal structure for the lower body. In the MODEL or ANIMATE modules, click on draw>skeleton>2D. Start by drawing a 1 bone chain in the front view that starts at the hip line, and goes down between his legs a touch. This bone will separate the lower body actions from the upper body actions. Middle click your mouse to complete a chain.
In the right view, begin drawing a 2 Bone chain for the thigh and shin of your character. Start your chain just below the hips of you character, right where you think the ball and socket hinges of your character should be. Make sure that you consider a good knee pivot, as well as a good heel pivot. When you go to add in the foot skeleton, use a 2 bone chain to create a hingeable area right on the ankles and on the balls of the feet. We'll add to this setup later if necessary.
Select the foot chain and align it perfectly with the end effector of the thigh shin chain by clicking constraint>position, and picking the effector as a constraint object. The foot chain will snap to the leg chain. Relax this constraint by clicking constraint>relax. It is important that there be no space between the chain root of the foot, and the end effector of the leg chain. If there is, your character could have major problems when animating down the road. Symptoms of this ailment include characters whose feet slide across the ground rather than make contact with it. This is poor bonesmanship.
In an explorer, select the root of the foot chain and drag it onto the end effector of the leg chain. The foot will become a child of the end effector. Branch select the leg chains, and move it over to the left in your front view. Line the chain up with your rotoscoped image. You can rotate the entire chain in branch mode to match up with the Poses you've sketched.
For now, do not bend the leg chain out of its 2D plane. It'll be a stiff pose, but for now, don't worry about the pose looking stiff. The acting comes later….
Select the effector of the pelvic bone, and click on Parent. In any viewport, pick the chain root of the leg chain. The Pelvis is now the parent of the leg. A nice feature of XSI is symmetrying skeletons, and parenting the symmetried objects to the same object the copies themselves are children of. To do this, select the leg chain as a tree, and click on draw>skeleton>symmetry chain. In the pop up axis box, choose YZ plane to symmetry the chain across. Check the share parent box.
Upper Torso
To begin the upper torso, begin a 2D chain at the base of the spine, the coccyx. Refer to an anatomy book if needed. We don't need to account for all the vertebrate in our 3D skeletons. A 4 or five bone chain should suffice here. Have the effector of this chain end at the shoulder blades. At this point, I don't think our torsos would stand up with this limited setup. The torso is an intricate tapestry of overlapping muscle fibber, and interconnected muscle groups. Its movement requires careful study.
In the front viewport, I add in a set of single bone chains to simulate ribs on the character. Make a set of rib bones for each spine bone on your character. You should end up with 8 or 10 ribs that begin their roots nearest the spine, and end out halfway between the spine and edge of the torso. The ribs are valuable in speeding up the enveloping process later on. They suck up valuable weights, and in most cases do a great job of simulating the movement for the body as well. In a later tutorial, I'll show you how these ribs can become key ingredients for inserting overlapping actions into the torso.
For the shoulders' the best advice I can give you is to look in a reference manual to understand what it is you need to emulate. Setups will vary wildly. For the main action, I create a single 2D chain bone in the front viewport on either side of the last spine bone. Name the joints L_SHOULDER and R_SHOULDER. I also create a series of single bone chains to surround the sides of the shoulder from the anterior and posterior. Two on either side works well. Refer to your reference to determine the optimal positioning for these bones. Again, their main purpose is to suck up some of the points from the main envelope of the character.
Parent these bones to the main shoulder bone that will control them.
For the neck, I use a one-bone chain built in the right viewport. The main bone that controls the head is also a one-bone chain built from the right. The root of the head chain should be made a child of the end effector of the neck.
The neck's root should be made a child of the spines end effector.
At this point, go through and name all of the bones you just created. Later on, when you're creating controls for your character, a naming convention will be your lifesaver.
When building chains for the arms, I have started using the three-bone method. Draw an arm chain as you normally would adding the biceps and forearm. When you get to the wrist add a tiny bone to complete the chain. This last bone should be kept as small as possible. Adjust the length of this bone in a property page. In your explorer click on the icon to the left of the bones name. This will bring up the options in the ppg
Get into the habit of using the length slider to adjust the bones. Physically scaling the bone is possible, yet will usually deform envelopes when animating in most undesirable ways. If you're going to be scaling any part of a skeleton chain, my advice would be to wait until after the character had been enveloped to do this.
If your arms are built with the arms out to the sides, palm downs, then build the arm chain from the top viewport. Remember to place a slight bend in the chain at the elbow to allow the Ik solver to behave as expected.
This third bone will have no noticeable impact on the IK solution because of the third bones proximity to the forearm bone.
Draw a 2-bone wrist chain in the front view. I use 2 because of the added ability to open and close the four fingers with one bone, for mitt or fist type poses. The knucklebone doesn't have to be very large. The fingers of the character will be drawn in the front view. Each finger should have three joints. We'll be using custom sliders to control the hand later, so name these joints now to avoid confusion later.
For the thumb, draw it in the top view, and then rotate the entire chain to get it in position.
Make all of the finger roots children of the end effector of the wrist chain. The thumb should be made a child of the wrist bone.
Putting the arm together.
Make the end effectors of the main shoulder chains the parent of their respective arm root chains.
Get a null. Position constrain it to the last bone in the spine, and then relax the constraint. Name the Null SHOULDERS_PARENT. Parent both arm chains making them children of this null.
Parent this hierarchy to the end effector of the spine. Make the hierarchy a child of the spine.
Your upper torso hierarchy should be all parented together at this point. To join the two hierarchies, make the legs root the parent of the spine root. The top of this skeleton is the chain root of the hipbone. Rename this root object to SKELETON_TOP. This is the most basic skeleton that you'll need to begin animating properly. If maintained properly you'll have no problem using this skeleton for any other type of character. By changing the lengths of the bones, it becomes easy to resize this skeleton later on for other bipedal characters.
You can finish off your scene by getting a model node, and making it the parent of the skeleton hierarchy. Make your model an internal or external model depending on your needs.
Save this link or drag and drop in a netview to download a simple skeleton setup
Basic XSI skeletons was written by Adam Sale. Adam is a Technical Director and co-founder of Joncrow Entertainment. He can be reached at adam@joncrow.com.