Monday, 11 April 2011

Post 24 - Elbows, Clavicles & Twist equations

IK arm with pole vector and clavicle control
I have just finished creating the workings out of the arm. It now includes a manipulator to rotate the clavicle, an elbow pole vector and now features a working twist bone, which rotates at half the speed of the wrist (will look awesome when it is skinned and should have a smooth rotation).






Elbow Pole Vector
As the arm is made using an ikRP solver (rotate pole), I created a pole vector (which looks like a cross-hair). Then , by shift selecting the arm's IK solver, I navigated to the 'Constrain' panel and constrained it to the pole vector (identical method to that of the knee pole vectors).


Clavicle Control
Clavicle control
Using the curve to create an arrow control, this was then placed behind the clavicle joint. Its pivot point was relocated to the clavicle and then the clavicle was parented to the controller. The only attributes which need to be used for this is the rotational values, so any other attributes can be locked and hidden (you will notice in the clip in the link below that the translation option and the rotation option for the pole vector are greyed out. This is because they have been locked and hidden). This is a great way of making the rig fool proof and making it difficult to manipulate it using wrong attributes. This technique of applying constraints is almost identical to that of 3ds Max's system; the only difference being that it was linking, as suppose to parenting (although pretty much means the same thing).

Forearm Twist Joint
This was slightly complicated and involved a bit of maths.By using the hypershade (usually used for material viewing) a simple equation node can be made (the one I used was called MultiplyDivide). Then by using the Connection Editor, I connected the wrist manipulator (control) and the mathematical node (controlled). By making the input and out connections, the mathematical node could be configured to be effected 50% (by replacing 1 with 0.5). This results in a 50% less rotation when the wrist manipulator is rotated (hand rotates 100%, forearm 50%). This is more of a relational connection but can be done in the same way as any other attribute, which was very handy.

IKFK Blend
As with the legs, the arms have also been given the ability to switch between IK and FK. Creating the ability for an IKFK blend is surprisingly simple. The process is as follows:

1) Select the arm manipulator, then 'add an attribute' through the modify tab (same as the foot control process).
 2) add the attribute titled ikfkblend (minimum 0, maximum 1, default 1). In Maya, when 1 and 0 are used, 1 is on and 0 is off.
3) Connection Editor; add the wrist manipulator in the left, the orient constraint of the arm IK on the right and connect the ikfkblend attribute.
4) Select the IK and access the Attribute Editor. Under the ik attributes, the ikfk controls need to be turned on.

IK FK Switching of the arm


Below is a link to a video, which showcases all of the above.

Arm manipulators and features clip - LINK

No comments:

Post a Comment