Move Weights tool, a little known tool that you should be using to make skinning easier and allow for added control in a pinch. TDs can use it to speed up skinning by copying good weighting to new joints for twist, like shoulders to a few new twist joints in the upper arm for example.
Mesh and Rig from 3dfiggins.com/Store/ AnimRig – Amazing Spiderman – Free Download
Not a matter of opinion (despite your opinion of them 🙂 but don’t follow along blind, explore your own and try it out
First principles of naming
Names will be strings
Facts about strings
CPU string processing is slow
No long tokens at start of string (token discrete element or name)
component_side_ etc_extension or type
Note: “Type” is what it should be used for not just what it is “loc” example , DON’T DO THIS
Instead the “Type” is what the node is doing, not what it is – examples – “hrc” (hierarchy separator or spacer ) “srt” (scale rotate translate) “srtBuffer” (aka zero or offset or pivot)”leg_R_something_srt”We will look at Apps Hungarian notation as reference
Edges of the string are fast to get to in code
First block “leg” will be fastest part of string compare
End block is second fastest, “FK” checking the string
block length doesn’t matter, doesn’t have to be 3 char for example.
If lower case is hard to read use upper case “L” vs “l”
_L_ _M_ _R_ vs. _Lf_ _Rt_ _Md_ etc.. doesn’t matter really it just depends on how you want to do it and how many things you have to describe, what do you do if you have more than just left and right?
Name spaces vs. separators? Need to use Name spaces to fully get use out of Maya but the problem is that the tools to deal with them are or can be buggy.
NAME shouldn’t have any effect on what happens to the node or what the node actually does on the back end.
NAME should be able to made sense of if you have to work through the rig during trouble shooting or tracking down a bug.
Context Matters (hiearchy + name) can help make sure you know what the nodes are doing.
Remember the name is also for the animators and a good naming convention will help them know what they have selected and what they do and how much space they take up in the graph editor outliner so understand when and where to be flexible.
Question – What about fingers or spine Numbering?
“hand_L_[finger01_knuckle]_srt or fingerKnuckle_L but more of this will be covered in the next video talking about how to break the rig in to components
Rigging Dojo note: “There is an argument for not putting a buffer node above controls that will be in world space” I will disagree here because of how many cases where having animation be relative to a transform node and not the world is such a great thing, that we will recommend you buffer any animation control nodes. You could argue that you can always move the data to be relative and bake the animation it back out to world but that is a time cost that isn’t worth it.
Names can act as redundant work but don’t replace or should be used as MetaData
Have as much redundancy that doesn’t cost performance as possible.
MetaData can be a source of problems or get broken, causing TD to have to troubleshoot by hand or repair from the name but name isn’t only source.
Intro to components:
For you to organize the rig
Wheel + Fork/frame + pedals
Help with evaluation of graph not just pure visual
What order do you want the components to drive each other
Pedals drive wheel?
Frame moves Wheel and updates pedals?
Rigging Dojo note: “Raf digs in to some examples on circular logic but the core concept is good component design allows for more flexibility in changing relationships AKA having easy space switching or layers of drivers that don’t break. Picking what and when is in charge like a multi way constraints Raf hits a point where he gets to the point of why and what he really means with not labeling techniques like “Broken Hierarchy” or “Flat Hierarchy” He doesn’t have formal names for this part due to the existing names not being clear so he would call a “Flat or a non-hiearchy” a WIDE vs. DEEP hiearchy. It can’t be a hiearchy if it is flat and it isn’t Broken hiearchy because it works and it isn’t a hiearchy either. We Actually agree here that being stuck on the names for things and not being mindful of or creating meaningful ideas of what is really there “seeing the rig” vs. getting stuck on a technique name.
Wrap up QA
Why and how he got in to rigging
Resources – never followed a rigging tutorial so no recommended resources.
Will this be only Maya or will Fabric get talked about? Sure no reason not to and encourage artists to try ideas in other software.
What topics do you recommend studying to get deeper understanding of rigging theory
Character TD jobs require cross discipline understanding and something we get often are artists transitioning to Maya from Max and have a hard time with the way Maya approaches things like transforms. To make it worse, often times the same name means something diffrent in both software but they almost do the same thing so let Rigging Dojo help you out.
If you need more rigging focused training check out our ondemand class
What are the accepted use (if any) of Joints(Bones) vs Locators(Point Helpers) and more importantly, when, where, and how to use Groups effectively?
Is it best to group a bunch of objects together first before skinning them to a Joint?
How do you create a Dummy control in Maya?
What are shapeNodes?
There are more but simply understanding the makeup of your 3d objects goes a long way to understanding the software.
Translation to Maya
First lets look at some Max tools compared to Maya then we will talk details.
Bones == Joints
Point Helper == Locators
Expose Transform == Locator + Maya math nodes
Dummy == Null Transform (Group no children and no shapeNode)
Editable Poly Object == Transform + shapeNode
Geometry type (poly/nurbs/shapes) == shapeNodes
Creating a “group node” with nothing selected creates an empty node automatically named “Null” in Maya
Grouping transform nodes together before skinning doesn’t do anything extra for you because grouping isn’t doing to a mesh combine. You still have separate skin clusters for each piece of geometry, it isn’t like attaching many meshs together under an editPoly mesh object.
If you group geometry together you are just parenting the nodes under a new transform node. It creates a “Null” renames it to “Group” and automatically parents any nodes you had selected under the new “Group” node. These are not like the groups in Max that act like diffrent objects are combined in to one, locking the selection of the children. Maya has “Assets containers” that allow for similar functionally.
If you did wanted to have all your geo and just one skin cluster (for speed sake..the fewer skin clusters the better) you would have to do a mesh-combine operation first to put all the geometry shapes under a single transform node….like attaching mesh objects in Max.
(Note that Maya 2015+ allows you to mesh-combine with an option to also combine skin weights, allowing for some cool workflows and more flexibility to update models later)
Locators in Maya have some extra attributes in addition to just their transform node. They have some independent control over their size and location of the cross shape.
Locators can also output their world space location. You can then connect out their location in world space to other nodes. Similar to the expose transform tool in Max, but not as complex unless combined with other math nodes in Maya.
(example the Maya distance tool uses the locators world location attribute to drive the distance measurement so you can parent them in to any hierarchy and still get their true measurement.)
Joints are the most costly in Maya and have some diffrent attributes than regular transforms. Think of Joints as a transform node + orients (where they aim) and scale inversion (causes child joint to translate instead of scale when parent is scaled) etc..
They offer the most control and act almost like a Max list controller, combining what you would need to use 2 or 3 group transform nodes and some math operations in to a single node.
Shape Nodes are a type of node that is responsible for displaying and holding the geometry and other icons like the locator cross and the cone on a light. They are a child node of the “transform” node (our Null node that holds translate, rotate and scale). If you edit a polygon cube in Maya, moving the points around or extruding faces happens to the “shape”. Shape nodes can be re-parented to other Null nodes but you have to do this with a script, you can’t re-parent them directly in the Maya GUI.
With James Direen from Reel FX, Thursday August 21st
We would love to have you join the conversation by subscribe here. We are very excited to have James, who did some excellent work on some complex rigging for the upcoming “Book of Life”, so you might not want to miss this.
I like to tell people I’m technically an artist. My passion is really split down the middle between traditional art and straight-up computer science. That is what I love about cg rigging: the more I learn and practice on one side, the better I feel I understand the needs of the other. My career started at Idol Minds, a game studio in Louisville Colorado, where I primarily worked on the PlayStation Network game “Pain.” I loved the small studio environment where I could wear multiple hats — rigging one week, animating the next. Now I’ve been at Reel FX for 4 years, recently finishing work on their second feature animated film, “The Book of Life”. Here I am continually amazed and fueled by what we can accomplish with a large team.