The movement of the shoulder often poses the most problems for animators. An animators basic shoulder setup usually involves nothing more than a single skeleton bone chain beginning just after the neck and ending at the start of the arm skeleton root. Upon animating ball and socket type characters, or extremely stylized characters this method can be very successful.

When an artist creates a more realistic type character that needs to move in a realistic manner, a more involved setup is required. Traditionally, I think the shoulder has been one of the most difficult areas of a CG character to rig up. It is a topic that consistently arises in my classes, as well as in the newsgroups to which I subscribe.

This article will take the reader through a more complex shoulder setup. Upon animating this setup, the reader will find that it replicates the movement in a very believable manner, simulating all of the muscle groups of the shoulder. Less tech savvy readers can take comfort in the fact that no expressions will be used to get this setup working.

Reference Material

I recently injured my shoulder, though I can't remember how. The dull, nagging pain prompted me to visit a number of medical web sites to try and figure out what might be wrong. After looking at dozens of medical illustrations, it began to dawn on me that I had been going about my setup all wrong for the past few years. The number of overlapping muscle groups wrapping from posterior to anterior made it clear that I needed to simulate this underlying musculature to get the motion I was after.

As for my shoulder pain, I rubbed some dirt on it, and things seem to be OK now.

I downloaded the following illustrations from www.teleemg.com. All attempts to contact the admins of the site resulted in bounced emails. The site is a virtual ghost town in terms of contacts, and hasn't been updated for a year and a half. I decided that it would be OK to use the references seeing as I was not going to be making money off of this article, and hopefully people would learn a thing or two about their own bodies.

click the thumbnail to see the full res version of each detail. Save the images into the pictures folder of the project you're working with, or drag and drop them in any XSI viewport to load them as image sources.

Shoulder skeleton setup in XSI:

The musculature method

By Adam Sale

Templating the muscles

In a front view, create a rotoscope background image of a shoulder .jpg Each of the .jpgs isolates one particular muscle in the shoulder, however, all the pictures are pretty much the same scale, so you'll be able to rotoscope the position of the muscles in one image, and then replace the image with another and rotoscope the position of the next muscle. Working this way, you should be able to overlay each muscle one at a time until you've recreated all of the muscles of the shoulder.

Draw a single bone shoulder chain, to place the chain root of your characters shoulder as well as the end effector that meets the root of the arm chain.

Template the muscles by drawing CV curves to get the position and proportions correct.

For added visuals, I drew a curve for the contours of the left side of a muscle, and then duplicated the curve and pulled points to define the right side of the same muscle.

After you've created the two profile curves, loft them together to create a nurbs patch.Give the patch about 4 or 5 sudivisions in the U and V directions.

2D templates to 3D reference guides

As you draw each muscle, it only appears in 2 dimensions along the 2 axes of the wondow you're drawing in. Once you've built the basic muscle shape, you're going to have to extrapolate this data, and turn the 2D shapes into 3D muscles. Examine the reference images to get a feel for how the muscles are wrapping underneath the torso form. Gather more reference if you need to get the views of these muscles from other angles. Note where each muscle begins and ends and reproduce this structure as accurately as possible by pulling and pushing points

Boning 3D reference

Creating the 3D muscle reference is simply going to give you a 3d template guide to place the IK chains on your characters. You can turn off all rotoscope views now and orbit your muscle system to get a feel for their inner workings.

Freeze the operator stack of all muscle patches and delete the construction curves. Select the muscle patches and group them as 3D_TEMPLATE. Turn off the selectablity of this group in the pop up ppg.

The task now is to create a skeleton chain system based on the flow of the 3D_TEMPLATE patches.

If your original curevs were drawn inm the front view, open up a top viewport to draw your bone chains. The chains are going to be IK animated, so drawing the curves in the top view will allow the proper bend to the IK chain when you animate the controller.

2D IK chains will always deform around the bones local Z-Axis, unless you dictate otherwise in the bone chain property editor.

In the top view, just concern yourself with adding in an adequate number of bones and that the length of the chain roughly lines up with the length of the muscle you're tracing off. 4 or 5 bones in a given chain should allow for maximum flexibility. The additional number of bones will also allow for a more reliably calculated envelope.

Adjust the bone lengths and rotate the chains into place You can rotate and move the chain as a tree to fit it to the reference to be lowered into place over top of the 3d template. Line it up with the same amount of accuracy you exhibited perfectly. If bones end up being a little too short when the chain is finally placed, select a bone and hit ENTER to bring up the bone PPG. Adjust the length slider to get the proper bone length you'll need.

The main issues you'll have when experimenting with this method is getting the perfect placement of the chain roots, and the effectors. Remember that these chains are supposed to be simulating the underlying muscle. You're actually trying to envision the places where those muscles would attach to bone. If you get this right you're home free.

 

Cutting Effectors

At this point, all of the effectors in your shoulder system should terminate at or near the root of your arm chain.

XSI, as you know allows you to cut the effector from a chain. This is exactly what you'll end up doing to all of the chains effectors.

Make the effectors the children of the one bone shoulder chain that you initially placed on the character. Make sure that theu are all children of the shoulder joint or bicep joint, not the roots or effectors. When determining whether or not an effector should be a child of the shoulder joint or the bicep joint, stand up and move your arm around, try and feel what is hapenning to the muscles when you move into different poses. All of the muscles attach at different places, so extending your arm straight out in front of your body will pull a different muscle group than if you were to hold your arm out from your side, parallel to the ground I started off by parenting all of the effectors to the shoulder bone and then began experimenting with different effector parent combos until I came up with one that worked for my character.

Create a reference key for the effectors.

If you rotate your shoulder joint, the muscle chains won't follow along yet. In XSI you must key the end effectors POS X,Y,Z if you want it to follow a parent object that is selected as a node. Its kind of like a poor mans poisiton constraint, but it'll serve our purposes admirably.

Select all of the end effectors, using effectors* as a search term in your filter box.

Highlight all of the POS X,Y,Z transform boxes, and then press 'K' to key all of the effectors with the marked transform. Now when you rotate the parent shoulder bone, you'll have a very nice shoulder movement automatically built into the shoulder animation. When you envelope the system, the geometry should deform correctly, and need little or no envelope editing.

Enveloping the system

When you're ready to envelope your character, simply include all of the muscle bones as deformers of your envelope. I like to select all of the bones in the body that will deform my mesh, and create a group for them. This makes it easy to add the bones as deformers, because when I choose envelope>set envelope, I only need to click on the bones group to assign them as deformers.

When you're ready to animate, all you have to key is the rotation of the main shoulder bone, and let XSI take care of the rest.

A real test of a shoulder setup is the ability to raise the characters arms above its head without having the envelope tear or deform horribly. If you can do this without issue, you're well on your way.

Download or Drag and drop this link to see a quick setup.

Shoulder setups: The musculature approach was written by Adam Sale. Adam is a Technical Director and co-founder of Joncrow entertainment. A fully certified Softimage instructor, he teaches character animation & Visual FX part time at various institutions throughout Vancouver BC. Adam can be reached at adam@joncrow.com