Jump to content

Creating an animation rig in Blender: Difference between revisions

Added the "Constraining the character to the rig and adding the Axis Correction Empties" header
(Added empty "Editing the rig" header)
(Added the "Constraining the character to the rig and adding the Axis Correction Empties" header)
Line 227: Line 227:
|}
|}


==Editing the rig==
==Constraining the character to the rig and adding the Axis Correction Empties==
Placeholder for the edit button
Now we get to constrain the character to the rig and later edit the rig. Unfortunately, there's even more work in editing the rig than with the metarig.
# <li value="36">Hide the metarig, it won't be needed anymore.</li>
# On the Pelvis of the T-posed character, add two Copy Rotation object constraints with the settings according to the table below. "x" means there's nothing set.
{| class="wikitable"
|-
! Setting !! Copy Rotation !! Copy Rotation.001
|-
| Target || rig || x
|-
| Order || ZYX Euler || Default
|-
| Mix || Replace || After Original
|}
 
# <li value="37">Copy the constraints to all of the remaining body parts.</li>
# At this point, the character is folded into Oni's default pose, described [Importing_character_models#Oni.27s_default_orientation HERE.] This is hard to work with, so disable all of the object constraints with the ObjectConstraintEnabler script available [Blender#Script_for_enabling.2Fdisabling_constraints_in_selected_objects HERE.] We will also fix the folded pose in a moment.
# Add a ''Copy Location'' constraint to the ''Pelvis'' and:
## Set the ''Target to ''rig'',
## Set the ''Bone to ORG-spine''.
 
# <li value="40">Now we need to fix the folded pose. This is done through a set of Empties with specified rotations, which are added to the rotation of each body part through the ''Copy Rotation.001'' constraint (this is also why the Mix of that constraint was set to ''After Original'').</li>
## Create a new collection in the Outliner called "''Axis Correction Empties''".
## Add six Arrows Empties, all with their Name showing in the Viewport Display. ( Object Properties / Viewport Display / Name )
## Name the empties and place them in the proposed arbitrary postions using cursor snapping, and set their rotations according to the table below - you can place them however you want, as their location does not influence the rig in any way, however, proper placement makes them easy to edit if needed. It's also proposed to place the empties one meter either in front or behind the given body part.
 
[[Image:AxisCorrectionEmptyPlacement.png|200px|right|thumb|Proposed Axis Correction Empties' placement]]
 
{| class="wikitable"
|-
! Empty !! Body Part !! In front of or behind? || X rotation || Y rotation || Z rotation
|-
| ACFeet || Either foot || Behind || -90 || -52.5 || 90
|-
| ACHandL || left_handfist || Behind || 180 || 0 || 90
|-
| ACHandR || right_handfist || Behind || 0 || 0 || 90
|-
| ACLimbs || neck || Behind || -90 || 0 || 90
|-
| ACPelvis || pelvis || Front || 90 || 8.6 || 90
|-
| ACSpine || mid || Front || 90 || 0 || 90
|}
 
::#<li value="4"> In your Viewport, open the Viewport Overlay and enable Relationship Lines. These are the lines that will show you lines from constrained objects to their targets. They will give you a better sense of how body parts are copying rotations from the Empties you are about to make. You can also turn Relationship Lines off at any point if they're making the scene hard to read.</li>
::# Set the ''Bones'' of ''Copy Rotation'' and ''Targets'' of ''Copy Rotation.001'' constraints in character's body parts in accordance with the table below. The table may be intimidating, but it should be logical enough and easy to copy and paste the targets and bones - all of the body parts get targeted to a corresponding ORG bone in the rig through ''Copy Rotation'' and get their Axis Correction rotation added through ''Copy Rotation.001'' set to appropriate empty.
 
[[Image:RigCharacterConstrained.png|600px|right|thumb|Expected result by the end of this header]]
 
{| class="wikitable"
|-
! Body part !! Copy Rotation / Bone !! Copy Rotation.001 / Target
|-
| pelvis || ORG-spine || ACPelvis
|-
| mid || ORG-spine.001 || ACSpine
|-
| chest || ORG-spine.002 || ACSpine
|-
| neck || ORG-spine.003 || ACSpine
|-
| head || ORG-spine.004 || ACSpine
|-
| right_shoulder || ORG-shoulder.R || ACLimbs
|-
| right_biceps || ORG-upper_arm.R || ACLimbs
|-
| right_wrist || ORG-forearm.R || ACLimbs
|-
| right_handfist || ORG-hand.R || ACHandR
|-
| left_shoulder || ORG-shoulder.L || ACLimbs
|-
| left_biceps || ORG-upper_arm.L || ACLimbs
|-
| left_wrist || ORG-forearm.L || ACLimbs
|-
| left_handfist || ORG-hand.L || ACHandL
|-
| right_thigh || ORG-thigh.R || ACLimbs
|-
| right_calf || ORG-shin.R || ACLimbs
|-
| right_foot || ORG-foot.R || ACFeet
|-
| left_thigh || ORG-thigh.L || ACLimbs
|-
| left_calf || ORG-shin.L || ACLimbs
|-
| left_foot || ORG-foot.L || ACFeet
|}
 
#<li value="41">Enable the object constraints in the character body parts using the ObjectConstraintEnabler script.</li>
# At this point, you should be able to pose the character, as shown in the screenshot on the right.




[[Category:Modding tutorials]]
[[Category:Modding tutorials]]
191

edits