|Character Setup in XSI 1.5
Part 1. Leg & Feet
The leg is constructed with a two bone chain. And the feet are constructed with two single chains. Make the end effector of the leg parent to the root of the first feet chain. Then make the end effector of the first bone chain parent of the root to the last feet chain (the toe).
To be sure that the roots stay in place we will make Position Constraints.
Position Constrain the root of the first feet bone to the legs
end effector. Then Position Constrain the "toe" bones root to the
end effector of the first feet bone.
Part 2. Control Objects & Constraints
Forget about the Implicit objects you can create in XSI :) They are
only in the way since you can see them in shaded mode. What you need are
objects that are only shown in wireframe, regardless of which mode you
(I'm not a script wizard so I just copied what was recorded when I created
Part 3. Placing the controls + constraints.
Next part might be the confusing one. This is when you have to read carefully to not get lost.
Duplicate the wirebox three times (make sure XSI doesn't parent them together). Position Constraint one of the boxes to the legs end effector. Then Orientation constraint the same box to the "heel" bone. Now you can relax all constraints. Should look like this now.
This was just one way of doing aligning to the bone and effector. The reason why I wanted to also Orientation Constraint the box to the bone was to get the same values as the bone. So now we can Orientation Constraint the bone to the box (and it won't flip since they have the same values). So lets do that, make a Orientation Constraint from the heel to the box. So now when you rotate the box it will rotate the foot. You can now scale down the box so that it is smaller than the rest of the boxes and name it "Heel_Rot"
Select another box, Position Constraint it to the legs end effector
then relax the constraint (it's just like align). Now Position Constraint
the legs end effector to the box, name the box "Foot". This will create
the IK for the leg. Next important step.
REMEMBER TO ALWAYS MIDDLE CLICK WHEN YOU SELECT THE FOOT.
Did you get that? Now... SAVE! don't forget to save now and then.
It's time to make the toe control. Select the another box and position constraint it to the Heel bone's end effector. Then, Orientation constraint it to the toe bone. Relax only the Orientation constraint, if you don't know how to do that just relax all and then position constraint it again to the heel bone's end effector. Now Orientation constraint the toe bone to the box. Just like the heel bone the toe bone will now follow the box rotation. Name the box "toe_rot" Your setup this far should look like this
Now we also need a up-vector constraint. Move the last box so that it is in front of the knee, don't put it too close. Scale it down (it's just irritating to have a large box as a up-vector constraint). Select the thigh bone and Up-Vector constraint it to the box ( note: you must use the Skeleton -> Chain Up Vector or it will not work ). The leg will now flip but don't worry about that. To change back to the original rotation we need to change the Resolution Place (confusing?). Go to Edit -> Properties -> Animation Properties... Chose the Kinematic Joint rollout and then Resolution Place. Change the Roll to 180.
Now make the "foot" box the parent to that box. Name the box "knee_UPV"
To make some cosmetic changes hold down the "m" key and move the points so that the look somewhat like a foot. DON'T CHANGE THE POSITION OF THE CENTER OF THE WIREBOXES.
Your schematic view should look something like this
Now it's time for some explanation of all the parenting and constraining.
To finish up this scene we will merge in the same scene. So go to File -> Merge and chose your leg scene. Position out the roots and the feets of the leg like the pic below (reshape one of the tow boxes).
NOTE! When you do "merge" in XSI it creates a new scene_null. So remember to cut all the models and skeletons before using them in your scene.
Save the scene as Leg_Setup.
Part 3. Spine
This part is also a little different than other spine setups you probably seen. Most constructed spines look like this.
It usually works fine, but I've learned a setup that works better (for me anyway). And that one looks like this.
You see the difference? I start out with creating one bone that goes from the waist and down to the crouch. This enables me to position my hip in a more freely way (it's named the "hip_bone"...... "ass_bone" will work just as well... hehehe). I get much more freedom by having this bone by it self. Next thing I do is to draw bones from my waist all the way to the head (see pic above).
The root of the character will be at the waist. Now we need to parent the bones together. The "hip_bone" root is the parent to the "waist" root. The "hip_bone" is the parent to the roots of the legs. Make a Null and position constraint it to the hip_bone root, the relax the constraint. Make the null the parent of the hip_bone root and name the null "Character_Center".
Make another wirebox or duplicate one of the "Knee_UPV" boxes. Position Constraint the box to the "Character_Center" null, then relax the constraints. Select the "Character_Center" null and position constraint it to the box and also orientation constraint it to the box.
This box will be the control object that you will use for moving your character forward. You will also use it to rotate around.
Part 4. Arms
Arms and hands are pretty straight forward. What can be a little tricky though is the shoulder and the deformations around the armpit. There is no need for me to explain in detail how you setup a hand. But I will show you arms and wrist.
In the top view (always make arms in the top view, and legs in the right view) draw something that looks like this.
As I said, pretty straight forward. Upper_Arm, Lower_Arm and Wrist_bone. I always make an extra small bone for the wrist. It enables you a lot more freedom when it comes to deformations. The hand you will see is a hand I've reused from the skeleton that you get from the primitive skeleton (the skeleton that comes with XSI). Move the arm up in "Y" to where the neck begins.
Now for the shoulder. This is a really tricky part, I have never been
able to get a shoulder that works for EVERY situation. So what I do is
that I use different enveloped characters for different scenes. It's very
rarely that your character is doing ALL motions in the same scene. But
this is my trick to be able to get far enough.
Middle click to select the shoulder and arm then go to Skeleton -> Duplicate Symmetry. Make the root of the shoulders childs to the bone beneath the neck.
Then I create a null on each side of the chest which I also use as a skeleton. These nulls can be keyframes to help the envelope to be correctly deformed. Perhaps there are better ways of solving this.
Now everything should look like this.
I hope this will all help you become better animators and that you someday contribute with your own little setup.