IK arm with weighted constraint twist control

Arm IK with weighted constraint twist control
This IK arm is an alternate method for setting up a partial twist on the forearm when the wrist rotates in X.

Firstly we need to do these steps so that the local orientation of the controller matches the local orientation of the joints –
V – Snap the controller box to the world origin.
Freeze transforms.
Group it to itself, call it buffer.
Select the wrist joint.
Select the buffer.
Parent constraint – no maintain – it should snap up into position.
Delete the constraint – now the local orientation axis is matching whilst retaining zero rotations on the controller, only the buffer retains the garbage values.

Apply an RP solver from shoulder to forearm. We use RP rather than SC so that we can point the elbow independently.
Grab the PIVOT of the end effector and snap it to the wrist, the solver will still calculate to the forearm but we have move the goal to the wrist. This stops the forearm from snapping.

Apply the pole vector constraint from the IK handle to the elbow control.

Point constrain the IK handle to the hand control.
Orient constrain the wrist joint to the hand control.

Select the hand control, then the forearm JOINT.
Orient constraint but ONLY IN X.
Select the elbow joint, then the forearm joint.
Orient constrain but ONLY IN X.

Now we have 2 orient constraints for the forearm joint. Set the weights at .6 for the hand control and .4 for the elbow.

Now we have a weighted forearm twist, if you parent a box to the forearm you will see that it partially twists when the hand is twisted.


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s