Part 3: Rigging the Upper Body
Published: 22 Feb 2017 through 1 Mar 2017
Part 3 is in two installments. In the first installment we will rig her arms and hand positions with Duik’s help. The second installments adds a slider controller so Angie can place her arms behind her back. We’ll also write expressions to enable a cloth response to her shirt when she bends her arms.
You should have completed Parts 1 & 2 if you plan to follow along with these installments.
2.3a Rigging Angie’s arms and hand controls
The arms are a basic Duik rig with the added feature of switch layers for the hands. The rigging of the arms is very much like the previous rigging of the legs.
Video Published: 22 Feb 2017
2.3b Shoe Controls and Rigging Angie’s Spine
We’ll be working with transparency of the shirt layers to allow Angie to place her arms behind her back. Unlike Stickman’s rig, we’ll be using a slider controller instead of checkboxes to achieve this. Then we’ll create special masks to enable a cloth response in Angie’s shirt as she moves her arms upward.
Video Published: 1 Mar 2017
More about the cloth response expression in tutorial 2.3b
Edited For Clarity: 24 Jul 2017
I used the linear expression in tutorial 2.3b to create the cloth response of Angie’s shirt when she moves her arms. The resulting expression for the left arm shirt cloth as explained in the tutorial is:
So, instead of separating the (X, Y) values for the puppet pin that controls the cloth location, we can enter them in as vectors1 (arrays), or (X, Y) coordinate pairs. Vectors and arrays are placed in brackets, so in this case a vector with (X,Y) values would be written [X,Y].
Can be compressed into this:
The variable P is an arbitrary choice (standing for position) and will be expressed as a vector containing both the X and Y results in both forms of the expression above.
The vector range is based on [0, 0], which is the starting position of the cloth puppet pin when the bone rotation is at 258.3, through [-50,-25], the (X, Y) position of the puppet pin when the bone rotation is at 180.8.
So the script could be written like so:
1Adobe refers to position point arrays as vectors, as opposed to arrays, because mathematically coordinates of a point on a plane or in 3D space indicate direction from the origin (or another point). In other words, you can draw an arrow from the origin (0,0) or (0,0,0) which points directly to the point’s coordinates. Non-position property values, such as scale, are referred to as arrays.
*Don Q Media and Jared Mark Graham have no affiliation with Adobe Systems Inc.