Tuesday, November 13, 2012


Here is how to do a controller to control the rotations of multiple controllers on an FK Spine.

First draw at least 3 joints from the root of your character (assuming a humanoid). Label the joints Spine_1, Spine_2, and Spine_3; make sure that you use a script such as cometJointOrient.mel from comet cartoons:

X axis should be pointed down the heirarchy and the Z rotation axis should match on these joints. See figure:

create 3 NURBS controllers for these joints (I use circles); then create 3 nulls by going to create>empty group or by hitting Cntrl +G with no objects selected.

you will then select Spine_1 joint and then a null and go to contrain>parent (make sure that maintain offset us UNCHECKED in the options). Repeat this for each null and then delete these constraints by selecting them in Window>hypergraph:hierarchy .

move the NURBS controllers to the joint they will control (hold V to snap to a joint); now freeze transformations on your NURBS controllers then parent them P by selecting the controller and then the null associated with the joint they will control. select the NURBS controller and then freeze transformations on them again.

Select a controller and hit control-G to make a group between it and its null. Repeate for each controller and name them BACK_A_GRP, BACK_B_GRP, and BACK_C_GRP.

Select each Spine controller then the joint it controls and do a constraint>Parent Constraint for each one.

Awesome; now you will create or choose a NURBS shape to work as your BACK_ALL_CNTRL. I usually take a larger circle or other shape from a library of controllers I have. Create a null; select the Spine_2 joint and then the null and do contrain>Parent Constraint. Delete the constraint. Now freeze trasnformations on BACK_ALL_CNTRL and then parent (hotkey is P, NOT the same as parent Constraint). to the null. Freeze transformations on the controller again.

Now select BACK_ALL_CNTRL and BACK_A_GRP , BACK_B_GRP, and BACK_C_GRP and go to  window>Rendering Editors> Hypershade.

Now you will hit the graph input and output connections and in the work area selec the little output arrow from BACK_ALL_CNTRL and select rotate> and then connect the green connector to the input arrow of the BACK_A_GRP and choose rotate. Repeate this between the BACK_ALL_CNTRL and each back group.

You are now done; if all is right in the world you now can control your spine controllers individually or all at once with the SPINE_ALL_CNTRL. Well done!

No comments:

Post a Comment