Wednesday, 13 April 2022

Useful Scripts: Turn off ALL local rotation handles

Exposing local rotation axis allows you to see the position and orientation of a node that doesn't have a shape node and so isn't visible in the viewport.

But you can't select an object by its rotation axis, so if you don't remember which object it was, now you have no idea where that rotation handle is coming from!
You might reason that if you know what object is in that position, then you know which node to go after. Ah but in rigging, such as in character rigs, it's very common to have a dozen nodes occupying to same position and even the same orientation.
And then every time to toggle a handle and it doesn't go away you know you've instead just turned that object's handle on, so now there are multiply objects with their handles visible, and you don't remember which ones...

Utility Nodes: pointOnCurveInfo

This little work horse will be your new best friend!


The pointOnCurveInfo node.

This node allows you to pin a transform node anywhere on a nurbs curve, and the applications there are numerous.

Aside from the usual parametres that almost all utility nodes have, pointOnCurveInfo has only three inputs you need to worry about, and they're all fairly intuitive:
inputCurve takes as input the shape node of the nurbs curve you want as the position driver.
parameter, though non-descriptively named, controls where on the curve you want the transform object to be pinned to.
turnOnPercentage (christ, who names these inputs?) is a boolean which when on means the parameter input will be treated as a percentage of the curve's total length (I'll show you in more detail in a moment)

Saturday, 9 April 2022

Blend Shapes Between Non-Matching Geometry: It's Possible!

We aaaaaaaaaall know -don't we? - that in order to apply an object to another object as a blend shape, those two objects have to match.

We know that, right? Of course. Everybody knows that about blend shapes!

Well it's a shame we all know that, because it isn't true.

Watch this:

You might be looking at that and thinking "But that's impossible! The source mesh is just a head, while the target mesh is the whole body!" And who could blame you? Normally when you try to make a blend shape between two objects whose geometries aren't identical, Maya throws it back in your face:

Vertex IDs & Vertex Order

Polymesh objects in Maya are made up of components, like faces, and edges, and such. And the king of components - the most fundamental - is vertices.

Every vertex in a mesh has a unique identifier called an ID that helps Maya tell them apart.
And it's important to understand a few things about these IDs...


Vertex IDs

The reason Maya is able to tell one vertex from another is because every single vertex in a mesh object has a unique number assigned to it called a vertex ID.
The quickest way to see a vertex's ID is to select that vertex and look up at the very top of the Maya window. The name of the object will be displayed followed by a number enclosed in brackets: