/* */

Sunday 9 May 2010

Ribbon Spine

Another variation of the spine, this one utilises the v position on a nurbs curve (the ribbon) to evaluate the interpolation between the skinning joints, whose up axis corresponds to the surface normal via a hair follicle system. 

Sounds complicated, but the real beauty of this is setup is once it's connected up, Maya will make all the necessary calculations to generate perfect fall off. 

Advantages over spinewave rig:

  1. You have independant twist control from the centre joint, something which eludes the standard squetchy spine (unless you implement a quarternion system).
  2. With the standard squetch spline the end joint can pop beyond the top controller, which the animator has no control over. The ribbon spine remains rooted at each end giving a nice ik action. 
  3. Weights can be adjusted on the falloff so the rigger/animator has a better control of how the falloff occurs down the spine as it twists. With a standard spline Ik there is just the one curve which rotates on it's own up axis, this works ok but with the ribbon there are two curves on the u axis and its interpolation is calculated between them  (thats the beauty of Nurbs!), these weights can be easily adjusted in the component editor. 
 Disadvantages are:

  1. Difficult to come up with any, but the quarternion setup would be better suited for circumstances that needs tight control. For instance, if I was rigging a tentacle or snake, i would opt a spine type setup. The ribbon spine would not be able to create "S" shaped curves without applying more joints down the patch and locators.  It's certainly achievable but not as simple as the quarternion setup.
Besides this, a really nice organic set-up that will give smooth results.  

-------------------------------------------------------------------------------------

Ribbon Hypergraph


Hypergraph and the spine itself...

The setup consists of a nurbs patch, which has a hair follicle attached to each section (to aquire the normal data). A joint is then parented to each follicle and have their translates zeroed (to move them into position)- these will be skinned to the character.

Another joint chain is created, this will be an fk chain and will be skinned to the patch to control its transformations. Three locators are then created, two parented to one. The daddy locator will be the position locator, the middle the aim and the third the up locator which is scaled down for visual purposes.

The locators are duplicated twice (total of nine locators) and are renamed respectively for middle and bottom. The mid pos locator is point constrained to the top and bottom locators. When one is moved the mid loc. will average its position between the two, giving the stretch control.

The aim loc. is then aim constrained at its opposite pos. loc. so it follows when translated. The mid loc. is aim constrained to the top pos loc. The up locs. are used for the up vectors in the aim constraint (for the twist action). The second joint chain is parented to it's corresponding aim constraint (not pos, otherwise it won't inherit the aim aspect).

The second joint chain is skinned to the patch whic drives its movement. Now you can edit the weights on the cv's to achiece the desired twist and transform interpolation - you choose, you decide!

voila, a ribbon spine!

-----------------------------------------------------------------------------------

Demonstration



Just a demo showing its squetch and twist capabilities. At the moment it's acting on the nurbs surface patch, so just imagine it having that effect on the skinned geo.

No comments:

Post a Comment