Showing posts with label roll joint. Show all posts
Showing posts with label roll joint. Show all posts

Sunday, 13 February 2011

Setting up a forearm roll joint - method 2

Here is a second method for setting up forearm roll joints. It's a follow on from this post which covered how to set it up using the rotateY attribute of the wrist joint. This second method is the way I implement a forearm roll system, but I wanted to post the other version simply because it's a great way of looking at how different rotation orders can have implications for your overall rig set up, stability and usability.

So, to set up the forearm roll:

The basis for this is a single aim constraint, and is pretty quick to implement.

Thursday, 10 February 2011

Setting up a forearm roll joint - method 1 of 2

The problem with roll joints is always one of driving them, and that comes down to being able to separate out the twist rotation from the source joint (upper arm/wrist etc. etc.).
The upper arm is pretty tricky in this respect due to the large range of movement and so requires a more complex set up. The forearm, however, is quite a lot easier because the rotation range of the wrist joint within its local coordinate system (of the elbow) is reasonably small.


There are two ways you could set up the twist system. The first is super-quick and 99% stable (but is completely dependent on your wrist joint rotation order for it to work), the second is just as quick but completely stable and doesn't rely on you having optimal wrist rotation orders set.

Actually, if you want to set up a forearm roll joint system I'd definitely do it this way.
The main aim for this post is that it serves as a really great way of exploring rotation orders and the implications they have for your rig. It's quick-to-make practical example of how different orders can affect stability and useablility of the rig and also your own sanity when building more complex systems.

Monday, 29 November 2010

Using upper arm roll_01 to help deltoid deformation

In this post I'm going to expand the function of the upper arm roll joint system I posted about here.
The aim is to improve the deltoid deformation as the arm is raised from this

...to this, simply by driving the translateX and rotateZ channels of l_arm_roll_01 via the defDriver_l_arm_roll_01_twistMod joint that makes part of the upper arm roll system.


Sunday, 28 November 2010

No-flip upper arm roll joints

For those that know what roll joints are, skip ahead to the next bit.
Roll joints are helper joints to eliminate the 'sweet wrapper' effect that linear skinning gives when twisting along the joint axis. By distributing the rotation across a number of joints you can maintain volume in the mesh, and the more joints you use the less volume you lose.


180 degree twist distributed over one joint
180 degree twist distributed over four joints

In this post I'll be covering how I set up roll joints for the upper arm to give a nice distribution of down-axis twist deformation regardless of the rotation values of the arm joint.
Generally it's a bad idea to drive any roll joint directly from the rotation of another (you can get away with driving forearm roll joints from the wrist so long as you choose your wrist joint rotation orders very carefully). This is especially true for the upper arm which has such a large range of movement it is guaranteed that an axis will be crossed which will give you sudden changes in Euler rotation values, making it impossible to use them to drive a twist joint.