[vc_row type=”standard_section” bg_position=”center center” text_color=”dark”text_align=”left” top_padding=”5″ bottom_padding=”10″ bg_color=”#c4c4c4″]

Building FK Joints With Controls

Maya: Manual Rigging

[/vc_row]

[vc_row type=”standard_section” bg_color=”#a1a1a1″][vc_column column_padding=”no-padding” width=”1/1″][/vc_column][/vc_row]

[vc_row type=”standard_section” text_color=”dark” text_align=”left” top_padding=”30″ bottom_padding=”30″ bg_color=”#ededed”][vc_column width=”2/3″ bg_color=”#ededed” column_padding=”no-padding” text_color=”dark” text_align=”left”][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Info”]

This class is for students wanting to build fk joints with controls. These can also be handy to mod rigs for custom appendages with simple fk chains. Great for eyebrows, pony tails, pieces of hair and cloth. Custom facial rigs, belts cloth appendages and much more.

Section 1 covers Joint Creation and breaks the joint build into 6 simple steps.

1. Place Joint Pivots
2. Freeze Transforms
3. Orient Joints
4. Tweak X Roll Axis
5. Zero Rotation Axis
6. Mirror Joints

Section 2, Parenting Joints shows us how to parent joints to curves and then to groups to zero out transforms and create controls.

Section 3, Selection Highlighting Shows a neat trick in Maya where we can disable the automatic highlighting of hierarchies which can be annoying in animation rigs.

Section 4, Understanding Shape Nodes allows us to parent multiple curves under one transform node to create fancy controls such as smiley faces which need more than one curbs curve. We then go on to use joints as transforms to parent curves. This is handy as it neatly eliminates an extra transform node for faster rigs.

Section 5 covers doing the whole process quickly in less than 5 mins. We use scripts to help us avoid very repetitive tasks. We use the CG Monks Toolkit which can be downloaded for free.

Section 6 shows us how we can use follicles to allow use to parent joints directly to vertices, this is great for eyebrows or a moustache on a blendshaped face, or belts around the hips or buttons etc.

Section 7 demos the rigging of an entire character in this case Zanzi using a pure fk controls. In the last vid we’ll make some quick mods to give him ik legs and we have a basic but fully rigged character for body controls.

[minti_alert type=”info” close=”true”]This Page Is Beta: Temp vids and some content may not match.[/minti_alert]

[/minti_iconbox][/vc_column][vc_column width=”1/3″ animation=”none” column_padding=”no-padding”text_color=”dark” text_align=”left”][minti_iconbox icon=”fa-list-ul” style=”1″iconcolor=”accent” title=”Contents (1:27hr)”]

1.1 – Place Pivots
1.2 – Freeze Transforms
1.3 – Orient Joints
1.4 – Roll X Values
1.5 – Roll X Values
1.6 – Mirror Joints
2.1 – Match Controls
2.2 – Zero Hierarchy
2.3 – Lock Hide Attributes
3.1 – Selection Highlighting
4.1 – Understanding Shape Nodes
4.2 – Parenting Shape Nodes
4.3 – Parenting To Joints
5.1 – Fast Joint Creation
5.2 – Controls With Scripts
6.1 – Follicles
6.2 – Parenting To Follicles
6.3 – Follicle Solutions
7.1 – Joint Creation Zanzi
7.2 – Zanzi Skin And IK

[/minti_iconbox][minti_iconbox icon=”fa-pencil” style=”1″iconcolor=”accent” title=”Instructor”]

Andrew Silke

[/minti_iconbox][minti_iconbox icon=”fa-desktop” style=”1″iconcolor=”accent” title=”Software”]

Maya 2016

[/minti_iconbox][minti_iconbox icon=”fa-download” style=”1″iconcolor=”accent” title=”Downloads”]

CG Monks Toolkit
Selection Highlighting Script
Follicle Constraint

[/minti_iconbox][minti_iconbox icon=”fa-calendar-o” style=”1″iconcolor=”accent” title=”Last Updated”]

September 2015

[/minti_iconbox][/vc_column][/vc_row][vc_row type=”standard_section” bg_color=”#ffffff” text_color=”dark” text_align=”left” top_padding=”0″ bottom_padding=”0″][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”1/3″] 

[/vc_column][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”2/3″][minti_spacer height=”20″][minti_title align=”left”]Joint Creation and Orientation (18 mins)[/minti_title][vc_column_text]Creating joints in Maya is easy if we follow these 6 steps. It’s important to orient the joints correctly and zero the rotations and rotation axis. So a few things to remember, follow the list and we’ll have it down in no time.

1.1. Place Joint Pivots
1.2. Freeze Transforms
1.3. Orient Joints
1.4. Tweak X Roll Axis
1.5. Zero Rotation Axis
1.6. Mirror Joints

[minti_spacer height=”25″][/vc_column_text][/vc_column][/vc_row][wpanchor id=”1.1″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 1.1: Place Pivots (1:54 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Joint Tool
2. Place Pivots
3. Scale Move Insert
4. Reparent etc

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Place the joints. Rotations and axis and scale doesn’t matter. Only the pivots are important and the parent hierarchy.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”1.2″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 1.2: Freeze Transforms (1:30 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Select the root
2. Freeze Transforms
– alt f

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Select the root of each chain and freeze transforms (alt f on the c3dc hotkeys).

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”1.3″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 1.3: Orient Joints (6:42 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Unparent so no forks
2. Chain end dummies
3. Select each root
4. Orient Joint Window
5. Reset
6. Orient each chain
7. Flip y on flipped
8. Reparent forks
9. Delete dummy ends

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Orient the joints so that the x axis points directly down the chain. Open the orient joint window and reset it. Unparent any forks and if mirroring only work on the character left side. Create a dummy at the end of each chain for the last joint to point towards.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”1.4″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 1.4: Roll X Values (3:29 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Rot Axis visible
2. Goto Component > ?
3. Tweak joint rolls
4. Script for numerical

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

We can tweak the roll values if desired. This is easy to do but we must remember to zero the Rotation Axis values in the next step.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”1.5″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 1.5: Zero Rot Axis (3:39 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Parent root to dummy
2. Select the dummy
3. Run the script
4. Unparent root
5. Delete Dummy

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

To reset the Rotation Axis values to zero we need to use a script. This works only on the child joints of the joint selected so best to parent the joint to a dummy joint and run the script while selecting the dummy joint. (dummy joint is not in video)

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”1.6″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 1.6: Mirror Joints (1:27 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Mirror Joint Window
2. Reset
3. Axis to YZ
4. Joints need parent
5. Set rename prefix
6. Run

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Orienting joints is easy. Just remember we can only do one chain at a time and that the selected joint must have a parent on zero. Axis is YZ and behaviour will flip the y axis to point down. This is ok and normal.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][vc_row type=”standard_section” bg_color=”#ededed” text_color=”dark” text_align=”left” top_padding=”0″ bottom_padding=”0″][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”1/3″] 

[/vc_column][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”2/3″][minti_spacer height=”20″][minti_title align=”left”]Curve Controls as Parents (10 mins)[/minti_title][vc_column_text]Here’s a super simple method to make curve controls using groups as parents. The groups help us zero the transforms of the curve control below.

The hierarchy is simple, for each joint we go
grp > crv > jnt

It’s good to learn this simple method first before attempting constrained controls or parenting curves as shape nodes covered in section 4. Also see “selection highlighting” in Section 3. That will allow the controls not to highlight children which can be annoying for animators.

The last video in this tutorial covers locking and hiding attributes on the group and the joint, making our rigs animator proof. Simply right click > lock and hide on the attributes to hide. To bring them back we can use the window > general > channel control window.
[minti_spacer height=”25″][/vc_column_text][/vc_column][/vc_row][wpanchor id=”2.1″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 2.1: 2. Curve Controls as Parents (4:22 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Create Curves
2. Match by Parent
3. Match by Constraint
4. Match by Script

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

This video covers the creation of some simple curve controls and different matching techniques in Maya.
– Matching by parenting and zeroing, then unparenting
– Matching by Parent Constraint with maintain offset off, then deleting the constraint
– Matching with a script (shift x (hold) marking menu (up) )
In this example it’s easiest if the curve circles are rotated 90 degrees before matching.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”2.2″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 2.2: Zeroing The Hierarchy (4:28 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Create Grps
2. Match to Joints
3. Parent
Grp > Crv > Joint

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Now we’ll zero out the transforms of the joints and curves by adding and matching groups to the hierarchy. The order will be
– grp
— – crv
– – – jnt

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”2.3″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 2.3: Lock And Hide Attributes (1:27 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Select Channel Box Attributes
2. Right Click Lock and Hide
3. Channel Control Window

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

To have a clean rig we’ll want to lock and hide the transforms of the grps. It’ll disable them so the animators mess them up. Simply right click on the attributes and use “lock and hide”.

To retrieve locked and hidden attributes we can use
Window > General Editors > Channel Control

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][vc_row type=”standard_section” bg_color=”#ffffff” text_color=”dark” text_align=”left” top_padding=”0″ bottom_padding=”0″][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”1/3″] 

[/vc_column][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”2/3″][minti_spacer height=”20″][minti_title align=”left”]Selection Highlighting (2 mins)[/minti_title][vc_column_text]Selection Highlighting is a handy switch in the prefs that allows us to disable Maya’s sometimes annoying habit of highlighting the entire hierarchy while the parent object’s selected.

This is great for animators who like to see exactly what controls they have selected.

We have three different modes in the preferences.
– Always Highlighting
– Never Highlighting
– Use Object Selection Highlight

The last method is our preferred and gives us total control. Each object can be switched to ignore selection highlighting under the transform node under display.
[minti_spacer height=”25″][/vc_column_text][/vc_column][/vc_row][wpanchor id=”3.1″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 3.1: Selection Highlighting (2:43 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Prefs > Object Highlighting
2. Select Object
3. Attribute Editor
4. Transform Node
5. Object Display
6. Selection Child (off)
7. Or use script

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Very handy little attribute in the prefs is “Object Selection highlighting”. This allows us to disable Maya’s sometimes annoying habit of highlighting the entire hierarchy when the top object is selected.
This is great for animators who like to see exactly what controls they have selected.
We need to switch the prefs to object highlighting
 

Window > Settings Preferences > Preferences

Settings > Selection > Selection Child Highlighting > Use Object Highlight
Once on it will remain on for all future maya sessions and files. Then it’s just a matter of turning off a setting on each object. And we can use a handy script for this too.
 

  # selection highlighting on selected objects, so children don't light up when you select the parent
    #prefs must be set to 
    # Settings > Animation > Modifiers > Selection Child Highlighting: Use object highlight setting
import maya.cmds as cmds
for s in cmds.ls(sl=True, type='transform') or []: cmds.setAttr('%s.selectionChildHighlighting' % s, 0)

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][vc_row type=”standard_section” bg_color=”#ededed” text_color=”dark” text_align=”left” top_padding=”0″ bottom_padding=”0″][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”1/3″] 

[/vc_column][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”2/3″][minti_spacer height=”20″][minti_title align=”left”]Shape Node Parenting (19 mins)[/minti_title][vc_column_text]Parenting Shape nodes is the most efficient way to build curve controlled FK chains in Maya. It bypasses the creation of an extra transform node leaving just the joint (with a curve shape) and a group (transform). Although this isn’t a huge speed saving, it is cleaner and keeps the outliner tidy and manageable for fk chains.

There’s a lot to know about shape nodes and their relationship to transform nodes in Maya. Once learned this area becomes very easy and powerful.

Unfortunately in maya out of the box reparenting shape nodes requires a tiny line of .mel. and is annoyingly repetitive.

See the scripted workflow in Section 5 where we can virtually automate this process.
[minti_spacer height=”25″][/vc_column_text][/vc_column][/vc_row][wpanchor id=”4.1″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 4.1: Understanding Shape Nodes And Reparenting (5:31 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Outliner > Show Shapes
2. Attribute Editor > Tabs

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Transform and Shape Nodes are a critical component to most objects in Maya.
Transform Nodes = Where Am I?
Shape Nodes = What Am I?
For the most part these nodes are linked. A curve shape node will be linked to a transform node and in the outliner they are the same object. But we can show shapes by
Outliner > Right Click > Show Shapes

This will allow us to distinguish the transform from the shape in the outliner. Usually we want to have this off, but it show’s us how shape nodes can have a sort of parent hierarchy. This is handy as we can parent multiple shape nodes to a single transform.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”4.2″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 4.2: Parenting Shape Nodes (5:28 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Unparent Curves
2. Freeze transforms
3. Outliner > Show Shapes
4. Select shape then transform
5. parent -r -s;

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

In this video we’ll join multiple curve shapes to one transform using a simple command. Open the outliner and show shapes. Select the shape node and then the transform of the object we wish to parent to then use the code (.mel)
parent -r -s;
Objects must have frozen transforms and be in the same world space for this to work correctly.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”4.3″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 4.3: Parenting Shape Nodes To Joints (8:51 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Create Curve Control
2. Parent it to a joint
3. Freeze Transforms Curve
4. Unparent Curve
5. Outliner > Show Shapes
6. Select Shape then joint
7. parent -r -s;

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

In this video we can see how we can parent shape nodes to joints as well as transform nodes. Joints are one of the only objects in the 3d viewport that don’t have a transform node. Instead they are only a joint node. But shape nodes can be parented to joints in the same way as transform nodes. In this case it’s best to parent the curve first and freeze transforms then unparent to keep the curve from moving/distorting. Again we use the .mel command…
parent -r -s;

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][vc_row type=”standard_section” bg_color=”#ffffff” text_color=”dark” text_align=”left” top_padding=”0″ bottom_padding=”0″][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”1/3″] 

[/vc_column][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”2/3″][minti_spacer height=”20″][minti_title align=”left”]Fast FK Setup With Scripts (6 mins)[/minti_title][vc_column_text]This is the fast way to build FK chains in Maya with the help of some handy scripts for building controls and parenting shape nodes fast.

In the first video we’ll create and orient a joint chain quickly.

In the second video we’ll use the free toolbox from CG Monks. The CG Monks Toolkit has loads of powerful features.

We’ll see how fast it can be to create, orient and build control curves a fk joint chain in Maya. With this workflow we can easily create fk chains with curve controls in little time.

[minti_spacer height=”25″][/vc_column_text][/vc_column][/vc_row][wpanchor id=”5.1″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 5.1: Fast Joint Creation (1:58 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Position Joints
2. Freeze Transforms
3. Orient Joints
4. Roll X (optional)
5. Zero Rot Axis (optional)
6. Mirror Joints (optional)

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Orienting joints can be fast and easy with the steps we learned earlier. Here we skip the Rolling of X, Zero Rot Axis and Mirror as these steps aren’t necessary.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”5.2″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 5.2: Scripted Control Creation and Shape Node Parenting (4:22 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Name Joints
2. CG Monks Icon
3. Rigging Tab
4. TD Tools
5. Options > Reset
6. Pick Shape
7. Select Joints
8. Create
9. Group In Place
10. Rot 90
11. Freeze
12. unparent
13. Delete Transforms
14. Select Curves
15. ShapeParent
16. Connect
17. Select Joints
18. Connect

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

In this section we’ll use the CG Monks Toolkit to quickly create curve controls, parent shape nodes and zero transforms for multiple objects. As we’ve found in previous sessions this can be very repetitive, so by using this great set of tools we can cut our creation time down to just a couple of minutes.

There’s a lot of steps here so check the list (left). But since we know the process the buttons will make it very easy. At some stage I’d like to script this further to eliminate more steps. In theory, all we need is the joints named and to select the top joint and the type of curve and scale of the curve. All other steps can be automated.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][vc_row type=”standard_section” bg_color=”#ededed” text_color=”dark” text_align=”left” top_padding=”0″ bottom_padding=”0″][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”1/3″] 

[/vc_column][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”2/3″][minti_spacer height=”20″][minti_title align=”left”]Follicles and Parenting to Vertices (10 mins)[/minti_title][vc_column_text]Follicles allow us to parent joints (and other objects) to vertices. This is super handy for skinning objects to meshes where they may be affected by blend shapes etc. For example, eye brows, moustaches, buttons on clothes, belts and lots more.

Follicles are part of Maya’s hair system. But as many riggers have found they are the easiest and most efficient way of parenting objects directly to a mesh’s surface. The script used here is

Follicle Constraint by Michael Paixao

And it eliminates a bunch of steps that would be required to crate a hair system delete the unused nodes and get a follicle into the correct location.

Note* Follicles work with UVs, so the object must have solid UVs. We should be confident that the mesh won’t change much from here. We can rebuild follicles if we need to make mesh changes but it can be tricky, so best to be sure our mesh is good with solid UVs before setting up follicles. [minti_spacer height=”25″][/vc_column_text][/vc_column][/vc_row][wpanchor id=”6.1″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 6.1: Follicles (3:04 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Select Vert
2. Run Script
3. Rename Follicle

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

This video explains how in certain circumstances it’s not enough to be able to parent joints to other joints, in this case the moustache to the head joint. As the face smiles with a blend shape the moustache won’t move with the blend shape.

This is where we can use follicles to directly parent joints to the mesh itself.

Follicle Constraint by Michael Paixao

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”6.2″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 6.2: Parenting To Follicles (2:34 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Select Joint
2. Shift Select Follicle
3. Parent

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

Now it’s very easy to parent any object to the follicle. In this case we’re parenting joints. But we could parent any object or constrain as well.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”6.3″][vc_row bg_color=”#ededed”][minti_toggle title=”Video 6.3: Problems With Follicle Orients and Constraint Workaround (4:22 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-list-ol” style=”1″ iconcolor=”accent” title=”Steps”]

1. Select Follicle
2. Select Joint
3. Point Constraint

[/minti_iconbox][/vc_column][vc_column width=”2/3″ bg_color=”#ededed”][minti_spacer height=”25″][minti_iconbox icon=”fa-edit” style=”1″ iconcolor=”accent” title=”Video Notes”]

There’s a couple of small issues with follicles.
1. They tend to flip with triangulated edges so best to keep them on vets or edges.
2. The orientation can be unpredictable

Regarding orientation unpredictability we can parent our joints (or grouped joints) to a more stable object and then point constrain instead of parenting. Now the joints will orient with another joint but will still translate with the mesh.

[/minti_iconbox][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][/vc_column][vc_column width=”1/1″ bg_color=”#ededed”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][vc_row type=”standard_section” bg_color=”#ffffff” text_color=”dark” text_align=”left” top_padding=”0″ bottom_padding=”0″][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”1/3″] 

[/vc_column][vc_column column_padding=”no-padding” text_color=”dark” text_align=”left” width=”2/3″][minti_spacer height=”20″][minti_title align=”left”]Zanzi Example (20 mins)[/minti_title][vc_column_text]This section features a demo of Zanzi with joint placement and control setup at first to build a complete fk character.

In the second video we add skin selection sets for each mesh and skin with default settings. These will need to be tweaked later. In the last part of the second video we create a simple Ik legs to pose the character. This would be a very simple but working rig that animators could use.
[minti_spacer height=”25″][/vc_column_text][/vc_column][/vc_row][wpanchor id=”7.1″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 7.1: Joint and Control Setup For Zanzi FK rig (12:10 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row][wpanchor id=”7.2″][vc_row bg_color=”#ffffff”][minti_toggle title=”Video 7.2: Default Zanzi Skinning and IK Leg Setup (7:53 mins)” open=”false” icon=”fa-film”][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”15″]

[/vc_column]
[vc_column width=”1/3″ bg_color=”#ffffff”][minti_spacer height=”25″][/vc_column][vc_column width=”2/3″ bg_color=”#ffffff”][minti_spacer height=”25″][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][/vc_column][vc_column width=”1/1″ bg_color=”#ffffff”][minti_spacer height=”20″][/vc_column][/minti_toggle][/vc_row]