Stockmoves Tutorials:
Chapter 1. - Maya The Basics
1.1 Importing Stockmoves data
If you've performed the previous tutorials you should now have a Stockmoves .umf file (you could also use one of the free
example .umf files provided on the webpage) and a converted scene for your package of choice. This scene contains a hierarchy
to which we are going to constrain our skeleton to during this tutorial. You will need to download the scene file that contains
the standard skeleton which was used for capturing data for Stockmoves. This can be found on the Stockmoves user pages. Later
in this tutorial we will elaborate more on setting up your own skeleton, but for now, the default skeleton will work just fine.
Go ahead and download it now. Once you have extracted the scene to the appropriate
directory, start Maya and open the file that you just downloaded. Your scene should now look like the following:

Default skeleton
Now that we have our default skeleton, you can import the file that you just converted or any other Stockmoves data that
you have bought.

Default skeleton (purple) and Stockmoves hierarchy (yellow)
If you have trouble converting the .UMF file into a scene file, please have a look at the previous tutorials. We won't be
needing the locators that were brought in with the Stockmoves scene, so delete them.
1.2 Constraining the hips
What we are going to do is constrain our default skeleton to the Stockmoves data in such a way that it follows the movements
of our Stockmoves hierarchy.
Before we can start constraining we need to match up the sizes of the Stockmoves hierarchy and the default skeleton.
So select the root of the skeleton and place it so that its position matches up with the pivot point of the lowest joint of
the spine in the Stockmoves hierarchy.

Positions matched
Now we can scale the default skeleton down so it matches up with the size of the Stockmoves hierarchy. Select
Edit - Select All By Type - Joints and scale the skeleton. Watch the shoulders and the hips for a good indication of the correct
scale.

Scaling matched
The easiest place to start constraining is with the hips. Go in and select the Stockmoves element for the hips.

The hips element selected
Constrain it to the root of the skeleton using a point constraint;If you look at the picture below, what you need to do
is constrain the green element to the white element.Play the animation to check if the skeleton is moving like it should.

Constraining the root of the spine (green) to the Stockmoves hips element (white)
1.3 Constraining the spine & head
OK, now we have the whole skeleton moving but it's still as stiff as a stick. We will need to continue on with the spine
elements.
Constrain the root of the default skeleton to the Stockmoves hips element using an orient constraint.

Constraining the hips element
Continue with constraining the first bone of the spine to torso element of the Stockmoves hierarchy.

Constraining the torso element
And while we're at it, constrain the neck and head bones to the corresponding Stockmoves elements with an orient constraint.

Constraining the neck and head.
When you now play or scrub the animation, you should have the upper body of the character moving like it should.

The spine, neck and head constrained
play movie (mpg - 103 kb)
1.4 Constraining the arms
The next thing on our list is the arms. Start by constraining the upper arm bones to the upper arm elements of the Stockmoves
hierarchy with an orient constraint.

Constraining the shoulders
Continue on with the the lower arms and finally the hands.

Constraining the lower arms

Constraining the hands
Play back the animation to see the arm movement.

The arms and hands constrained
play movie (mpg - 103 kb)
What you can see is that the rotation of the arms is pretty much there. But you can also see that the up and down, front and back
motion of the collar bone area is not taken into account.This can be acceptable if the 3D character that is riding on this skeleton has
a rigid look in the shoulder area. But if the character is made out of flesh, it's usually desirable to have the collar bone motion
applied as well.
In order to do that we first have to parent locators to the shoulder elements of the Stockmoves data. So create a locator for each
shoulder and snap them to the lower front vertex on each shoulder element. Then parent them to the Stockmoves shoulder elements.

Parenting Locators
Next, we must constrain the upper arm bones to the locators using a point constraint.

Constraining the collar bones
When you've done this, loop-play the animation and you will notice a much more fluid and natural motion in the shoulder area.

The collar bones constrained
play movie (mpg - 105 kb)
1.5 Constraining the legs
Now that we have done the arms, it shouldn't be too difficult to do the legs. Let's dive right in.
Constrain the upper leg bones to the upper leg Stockmoves elements with an orient constraint. Also constrain the lower leg bones to
the lower leg Stockmoves elements with an orient constraint.

Constraining the upper legs

Constraining the lower legs
For the feet you will notice that the Stockmoves hierarchy only uses one element for the feet and the default skeleton uses one element
for the foot and one for the toes.
What we'll do is constrain the first bone of the foot to the foot element in the Stockmoves hierarchy using an orient constraint.
You can later go in and animate the toe elements manually by keyframing their rotations, or creating set driven keys or expressions to
control them.

Constraining the feet
The last thing we need to do is similar to what we did with the collars. We need to constrain the roots of the legs of the
default skeleton to the upper leg elements of the Stockmoves hierarchy with point constraints.

Putting point constraints on the legs
Congratulations! You should now have a hierarchy that's moving like the Stockmoves data that you blended with the client
software.
The next chapter we'll get more in-depth and show you examples on how to make offsets, scale bones of characters with
different proportions compared to the Stockmoves skeleton, use a more complex setup for the spine and forearms and switch
between your motion capture skeleton and an inverse kinematic skeleton.

The skeleton fully constrained
play movie (mpg - 104 kb)
What you can do now is either hide the Stockmoves hierarchy and leave it in your scene, or bake the rotation channels of all the
bones and the position channels of the roots of the arms, legs and the spine, and then delete the Stockmoves hierarchy. You can also
start to load or create geometry and place that on the bones by either parenting, smooth skinning, or rigid skinning it.
Chapter 2 Advanced Techniques |