god666satan's avatar

god666satan

10 Watchers11 Deviations
4.5K
Pageviews
lucyDrawer11
ScarletMaid
German-Enigma
OneDuck1
BOSSGUZMA
SaladDaysAreGone
uropinionfuckingsux
satangodgodgodsatan
sgreen07
xXZoltcrusherXx
uropinionfuckingsux
satangodgodgodsatan
TamplierPainter
sgreen07
RaidouSMT
ratboygenius
hahakool1234
rubbe
ShameAndDespair
German-Enigma
TheBoisIzanreltih
xXZoltcrusherXx
YoKoYoKoCHOCOLATE
god666satan hasn’t joined any Groups yet
Once they’ve joined Groups, you’ll see them here.
  • Dec 31
  • Mozambique
  • Deviant for 7 years
  • They / Them
Badges
Super Llama: Llamas are awesome! (18)
My Bio
BASIC RIGGING – THE STIKFA
1. SKELETON
Organization
Make sure the model is completed. Make sure the vertices are merged from duplicating and combining
half the model. Make sure Normals are facing correctly everywhere. Ensure that the model is
absolutely centred on the central grid axis from the Front view.
Select all the geometry pieces (all the polygon objects that make up the stikfa model) and choose
Modify > Freeze Transformations and Edit > Delete All By Type > History. Make sure they are
Grouped together (ctrl-g) under one node. Each piece must be labelled properly, including the group
node (name it geometryGRP).
If the stikfa is halfway through the grid in the Persp view, move the group node straight up in Y until
the feet stand flat upon the grid; snap the group’s pivot back to the origin at the centre of the grid and
then Modify > Freeze Transformations on the group. (If for some reason the stikfa faces down the Xaxis,
rotate the group plus or minus 90 degrees in Y to face down the Z-axis as well before choosing
Modify > Freeze Transformations on the group). Clean up (delete) any empty or unused transform
nodes in the Outliner.
It is essential our stikfa faces down the positive Z-axis to build the following skeleton and rig.
Save the stikfa model scene file under a new name before beginning the skeleton.
Joint placement
Placing joints for the stikfa is simple. Be sure to analyze and study the actual plastic figure to
understand where each piece of geometry pivots. Since every part rotates around a peg on the model,
we will place joints one at a time, centred within each peg.
Build joints for the LEFT side of the stikfa only. We will mirror both the left arm joints and the left leg
joints to complete the skeleton.
Place joints one at a time rather than drawing a complete chain. Each joint’s Local Rotation Axis
should then match the world axis, keeping our rig simple. When all the joints are placed, we will
Parent (p) them together into the correct hierarchy.
Use grid (x) and vertex (v) snapping wherever possible when placing the joints for the stikfa. Every
joint must be centred within a peg on the model (with a couple of exceptions) – to get a joint centred
within a peg, use vertex snapping and snap the joint one axis at a time into position using vertices along
the central divisions of each peg. We may have to vertex-snap a joint in all 3 axes separately to get it
into place. Exercise care to get the joints placed correctly!
Choose Skeleton > Joint Tool and start in the Front orthographic view. Place the first joint on the
centre axis of the grid by holding X while clicking. Press Enter to complete placing the joint. Now
snap this joint vertically (in Y) to line up with the peg for the stikfa’s neck. Vertex-snap it in Y-only to
align with the centre of the neck peg. Switch to the Side view and snap the joint in Z-only to line up
with the centre of the neck peg from the side. With this joint centred in the neck peg, label it neck.
With the neck joint selected, press ctrl-d to Duplicate it. Move the new joint down in Y to line up with
the peg at the bottom of the chest – the waist peg. Use vertex snapping again to align the new joint with
the waist peg in both the Front and Side views. Name the new joint waist.
Duplicate the waist joint and move the new joint straight down in Y until it lines up between the two
hip pegs, using vertex-snapping again to ensure it is centred in Y and Z from the Side view. This joint
should remain along the centre line of the grid, but lined up exactly between the two hips. Label this
joint ROOT – this will be the top of the entire skeleton hierarchy.
Duplicate the neck joint again and move it down in Y into the chest to line up between the two
shoulder pegs, just as the ROOT joint lines up between the two hips while remaining along the centre
line. Snap the joint one axis at a time in Y and Z to align with the centre of the shoulder pegs. Name
this joint chest. This joint only serves as the base of our shoulder joints – it will not move the model in
the final rig.
We now have 4 joints along the invisible “spine” of the stikfa – from the bottom, they are ROOT,
waist, chest and neck. Each joint should be individually floating in place, with no “bones” connecting
them yet.
We must carefully plan your arm and legs joints based on the pegs and mechanical movements the
stikfa figurine has. The following assumes the stikfa only has one knee- or elbow-joint, just like a real
person.
Select the chest joint and press ctrl-d to Duplicate it. Move it out from the centre line in X and use
vertex-snapping to centre it within the left shoulder peg. Name this joint L_shoulder.
Duplicate L_shoulder and move it to align with the left elbow peg. The left elbow’s peg should be
either straight out in X from the L_shoulder joint, or straight down in Y from it. Get it snapped into the
centre of the left elbow peg and rename it L_elbow.
Duplicate L_elbow and move it to align with the left wrist peg – which should be straight in X or Y
from the elbow. Snap this joint into position within the left wrist peg and rename it L_wrist.
We now have 3 joints for the left arm – L_shoulder, L_elbow, and L_wrist. These joints should form a
straight line if possible. We must pay special attention to the way the elbow will bend, which will
depend on where the elbow peg’s socket is.
Be aware of the ankle and foot structure of the model as you plan the leg joints. We will need a straight
chain of joints that runs from hip to knee to foot, but the stikfa’s foot may pivot around a peg that is
farther out to the side in X than the chain of joints we create. Most likely we will require a joint within
that “ankle” peg for the foot to rotate on, in addition to the “ankle” joint at the end of the leg chain
(which should be placed straight down from the knee). The following assumes this is necessary.
Select the ROOT joint and Duplicate it. The ROOT should already be centred between the hip pegs, so
move the duplicate out in X only and vertex-snap it into alignment with the left hip peg. Make sure it is
centred within the left hip peg, and rename it L_hip.
Duplicate L_hip and move the new joint into alignment with the knee peg. Ideally, the pegs of the
stikfa’s leg models should line up together. Rename the new joint L_knee and make sure it is centred
with vertex snapping within the knee peg.
Duplicate L_knee and move it straight down in Y only until it lines up with the ankle peg. Make sure
this joint lines up in Z and Y with the actual ankle peg. Name this joint L_ankle.
Duplicate L_ankle and move it into position within the model’s actual ankle peg – probably simply
straight outwards in X from the L_ankle joint’s position. Rename this joint L_foot.
Duplicate L_foot and vertex-snap it straight forward in Z so it aligns with the model’s “toe”. Name this
joint L_toe.
We now have several joints placed for the left leg – L_hip, L_knee, L_ankle, L_foot, and L_toe.
Skeleton Hierarchy
We will now Parent the joints together in the correct order. The ROOT joint will be the highest joint in
the entire structure – all other joints will be children of the ROOT. Always select the child first, then
the parent, then press p to place the child under the parent.
Start with the leg. Select L_toe then shift-select L_foot, and press p to Parent them. Select L_foot then
L_ankle and press p. Select L_ankle then L_knee and Parent. Select L_knee then L_hip and Parent.
The joints should now be in a chain pointing down from the hip to the toe.
Select L_hip then ROOT and Parent. Select waist then ROOT and Parent. Select chest then waist and
Parent. Select neck then chest and Parent. These joints going up the spine of the stikfa should now be
a chain pointing up from the ROOT.
Select L_wrist then L_elbow and Parent. Select L_elbow then L_shoulder and Parent. Select
L_shoulder then chest and Parent.
We will now set the preferred angles for the elbow and knee joints, in preparation for attaching IK
handles. In order to ensure the IK handles bend the leg and arm properly, we need to tell Maya which
way the joints will rotate.
Select the L_elbow joint. In the Channel Box, the rotations of the joint should all be zero. Rotate the
elbow forward in one axis (whichever axis is the correct direction the elbow should swing; remember
the elbow is like a hinge). Right-click on the joint and choose Set Preferred Angle. Then, in the
Channel Box, set the rotation for that joint back to zero.
Select the L_knee joint and rotate it in one axis to swing it back (bending the knee in the proper
direction). Right-click on the joint and choose Set Preferred Angle. Then, in the Channel Box, set the
rotation for that joint back to zero.
IK/FK Arm Duplicates
The rig we will build for the stikfa includes IK/FK switching arms, and to prepare for that aspect we
will need multiple joint-chains in the arms – one “real” arm, to which our model will be attached; one
arm to control IK movement; and one arm to control FK rotations. The IK arm and the FK arm both
control the “real” arm, with a custom switch determining which joints are in control at any given time.
L_shoulder, L_elbow, and L_wrist are the “real” arm joints, which will move the actual model. Select
L_shoulder and press ctrl-d to Duplicate it – then go to Window > Outliner, press f to see the
duplicated joint chain, and click on the little plus “+” to expand the hierarchy of those joints. Note that
when L_shoulder was duplicated, the child joints (elbow and wrist) were duplicated as well.
Rename the duplicated chain L_shoulderIK, L_elbowIK and L_wristIK. Then select L_shoulderIK and
Duplicate it again, renaming the new chain L_shoulderFK, L_elbowFK, and L_wristFK. We now have
three identical chains of left arm joints, and all should be exactly right on top of each other.
Mirroring Joints
The left side of our skeleton is complete and we may now mirror the shoulder and hip joints to create
the right ride.
Select the L_hip joint. Go to Skeleton > Mirror Joint > option box. If the stikfa is facing Z correctly,
set Mirror Across to YZ. Set Mirror Function to Behaviour, type “L_” in Search For and “R_” in
Replace With, and click Apply. The left leg should mirror itself across the origin to create the right
leg.
Select the L_shoulder joint and choose Skeleton > Mirror Joint. Repeat this with L_shoulderIK and
then L_shoulderFK (each shoulder joint must be mirrored separately to get all 3 arm chains onto the
right side).
The skeleton should now be complete. Select the ROOT joint, then choose Edit > Select Hierarchy to
select all the joints in the skeleton. Choose Modify > Freeze Transformations to ensure all the joints’
rotations are set to zero. The skeleton can now be rigged with controls.
2. RIGGING
The stikfa control rig will be kept as simple as possible, but will include IK/FK switching for the arms.
Save the stikfa scene file under a new name before beginning the control rig.
It is absolutely essential that each control object (generally, a NURBS circle or other curve) have its
transformations frozen once it is in place, and all pivot points are in the correct location. The rig
controls must all be at zero (in all translate and rotate channels) in the default pose.
We must be very cautious about making sure we have the correct nodes selected (and selected in the
proper order!) when applying constraints on the rig. Read instructions carefully and name all nodes
exactly as instructed. Use the Outliner to select the correct nodes wherever possible.
Centre of Gravity: COG
Go to Create > NURBS Primitives > Circle. Vertex-snap it onto the ROOT joint, scale it up,
and rename it COG.
Choose Edit > Delete By Type > History and Modify > Freeze Transformations.
Select COG as master, then shift-select the ROOT joint as slave.
Choose Constrain > Point > option box and make sure Maintain Offset is off. Click Apply.
Choose Constrain > Orient > option box and make sure Maintain Offset is on. Click
Apply.
With COG selected, highlight the Scale and Visibility channels. Right-click and choose Lock
and Hide Selected.
Waist Control: waistCtrl
Go to Create > NURBS Primitives > Circle. Snap it onto the waist joint, scale it up, rename
it waistCtrl.
Choose Edit > Delete By Type > History and Modify > Freeze Transformations.
Select waistCtrl as master, then shift-select the waist joint as slave. Choose Constrain >
Orient > option box and make sure Maintain Offset is on. Click Apply.
Select waistCtrl and press ctrl-g to Group it by itself. Rename the group waistCtrlGRP.
With the Move tool selected, press the Insert key and snap the group’s pivot onto the ROOT
joint.
Using the Outliner, select ROOT as master, then ctrl-click the waistCtrlGRP as slave.
Choose Constrain > Point > option box and make sure Maintain Offset is off. Click Apply.
Choose Constrain > Orient > option box and make sure Maintain Offset is on. Click
Apply.
With waistCtrl selected, highlight the Translate, Scale and Visibility channels. Right-click
and choose Lock and Hide Selected.
Head Control: headCtrl
Go to Create > NURBS Primitives > Circle. Snap it onto the neck joint, scale it up, rename
it headCtrl.
Choose Edit > Delete By Type > History and Modify > Freeze Transformations.
Select headCtrl as master, then shift-select the neck joint as slave. Choose Constrain >
Orient > option box and make sure Maintain Offset is on. Click Apply.
Select headCtrl and press ctrl-g to Group it by itself. Rename the group headCtrlGRP.
With the Move tool selected, press the Insert key and snap the group’s pivot onto the neck
joint.
Using the Outliner, select neck joint as master, then ctrl-click the headCtrlGRP as slave.
Choose Constrain > Point > option box and make sure Maintain Offset is off. Click Apply.
With headCtrl selected, highlight the Translate, Scale and Visibility channels. Right-click
and choose Lock and Hide Selected.
IK Leg Controls: L_footCtrl, R_footCtrl
Create an IK handle for the left leg: choose Skeleton > IK Handle Tool > option box and
make sure ikRPsolver is selected and Sticky is not checked.
Click on L_hip then L_ankle to create an IK handle and rename it L_footIK. Test the IK
handle by pulling it up in Y with the Move tool. The knee should bend properly as you lift the
foot. Be sure to Undo the test movement.
Go to Create > NURBS Primitives > Circle. Place it around the left foot and reshape its CVs
so it’s an easy-to-select shape around the base of the foot; rename it L_footCtrl. With the
Move tool, press Insert and vertex-snap the control’s pivot onto the L_ankle joint.
With L_footCtrl selected choose Edit > Delete By Type > History and Modify > Freeze
Transformations.
Now press ctrl-d to Duplicate the L_footCtrl. Snap the duplicate onto the R_ankle joint.
Rename this duplicate R_footCtrl. In the Channel Box for R_footCtrl, type a –1 in Scale X.
The shape of R_footCtrl should now mirror L_footCtrl, and its pivot should be on the R_ankle
joint. Choose Modify >Freeze Transformations on R_footCtrl. Leave R_footCtrl alone for
now and return to the left leg.
Select the L_footIK handle, then shift-select the L_footCtrl and press p to Parent the IK
handle beneath the control.
Select the L_foot joint (not L_ankle). Unparent L_foot from L_ankle by pressing shift-P.
L_foot (with child, L_toe) is now removed from the rest of the skeleton hierarchy. Select
L_ankle as master, then L_foot as slave, and choose Constrain > Point > option box and set
Maintain Offset to On. Click Apply.
Select the L_footCtrl as master, then shift-select the L_foot joint as slave and choose
Constrain > Orient (make sure Maintain Offset is On).
Repeat the leg rigging to this point on the right leg (using R_footCtrl). Do not duplicate or
mirror any left-leg rigging; start fresh with a new IK handle for the right leg.
Return to the left leg; choose Create > Locator and rename it L_kneePV.
Snap the locator onto the L_knee joint and then Move it straight out well ahead in Z. Choose
Modify > Freeze Transformations.
Select L_kneePV as master, then shift-select the L_footIK handle as slave and choose
Constrain > Pole Vector. Select L_kneePV again and press ctrl-g to Group it. With the
Move tool selected, press Insert and vertex-snap the group’s pivot onto the L_ankle joint.
Rename the group L_kneePVGRP. Select L_footCtrl as master, then in the Outliner ctrl-click
on L_kneePVGRP as slave and choose Constrain > Point (make sure Maintain Offset is
Off).
Repeat this process on the right side to create a pole vector knee control for the right leg.
For the foot controls, Lock and Hide the Scale and Visibility channels; on the knee controls,
Lock and Hide all the channels except for the three Translates.
Wrist Controls: L_handCtrl, R_handCtrl
Go to Create > NURBS Primitives > Circle. Place it around the left hand and reshape its
CVs so it’s an easy-to-select shape around the hand; rename it L_handCtrl. With the Move
tool, press Insert and snap the control’s pivot on the L_wrist joint.
With L_handCtrl selected choose Edit > Delete By Type > History and Modify > Freeze
Transformations.
Select L_handCtrl as master and L_wrist as slave, and choose Constrain > Orient > option
box and make sure Maintain Offset is on. Click Apply.
Select L_handCtrl and press ctrl-g to Group it by itself. Rename the group L_handCtrlGRP.
With the Move tool selected, press the Insert key and snap the group’s pivot onto the L_wrist
joint.
Select L_wrist as master, then the L_handCtrlGRP as slave.
Choose Constrain > Point > option box and make sure Maintain Offset is off. Click Apply.
With L_handCtrl selected, highlight the Translate, Scale and Visibility channels. Right-click
and choose Lock and Hide Selected.
Repeat this process to create a R_handCtrl on the R_wrist joint.
IK/FK Arm Switching
Setup:
Create 3 new Display Layers. For each, double-click the layer and assign a unique colour
(such as red, yellow, and purple – avoid using colours seen often on wireframes like green,
white, blue and pink). Rename the layers skelArm_lyr, fkArm_lyr, and ikArm_lyr.
In the Outliner, select all the left and right “real” arm joints: L_ and R_shoulders, elbows, and
wrists. Right-click on skelArm_lyr and choose Add Selected Objects. Then select the right
and left IK arm joints (shoulderIK, elbowIK, wristIK); right-click on ikArm_lyr and Add
Selected Objects. In the same manner, assign the FK arm joints to the fkArm_lyr.
You can now hide the visibility of each different type of arm, and distinguish them onscreen
by colour.
Constraints:
In the Outliner, ctrl-click these joints in order: L_shoulderIK, L_shoulderFK, L_shoulder.
Choose Constrain > Orient (make sure Maintain Offset is Off).
In the Outliner, ctrl-click these joints in order: L_elbowIK, L_elbowFK, L_elbow. Choose
Constrain > Orient (make sure Maintain Offset is Off).
Because of the order the joints were selected in, the rotations of L_shoulder (the “real”
shoulder) are constrained to both L_shoulderIK and L_shoulderFK. The same is true of
L_elbow.
IK/FK Switch:
Select L_handCtrl and choose Modify > Add Attribute… and set Attribute Name:
IK0_FK1, Data Type: float, Minimum: 0, Maximum: 1. Click OK.

IK arm:
Choose Skeleton > IK Handle Tool and click on L_shoulderIK then L_wristIK. Rename the
IK handle L_armIK. NOTE: in order to attach the IK handle to the correct IK joints, we will
need to hide the “real” and FK arm joint layers. Only the IK arm joint chain should be visible
so that we may attach the IK handle without difficulty. We may restore the layer visibilities
later.
Choose Create > Locator and with the Move tool selected, snap the locator onto the
L_elbowIK joint. Then Move the locator straight back in Z from the elbow. Rename the
locator L_elbowPV. Choose Modify > Freeze Transformations. Highlight the Rotate and
Scale channels, right-click and choose Lock and Hide Selected.
Select L_elbowPV as master then L_armIK as slave and choose Constrain > Pole Vector.
With L_elbowPV selected, press ctrl-g to Group it to itself. Rename this group
L_elbowPVGRP. With the Move tool selected, press Insert and snap the group’s pivot onto
the L_elbowIK joint.
Select L_shoulderIK as master then L_elbowPVGRP as slave and choose Constrain > Point >
option box and be sure Maintain Offset is On. Click Apply.
We will need a control object to manipulate the IK handle. Create a NURBS circle or other
curve shape and snap it into position on L_wristIK. Rename this control L_IKCtrl and choose
Edit > Delete By Type > History and Modify > Freeze Transformations. Highlight the
Rotate and Scale channels (but not Visibility), then right-click and choose Lock and Hide
Selected.
Parent L_armIK (the IK handle) under L_IKCtrl.
FK arm:
L_handCtrl is assumed to provide FK rotation control for the L_wrist joint.
We need to create FK controls for L_shoulderFK and L_elbowFK. Hide the display layers for
the other arm joints so that only the FK arm skeletons are visible.
Create > NURBS Primitives > Circle. Snap it on to the L_shoulderFK joint. Delete history
and freeze its transformations. Rename this control L_shoulderCtrl. Duplicate the circle and
snap it onto the R_shoulderFK joint; rename the duplicate R_shoulderCtrl. Make sure to
Freeze Transformations on R_shoulderCtrl. Now, select both L_shoulderCtrl and
R_shoulderCtrl and press ctrl-g to Group them together. Rename it shoulderCtrlGRP and
snap this group’s pivot onto the chest joint.
In the Outliner, select the chest joint, then ctrl-click shoulderCtrlGRP. Choose Constrain >
Point (with Maintain Offset set to Off) then choose Constrain > Orient (with Maintain
Offset set to On).
Create > NURBS Primitives > Circle. Snap it on to the L_elbowFK joint. Delete history and
freeze its transformations. Rename this control L_elbowCtrl. Duplicate the circle and snap it
onto the R_elbowFK joint; rename the duplicate R_elbowCtrl. Make sure to Freeze
Transformations on R_elbowCtrl.
Select L_elbowCtrl and press ctrl-g to Group it by itself. Rename the group
L_elbowCtrlGRP, then snap the group’s pivot onto the L_shoulderFK joint.
In the Outliner, select the L_shoulderFK joint, then ctrl-click L_elbowCtrlGRP. Choose
Constrain > Point (with Maintain Offset set to Off) then choose Constrain > Orient (with
Maintain Offset set to On).
We are ready to connect our FK joints to these new shoulder and elbow FK controls. Select
L_shoulderCtrl as master, then L_shoulderFK as slave, and choose Constrain > Orient (with
Maintain Offset On). Select L_elbowCtrl as master, then L_elbowFK as slave, and again
choose Constrain > Orient (with Maintain Offset On).
Select both L_shoulderCtrl and L_elbowCtrl. Lock and Hide all the Translate and Scale
channels on these controls, but leave Visibility available.
Driven Keys:
Open the Set Driven Key window by choosing Animate > Set Driven Key > Set…
Select L_handCtrl and click Load Driver. Highlight IK0_FK1 on the right.
In the Outliner, select L_shoulder_orientConstraint1 and click Load Driven. On the right we
will highlight L_shoulderIKW0 and L_shoulderFKW1. The constraint node should be found
just under L_shoulder in the Outliner.
With IK0_FK1 set to 0, set L_shoulderIKW0 to 1 and L_shoulderFKW1 to 0. Click Key.
With IK0_FK1 set to 1, set L_shoulderIKW0 to 0 and L_shoulderFKW1 to 1. Click Key.
In the Outliner, select L_elbow_orientConstraint1 and click Load Driven. On the right we
will highlight L_elbowIKW0 and L_elbowFKW1. The constraint node should be found just
under L_elbow in the Outliner.
With IK0_FK1 set to 0, set L_elbowIKW0 to 1 and L_elbowFKW1 to 0. Click Key.
With IK0_FK1 set to 1, set L_elbowIKW0 to 0 and L_elbowFKW1 to 1. Click Key.
In the Outliner, select L_IKCtrl and L_elbowPV and click Load Driven. Highlight Visibility
on the right.
With IK0_FK1 set to 0, set Visibility to On and click Key.
With IK0_FK1 set to 1, set Visibility to Off and click Key.
In the Outliner, select L_shoulderCtrl and L_elbowCtrl and click Load Driven. Highlight
Visibility on the right.
With IK0_FK1 set to 0, set Visibility to Off and click Key.
With IK0_FK1 set to 1, set Visibility to On and click Key.
Right IK/FK Arm:
Repeat this entire process to create an IK/FK switch for the right arm – but remember we have
already created the control objects for the right-side FK arm joints (R_shoulderCtrl and
R_elbowCtrl).
After the IK/FK arm rig is finished on both sides, go back and Hide the Visibility channels on those
controls – but ensure that the driven keys for visibility are working. When the IK/FK switch is at 0,
only the IK arm controls should be visible; when the switch is at 1, only the FK controls should appear.
Main Transform Control & Rig Hierarchy
Main Transform Control: mainCtrl
Create a large NURBS circle, or draw a shape on the grid using the EP Curve tool. This object
should be centred on the grid between the character’s feet, with its pivot at the origin.
Rename it mainCtrl. Be sure to delete any history and freeze its transformations.
Parent the COG control, both footCtrls, and all the CtrlGRP nodes under the mainCtrl. Be
very careful to make sure it’s the control GROUP nodes (the parents of the actual control
objects) that are being parented under the mainCtrl. Use the Outliner – we cannot “see” these
nodes in the Persp view to select them.
With mainCtrl selected, highlight the Scale and Visibility channels. Right-click and choose
Lock and Hide Selected. Press ctrl-g to Group the mainCtrl by itself, and rename the new
group controlGRP.
In the Outliner, select the ROOT, L_foot and R_foot joints. Group these joints together and
rename the group skeletonGRP.
In the Outliner, our rig should now only have three nodes: geometryGRP (containing all the
model parts), skeletonGRP (containing all the joints), and controlGRP (containing all the
control objects for our rig). Select these three nodes and Group them together; rename this
top group node stikfaGRP.
All the channels on every CtrlGRP node should be locked and hidden – the animator doesn’t
need to touch these nodes at all. Likewise, all the channels on controlGRP, stikfaGRP,
geometryGRP and skeletonGRP can be locked and hidden – though we could leave Visibility
available on geometryGRP and/or stikfaGRP, so that we can use those channels to hide our
model if necessary.
Test to be sure that when we move and/or rotate the mainCtrl, all the other rig controls remain
working properly. Zero-out all the controls after testing.
The control rig should now be complete. The stikfa should be in its default pose when all the controls
are at zero. All unnecessary channels should be locked and hidden. Save the scene.
Character Set:
We will make a Character Set for our stikfa. This node will contain all the keyable animation
channels of our control objects. The Character Set will let us set keys on our entire rig at once,
zero-out our rig quickly when needed, and allow us to save and manipulate clips of animation
in the Trax Editor.
Go to the Animation menu set. Choose Character > Create Character Set > option box
and set the following: Name should be stikfa_1; Include Hierarchy Below Selected Node
should be Off; and set Include to All Keyable. Do not Apply this yet – but keep the window
open.
In the Outliner, fully expand the controlGRP node to see all the control objects. Ctrl-click to
select the following nodes (in order): mainCtrl, COG, waistCtrl, headCtrl, L_footCtrl,
L_kneePV, R_footCtrl, R_kneePV, L_handCtrl, R_handCtrl, L_shoulderCtrl, L_elbowCtrl,
R_shoulderCtrl, R_elbowCtrl, L_IKCtrl, L_elbowPV, R_IKCtrl, R_elbowPV.
In the Create Character Set window, now click Apply. There should now be a new node in
the Outliner called stikfa_1. Select this node and check the Channel Box; ensure that all the
correct animation channels are listed there. Save the scene.
Smoothing Control:
We can add a simple custom attribute to the mainCtrl that will allow us to smooth the entire
stikfa model at once. The geometry doesn’t yet have any polySmoothFace nodes, but once
they are added we can connect the number of divisions on the smooth nodes to this custom
attribute.
Select mainCtrl and choose Modify > Add Attribute… Name it smooth; set Data Type to
Integer, Minimum to 0, Maximum to 3 and Default to 0. Click OK. Our smoothing attribute
is ready.
3. CONSTRAINING THE MODEL TO THE SKELETON
There are several different ways to attach a model to a skeleton.
• Parenting: we could simply parent each model part to the correct joint.
• Binding: we could smooth bind or rigid bind each model part to the skeleton.
• Constraints: we could constrain each model part to the correct joint.
Parenting will work, but will make each part of the model a child of the relevant joint (so the stikfa’s
left upper arm model would be a child of the L_shoulder joint). This makes the model part of the
skeleton hierarchy. It would be better to keep the modeled geometry separate from the skeleton
hierarchy; the skeleton and the model should remain in their own individual groups.
Binding is usually done for deforming characters, which the stikfa is not. Binding a skin allows the
movement of joints to deform the vertices of the model; this also creates an input node (history) for
each skinned piece of geometry, a skinCluster, which must not be deleted, or the model will no longer
follow the joints. Problems arise when the model or UV map need adjustment after skinning, as many
operations create further history which must be deleted without removing the skinCluster. There’s no
point in binding the stikfa model to its skeleton, since it does not in any way deform.
Constraining our (non-deforming) model to the correct joints is the best choice. A parentConstraint
will force the geometry to follow the joints, without placing the model within the skeleton hierarchy.
Furthermore, a parentConstraint will not create any history nodes, allowing us to adjust the model and
UV maps without worrying about losing anything by deleting history.
We will use Parent Constraints to attach the stikfa model to our skeleton. Make absolutely sure the rig
is at default (all controls are “zeroed” out) before beginning this stage.
For each piece of geometry in the rig, snap the pivot point onto the correct joint using vertex snapping.
Examples – the head’s pivot point would be snapped to the neck joint; the left upper arm’s pivot would
be snapped onto the L_shoulder joint; the chest object would pivot from the waist joint; and so on. Be
sure the pivot for each part is snapped onto the correct joint.
Once the pivots are properly placed, each piece of model should rotate from the correct point in space –
each part should rotate around its relevant joint.
Now, we simply select the controlling joint as master, then the relevant model part as slave, and
perform a parent constraint. With the Animation menu set displayed, select Constrain > Parent >
option box. Set Maintain Offset set to On. Click Apply. Do this for each piece of geometry – and
make sure that the correct joint is selected first. We must be absolutely sure to constrain the arms to the
“real” arm joints, NOT the IK or FK control arms.
Thoroughly test the movement of the rig. Make sure each control is working, and that each piece of
geometry is following the correct joint. Be sure to test the IK/FK arm switch – the stikfa’s arms should
smoothly move from one arm control system to the other, without flipping around in a strange manner.
Be absolutely sure to zero-out all your rig controls after testing. Every channel of every control should
contain only zeroes – except perhaps the IK/FK switch (which may be at 1). Double-check and make
sure you have locked and hidden all other channels.
Smooth Nodes
As a final step we will apply polySmoothFace nodes to all geometry, and connect them to the smooth
attribute on our mainCtrl we created earlier. Smoothing will create input/history nodes on each piece of
geometry, which will be lost (or baked-in permanently) if we delete history past this point.
DO NOT apply these smooth nodes if the stikfa requires further work on either the geometry
modeling or UV-mapping. Smoothing should be applied and connected only once we are
certain the model and UVs need no further tweaking.
One at a time, select each piece of geometry and choose Mesh > Smooth. Each part should
now have a polySmoothFace node.
In the Outliner, expand the geometryGRP node. Drag to select all the polygon objects of the
stikfa. Press down-arrow to pick-walk down to the shape nodes. With all the shape nodes
selected, go to Window > Hypergraph: Connections. We should see the inputs and outputs
for all the stikfa geometry, including all the polySmoothFace nodes. Select all the
polySmoothFace nodes.
Now choose Window > General Editors > Connection Editor. With all the smooth nodes
selected, click Reload Right.
Select mainCtrl and click Reload Left. Click on smooth on the left side.
With smooth highlighted on the left, click on Divisions for each and every polySmoothFace
node on the right side. When we click on Divisions, the words should become italicized.
Test the mainCtrl’s smooth attribute by entering a 1 or 2. The stikfa should become smoothed
nicely. Leave smooth at 0 after testing.
Delete all other model objects in the scene, such as background planes and image planes. Delete all
lights and unnecessary shaders. Delete all Display Layers. Make 3 new Display Layers and label them
stikfaGeo_lyr, stikfaSkel_lyr, and stikfaRig_lyr. Add all geometry to the stikfaGeo_lyr; add the entire
skeleton to the stikfaSkel_lyr; and add all the rig controls to the stikfaRig_lyr. Set the stikfaSkel_lyr and
stikfaGeo_lyr to Reference. Turn off the visibility of the stikfaSkel_lyr. We should only be able to
select rig controls.
Save the stikfa rig scene. We can use File > Import to bring the stikfa rig into any other Maya scene.
Be sure to double-check all rigging work. We cannot be certain of our rig’s stability until we have
some real animation happening, so get to work on animating a walk cycle and a run cycle right away!

Favourite Visual Artist
Me
Favourite Movies
ME
Favourite TV Shows
Cory in the house
Favourite Bands / Musical Artists
Me
Favourite Books
The golden compass
Favourite Writers
Me
Favourite Games
Goat sim ypo
Favourite Gaming Platform
nintendo
Tools of the Trade
Microsofrt paint
Other Interests
Dankness memage
I've got a nice hot bowl of soup for ya. Just took it out of the microwave, i-it's a little bit too hot. Uh- My hands are burning a little bit but let me jus- let me just set it down here for ya. What do you think of it? Is it- is it a little bit too...
Join the community to add your comment. Already a deviant? Log In
fuck you overwatch is only for cool peoplke https://www.deviantart.com/jennyrichardblakina/status-update/5283300
Join the community to add your comment. Already a deviant? Log In
dont follow them thewy stole the name blake  https://www.deviantart.com/jennyrichardblakina/status-update/5282576
Join the community to add your comment. Already a deviant? Log In

Profile Comments 112

Join the community to add your comment. Already a deviant? Log In
very good
i like you
Comment Flagged as Spam
The concept of death is a rather curious one, it's like a river flowing down stream but eventually meeting an end in a vast ocean of life and death. So precious but spent on such trivial matters, do we ever actually live or are we just pawns in a greater picture formed by the government. I dunno man but it keeps me up at night.
Comment Flagged as Spam
I was aiming for cancer. Shit.
can't it was murder m8