Character Rigging – Shoulders are the Pits

by Brian Immel

Set Driven Skeleton Systems With Smooth Binding

The first thing we need to do is set up the positions for branching off the shoulder to simulate muscle movements below the skin.

Branching

Set up a series of joints surrounding the shoulder joint.

Four joints to build the basic branch:

1. Deltoid (top of shoulder). Keep in mind that the deltoid muscle is the primary mover of the shoulder when setting up the SDK of the branched joints. This joint will have a very crucial roll in the displacement of the shoulder geometry.

2. Many muscle groups influence the armpit area but the majority of these groups are influenced mostly by the primary muscle groups that surround the shoulder joint. Some of these groups include deltoid, pectoralis major and latissmus dorsi. Some of the secondary muscle groups include the teres major and coracobrachialis. Because there are so many muscles influencing the armpit, we’ll generically name the joint assigned to handle that area simply put as armpit.

3. Pectoralis (front of shoulder)

4, Scapula (back of shoulder).

5. Figure32 illustrates the different areas of the shoulder that are influenced by muscles acting on the scapula and shoulder joint.

Set Driven Key the joints surrounding the shoulder joint.

Use a controller object to drive the branch joints. In this case, select the S curve named Shoulder_Control_L.

1. Open up the SDK window and load the Shoulder_Control_L as the driver. Select the attribute Shoulder_UD.

2. Select the deltoid joint and load it as the driven.

3. All the shoulder branches will be driven via their translate attributes. Select the translate attributes of the deltoid joint.

4. Hit the Key button to set the default zero position.

5. Change the value of the attribute Shoulder_UD to somewhere between 1 and 9.

6. Translate the deltoid joint somewhere between the middle of the joint’s movement and hit Key in the SDK window.

7. Repeat steps 5-6 a few times to set up a smooth transition between zero movement and total movement of the deltoid joint. I usually set up three in-between SD keys between the values of 0 and 10.

8. Change the value of the attribute Shoulder_UD to 10.

9. Translate the deltoid joint to accommodate the folds of a shoulder being bent up.

10. Select the translate attributes of the deltoid joint in the SDK window and hit Key.

11. Change the value of the attribute Shoulder_UD to somewhere between -1 to -9.

12. Translate the deltoid joint somewhere between the middle of the joint’s movement and hit Key in the SDK window.

13. Repeat steps 11-12 a few times to set up a smooth transition between zero movement and total movement of the deltoid joint. I usually set up three in-between SD keys between the values of 0 and -10.

14. Change the value of Shoulder_UD to –10.

15. Translate the deltoid joint to accommodate the folds and pulls of a shoulder being folded down.

16. Select the translate attributes of the deltoid joint in the SDK window and hit Key.

17. Select the armpit joint and repeat steps 2-10 replacing deltoid joint with armpit joint. Continue this steps with all the branch joints until they are all driven. Note: these SDKs are subject to be tweaked once the geometry has been skinned. It may be desirable to skin the geometry first and then set up the SDK of the branch joints.

Parting Notes

Painting Weights

Majority of shoulder geometry weighed to the branches (if not all).

Branch end joints move (SDK) according to muscular movements of the shoulder. This may take some R&D time to get the movements you like. Setting up a SDK branch joint setup will require a certain amount of balance between the movements of the joint ends and the weights applied to them.

 

<< back to Skinning Methods Menu