Ribbons in Maya

All code here is provided as is without support.
Use at your own risk! These posts assume you have some knowledge of import/running python script in maya. If Gifs/Images are not displaying in Chrome try a different browser.

Maya 2021+

Maya now comes with OffsetParentMatrix, PickMatrix, AimMatrix, UvPin, ProxPin, Rivets etc etc

ALL of these are aiming to give YOU more control over your rig evals for more performant rigs moving forward. And the proxPin and UVPin as per Will T’s replies HERE is optimised to remove the need for follicles. Great news.

We’ve even got matrix investigations by bindPose HERE trying to avoid ribbons.

These nodes are there to REMOVE the need for us to use follicles in various cases moving forward.

But these nodes don’t really help us remove the Ribbon setup at all do they!

IMO without some kind of new curve in Maya, we’re still going to want to do a similar approach but replace the follicles with the UVPin or ProxPin right?

Ribbons (Can we get a real curve in Maya please!)

I’ve never liked being forced to use a follicle to get a working “curve” with a twist down it. It’s always felt like a LOT of eval going on for something that we should have already in the way of a decent curve deformer in Maya that has never shown up. Also the result of the skin on the NURBS Plane plays into the setup too.

IMHO it comes at a fairly hefty cost. Each ribbon setup requires

This all adds up real fast in your graph, and you could fall off the GPU real quick come eval time. All for what should be;

I’d really like to see ADsk tackle this a bit cleaner. It’s a long time coming imo.

Here’s a look at the UVPins in play on a PolyPlane, NURBSPlane stacked up against a CurveNode. (Personally I would stick to the NURBS here as the poly is a bit more painful to get deforming as clean as the NURBS.)


And the node graphs for each setup:


Yes with a curveNode you’d need to shift your sine / twist blendshapes ya piping into ya NURBSPlanes, but honestly I wouldn’t want all that feeding a spine ahead of the rest of the rig evaluation anyways.

Also I’ve left the ctrls feeding the curveNode as joints, but these would be normally NURBS Curves rather than joints.

Anyways that’s a Sunday gripe from me to the universe :P