1. Creating Custom Attributes for Control
Open the parrot file in Maya which was saved in the previous part of the tutorial.
You'll need to isolate the control curves and joints. Go to Show > Polygons and turn off the check box to hide all polygons in the viewport.
Select all R_CtrlC_Wrist, R_CtrlC_Elbow and R_CtrlC_Shoulder
With the control curves selected, click on Modify > Add Attributes command.
In the Add Attributes option window, keep the Long name as Feather and turn on Displayable radio button. Click on Add button.
Repeat the process. This time, keep the Long name as Fan and turn on Keyable button. Click on Add button.
With the same control curves selected, write the Long name as Twist and turn on Keyable radio button. Click on Add button and then close the window.
Now, you can see the added custom attributes in the Channel Editor as shown in the following image.
2. Connecting Custom Attributes with Joints
You need to connect the custom attributes to the joint transform node. With R_CtrlC_Wrist_c01 selected, go to Window > General Editors > Connection Editor.
In the Connection Editor window, you can see the R_CtrlC_Wrist_c01 attributes in the left side. With R_bn_feather_Three_c01 selected, click on Reload Right button to load its attribute to the right side.
First select Fan custom attribute in the left side and then select rotateZ in the right side to connect them.
Select Twist custom attribute in the left side and then select rotateX in the right side to connect them.
Following the same way, connect the rest control curves R_CtrlC_Wrist_b01, R_CtrlC_Wrist_a01, R_CtrlC_Elbow_c01, R_CtrlC_Elbow_b01, R_CtrlC_Elbow_a01, R_CtrlC_Shoulder_d01, R_CtrlC_Shoulder_c01, R_CtrlC_Shoulder_b01 and R_CtrlC_Shoulder_a01.
3. Rigging Feather Fold Controls
Go to Edit > Group command to create a null object.
With the null object selected, go to Attribute Editor. Click on Display tab and check on Display Handle option.
With the null object and the move tool selected, press and hold V key and then snap the null object to the R_bn_feather_Three_c01 as shown in the following image.
With the null group object selected, go to Display > Transform Display > Local Rotation Axis.
First select the null group object and then select R_bn_Wrist_c01. Press P key to make the null object as the parent of the bone.
With the null object selected, check its rotation values in Channel Editor. There should be 0 value in all rotation axes.
With the same null object selected, go to Modify > Freeze Transformations and click on its option box.
In the Freeze Transformations Options window, keep only Rotate property turned on. Click on Freeze Transform button.
After applying the Freeze Transformations command, all rotation values become 0.
select R_bn_feather_Three_c01 joint
and then select the null object. Press P
key to parent the null object.
Without selected anything, press Ctrl-G key to make the group of the null object. Turn on Display Handle option as well.
With the newly created null object selected, go to Display > Transform Display > Local Rotation Axes.
With the null object selected, snap it with R_bn_feather_Three_b01 joint.
With R_bn_Wrist_b01 joint and the newly created null object selected, press P key for parenting.
Do not forget to use freeze transform with the null object as I have done in the previous steps.
With the newly created null object and the R_bn_feather_Three_b01 joint selected in order, press P key to make the null object as the parent.
Following the same way, do complete all feathers’ joints.
Rename all null objects. With the first null object selected, rename it as Grp_R_feather_Three_c01.
Rename the second null object as Grp_R_feather_Three_b01.
In this way, rename all null objects as Grp_R_feather_Three_c01, Grp_R_feather_Three_b01, Grp_R_feather_Three_a01, Grp_R_feather_Two_c01, Grp_R_feather_Two_b01, Grp_R_feather_Two_a01, Grp_R_feather_one_d01, Grp_R_feather_one_c01, Grp_R_feather_one_b01 and Grp_R_feather_one_a01 respectively.
4. Creating Feathers' Middle Controls
Create four circles. Put them all between the feathers as shown in the following image.
Rename these circles as CC_FeatherMiddle_a01, CC_FeatherMiddle_a01 and CC_FeatherMiddle_a01 as image shown.
With all CC_FeatherMiddle controls selected, go to Modify > Freeze Transformations.
5. Parenting Feathers' Controls
Select CC_FeatherMiddle_a01 curve and R_CtrlC_Wing_a01 selected in order, press P key.
First select CC_FeatherMiddle_b01 and then R_CtrlC_Wing_b01. After that, select CC_FeatherMiddle_C01 and then R_CtrlC_Wing_c01 as shown in the following image.
With all three feather middle control curves selected, select Rotate X, Rotate Y, Scale X, Scale Y, Scale Z and Visibility inside the Channel Box.
Do right click. Select Lock and Hide Selected options in the popup menu.
6. Creating Expressions For Feathers' Controls
Go to Window > Animation Editors > Expressions Editor command.
In the Expression Editor window, turn on By Expression Name radio button as shown in the following image.
Write FeatherSpread_Expression as the Expression Name and type // inside the Expression box. Click on Create.
You can see the created expression in the Selection objects list.
With the FeatherSpread_Expression selected, write //Feather Section A, //Feather Section B and //Feather Section C in the Expression text area. Click on Edit button.
With the Grp_R_feather_Three_b01 group selected, copy and paste Grp_R_feather_Three_b01.rz = in the expression text area.
With CC_FeatherMiddle_a01 curve selected, copy and paste CC_FeatherMiddle_a01.rz. Click on Edit button.
Following the same way, create the following expression under //Feather Section A.Grp_R_feather_one_a01.rotateZ = CC_FeatherMiddle_a01.rotateZ; Grp_R_feather_one_b01.rotateZ = CC_FeatherMiddle_a01.rotateZ + 0.6; Grp_R_feather_one_c01.rotateZ = CC_FeatherMiddle_a01.rotateZ + 0.5; Grp_R_feather_one_d01.rotateZ = CC_FeatherMiddle_a01.rotateZ + 0.3;. Click on Edit button.
Under Section //Feather Section B, write as Grp_R_feather_Two_a01.rotateZ = CC_FeatherMiddle_b01.rotateZ; Grp_R_feather_Two_b01.rotateZ = CC_FeatherMiddle_b01.rotateZ + 0.6; Grp_R_feather_Two_c01.rotateZ = CC_FeatherMiddle_b01.rotateZ + 0.5;. Click on Edit button.
Under the last section //Feather Section C, write Grp_R_feather_Three_a01.rotateZ = CC_FeatherMiddle_C01.rotateZ; Grp_R_feather_Three_b01.rotateZ = CC_FeatherMiddle_C01.rotateZ + 0.6; Grp_R_feather_Three_c01.rotateZ = CC_FeatherMiddle_C01.rotateZ + 0.5;. Click on Edit button.
With every upcoming part of the tutorial, the rigging process is becoming more complex. The rigging of a bird is always a complex task for riggers. I will show each and every step of wings rigging process.
In the next part of the tutorial series, I'll start making the wings' fold controls.