Back to Overview

RailSpline R&D

Tools & Techart Topics

When I started creating the video tutorials for the CGMA Course, I was wondering what type of spine I would teach the students.

The usual Spline_IK in maya works ok, it follows a curve, is easy to create a stretch on top of it with nodes and has a simple twist value.

On the other hand you have the ribbon (rivet) spine, based on a nurbs surface, is stretchy from the get go, really easy to set up and is able to twist the joints from every control even in the middle.

Both have their pros and cons:

spline vs ribbon

The thing about this is, that we want to use only the pros and get rid of the cons. So a couple of years ago I created a c++ node using each controller that drives the curve to also have an influence over the roll of the joints. (This node is also recreated in Bifrost)

So for this cource I converted that c++ knowledge back to simple Maya nodes, using both spines and a "closestPointOnSurface" node. The ikspline is driving the position of the rivets on the NURBS surface. This gives all the benefits of the ikspline retaining joint lengths on the curve. The rivets in turn are used as upvectors for the joints to make sure they aim towards the next one in the hierarchy while retaining the rotation value of the NURBS plane.

This is the result:

railSpline

The added benefit for creating this tutorial is that the students need to dive into NURBS and certain surface nodes that can be beneficial for other parts in rigs as well.

if you are curious to see the setup, have a look here: Click to Download