Sunday, June 12, 2011

first step

1.starting the joint with shoulder first.
2.make 16 joint with 1 end joints, we don't connect anything with end joints
3.use a cv cruve, to strength the joints, use the poivt mode to snap the line.
4. go to mel type select-hi, display>transform display>Local Rotatior axes
5.select the end joints, under Skeleon>mirror joint>reset>none>orient.
6.go to Skeleton>Insert Joint tool> one for the root of elbow, one for the root of twist. increase the size of root with channel attribute Radius
7.select the root joint, and clt G, group them.
8. hide and lock the channel.
9. make joints for the feather. 16 new joints
10. turn off the Local rotatior axes, go to mel type select-hi, display>transform display>Local Rotatior axes
11. parent all the 16 feather joint with the first 16 joint.
12. after parent the whole thing, select the all end feather joint, Skeleton>Orient joint.

Bandling the wing.

13. select all the part of poly modeling in the group, and group them again.
14. select that groupies hide and lock.
15. now if you want to duplicate another side of wing, select the roots go to Skeleton>mirror joint>YZ
16. go to search bars and select all the joints, and then deselect feather joints, for bandling separately.
17. select the covert with selected joint, skin>bind skin>smooth bind>select joints>closest distance>classic linear>interactive> Max influence 4.
18. bandle that to all the feather joints!
19. go to mel>type "select -hi"
20. you are rotate the wing in XYZ.

Setting up the primary animation control of the wing

21. create an new shelf, add new freeze transformations, center pivot, delete by type history, local rotation.
22. then open the script, Clear History
23. File>Load script>Mel, highlight select all the script and drag to the shelf.
24. go to Shelf Editor, rename all the shelf Contents, in Tooltip and Icon Label
25. create a 3 Box Cruve, name them, and Match Position with 3 main joints.
26. create 3 Locator, name them, and Match Position with 3 Main joints too.
27. create another 3 Locator, name them, and Match Transform with 3 main joints.
28. select Match transform Locator and joints, go to Constrain>Orient, do that to the next Locator
29. Parent Oriented Match transform to Box Cruve. do that to the next Box Cruve
30. Parent Box Cruve to old the Match Position Locator.

auxiliary wing controls

31. create Joint Curve, and then Match Position the Joint, re-scale it, change into conponet mode, and move it out.
32. duplicate the Joint Curve, select the Joint, click Match Position. do that to all the up joints, and adjust the look of position.
not worry about elbow root.

Finishing the control

33. create new Locators,and then Match Transfrom with each Joints.
34. parent the Locator with Joint control, and then Match transform Locator with joints again.
35. orient the Locator with joints.
36. select the end joint control, start parent with the end of wing.
37. now you are test the beautiful wing
38. go to outline, select the Locator, group it and lock and hide, put in side the grp_wing.

Fanning controls for the feather.

39. Grab all the Joint control, not the first one, Modify>Add Attribute>Long name Feather, Fan, Twist>add
40. select one Joint control and one feather joint, go to Connection editor, connect Fan and Rotate Z.
41. to make this fast let's do some mel scripting. first clear history
//Connects the custom attr "fan" of the control to the rotate Y of the bone...

string $sel[] = `ls -sl`;

connetAttr -f ($sel[0] + ".fan") ($sel[1] + ".ry");
42. do that to all the Joint control and feather joint

creating a system for extra feather controls

43. select the whole wing, Hide Nurbe curves, Joints, Locators.
44. duplicated the wing, Unlock the translate X, move the duplicated wing over. and then bring all the object back.
45. go to Modify>search and replace Names. control G group name blendShapes 01, hide and lock.

Now Twist control for the feather.

46. go to Create Deformer>nonlinear>twist (hold ctl shift for the shelf)
47. select the three piece feather, apply twist, adjust the rotation and translate,
48, after name the handle and twist, copy the feather name to handle, and then put underneath the blend shape group, and group itself again, rename group, hide and lock.
50. open up connection editor and load all the twist handle to the right, and load all the Joint curve to he left, connect twist to endAngle one by one.

BlendShape for the feather.

51. select one single blendshape feather and rigged feather, apply blendshape>create deformers>reset>create
52. Channel box>input>blendshape name....>1
53. mouse hold and right click the rigged feather>Input>all Input>drag the blendshape underneath the Skin Cluster.
54. do that to all feathers, it's pain in the ass i KNOW. or use mel script.
55. In mel script we have to found,
blendshape -frontofChain -n "name";
setAttr "name.name" 1;
and copy paste in the Mel, and change the name, and hit clt+enter.

Second level of fanning controls for the feather

56. show the joints and hide the mash, with nothing select, Clt+G create a null
57. with null selected, head to the attribute edit>display>display handle.
58. match postion the null with the end feather joint, turned on the Local rotation axis.
59. now parent the null with wrist feather joints.
60. with null selected, go to modify>freeze transformations option>uncheck translate + scale. freeze transform the rotation.
61. and then parent the feather bone with null.
62. continue all that process to all the feather bone.

63. create nurbe circle, move to the center of the section of feather. freeze transform. name it.
64. reshape a little bit more, grab the other cv, scale it in.
65. duplicate three of them, place them on each section of the wing.
66. each Circle will get parenting to the Main control object.
67. select the three circle, hide and lock the Rotate X,Z Scale X,Y,Z.
68. select the the other control of the wing, hide and lock Translate, X,Y,Z and Scale X,Y,Z
69. show the joints, hide the mash, select one circle, go to Window>Animation Editor>Expression Editor. give a name.
70. in expression, go to Select Filter>By Expression Name
Give a name, type //, and then hit create.
//Feather Section A

//Feather Section B

//Feather Section C

In Section A , select the group, copy the name, paste and
group null secOne a.ry = circle control a name.ry;
group null secOne b.ry = circle control a name.ry * 0.7;
group null secOne c.ry = circle control a name.ry * 0.4;
group null secOne d.ry = circle control a name.ry * 0.2;

choose edit. test the setting.

In Section B, continue with the same process!
group null secTwo a.ry = circle 2 control b name.ry;
group null secTwo b.ry = circle 2 control b name.ry * 0.8;
group null secTwo c.ry = circle 2 control b name.ry * 0.6;
group null secTwo d.ry = circle 2 control b name.ry * 0.4;
group null secTwo e.ry = circle 2 control b name.ry * 0.3;
group null secTwo f.ry = circle 2 control b name.ry * 0.2;

In Section C, continue the same process.
group null secThree e ry = circle 3 control c name.ry
group null secThree d ry = circle 3 control c name.ry* 0.7;
group null secThree c ry = circle 3 control c name.ry* 0.4;
group null secThree b ry = circle 3 control c name.ry* 0.3;
group null secThree a ry = circle 3 control c name.ry* 0.2;

hit edit.

Starting on the bend rig for the feathers.

71. hide the twist performer for the blendshape, channel box visibility off
72. change the perspective to top mode, move to blendshape, change the blendshape mesh to wireframe.
73. create a cv cruves (1 linear) about 5 points for each feather. name each cruve,
74. after naming, go head bring back the wing mesh, go to joint tool, simply create a joint at the wing's roots. name blendshape joint.
75. select all the wing mesh, and joint go head the bind the skin>smooth skin.
76. then select all the wing mesh, go to INPUT>skinCluster>Use Components>On, very important
77. Now go to blendshape mash, grab the 3 mesh for the feather, and the cruve, go head Skin>Edit Smooth Skin>add influence>reset>Weight locking>add. and then select the next one, add influence, and then take care the rest of those. make sure all the Use Components is On.

78. go to outline, select the joint and put what we did into the blendshape group.
79. select the feather B (the longiest feather) go to skin>Edit Smooth Skin>Paint Skin Weight Tool>
if you can't paint it, do Weight type>DQ Blend Weight> and switch back to Skin weight. unlock the feather influence, make sure paint operation set replace, now we can click flood, now you can test the result on the feather.
80. with top feather A selected, skin>Edit Smooth Skin>Paint Skin Weight Tool, and choose flood, now do the same thing with C.
81. if we select the curve again, and move the component around, we see a lot of penetration. so we undo as much as we can to go back, and then select the A feather and B feather go to Skin>Edit Smooth Skin>Add Influence, and now select A feather go back to the weight tool, unlock the blendshape object B, and hit Flood, and then take care the C,
82. continue the same thing select the C feather and B feather go to Skin>Edit Smooth Skin>Add Influence.
83. the A and C feather are no longer any influence to the curve, so select A feather and grab Curve, Skin>Edit Smooth Skin>Remove influence. do the same to C feather.
84. select all the base of the feather, and have them weighted to the blendshape joints. go to component mode and wire frame mode. grab all the points at base, be careful not to grab extra points, go to Window>Component editor>smooth Skin, select the first column, and scroll down select the last column, and put 1. now all the point are locked down.

Bend controls for the feathers

85. hide the mesh for blendshape wing, have 4 curves for Cluster,Create Deformers>Cluster. the mode relative is checked.
86. next what we do is, grab the last two curve that tight to the first Cluster, and next to that we grab the two curves, create another Cluster. contienu the same process. rename all the Cluster in outliner.

Refining the weigtht of the Curves tied to the cluster.

87. go head open up the Window>Component editor, and then select the end curve, component mode, grab all the 5 points.
move to the end of the list in Components editor.
set the Cv [0] to 0
Cv [1] to 0.18
Cv [2] to 0.30
Cv [3] to 0.30
Cv [4] to 0.10

Connect the cluster to mid of the controller

88. go to Connection Editor, select the one mid control, put in reload left, select the two cluster at blendshape, put in reload right. connect the translate with translate. test it out, it will look beautiful.
89. continue it that to rest control and cluster.

Bend control for the end of the feather.

90. now we create Cluster on every single Curve, and grab the Cluster pivot to the end of curve, holding down the C key snap to it, and then adjust shape.
91. select them all Clt G in outliner name Grp_featherEnd, go to channel box and lock and hide select.

animation controls for the end cluster.

92. create a box control curve. snap to the very end feather.
93. turn on the local axis, adjust Rotate Y, duplicate it, snap to the next feather, rename all of them.
94. select all of them again, and freeze transform them.
95. select one of the box curve, group it or you can type it in the commend line, rename it
96. we can also add the group tool on the shelf, head over to script editor
type: // Create a Group with Pivot centered to Object...
group;
name Group with Pivot center

Finishing the end control of the feather.

97. now we need to do is to grab the groups have it parent to the feather.
98. in the Outliner, we select the groups, and then go to the bone, and then we parents. continue the process with rest group and feather.
99. now open up Connection Editor, select all the box control, reload left. and select all the Cluster for each feathers in blendshape reload right. connect translate to translate. test it out
100. now go take care of the weight for the Cv in the Component editor.
Cv[0] 0.000
Cv[1] 0.100
Cv[2] 0.200
Cv[3] 0.400
Cv[4] 1.000
contiuen the process with rest feather.

Automating the wing fold.

100. we are going to set up a driving Key. so Select the Wing A, Modify>add attribute>Name extraCtrls, for the animate attribute we name Wingfold. Give a minimum of 0, and maximum of 1, hit OK.
101. select Wing C box control, go to Animate>Set drive key>Set. and then select the wing A as Driver focus on Wing Fold, and select the wing A.B.C as Driven focus on Rotate XYZ. so now all it's been define. hit Key.
Now set the WingFold for 1
For Wing A put -5.3 for Rotate X
For Wing A put 23 for Rotate Y
For Wing A put 21 for Rotate Z

For Wing B put 78 for Rotate X
For Wing B put -117 for Rotate Y
For Wing B put -41 for Rotate Z

For Wing C put 0 for Rotate X
For Wing C put 92 for Rotate Y
For Wing C put 0 for Rotate Z

102. Once all done, hit Key, now go to WingFold test it out.

Layering the wing as it folds in

103. in frame 0 set key 0 for Wing Fold, and then move to frame 10, set key 1 for Wing Fold.
104. show the joints, from there we select the main control, and head back to Set Driven key window, select the elbow and wrist joints for Driven, focus on the Translate Y, select the wing main control for Driven, focus on WingFold. Key it on frame 0,from there we going to frame 10
105. Go to translate Y in wrist, do some adjustment, so that's layer underneath the elbow of the wing, test to see, give a little bit more nature result.

Correcting the feather during the wing fold.

105. //Group object with pivot centered on selection, and rename group
string $sel[]= `ls -sl`;
string $rGrp= `group -r`; xform -os -piv 0 0 0;
raname $rGrp ("grpSDK_" + $sel[0]);

name the mel Group-Center Pivot and Rename

Complete the wingfold system

106. go to text bar search for grpSDK* after that Open Hypershade in Word Area>Graph>Add selected to Graph
107. place them in Hypershade reversely. after select them all Animate>Set Driven Key>set in Driven
108. select the main wing control, load it to Driver, focus on Wing Fold, select all the feather Joint object, load it to Driven, focus on the Rotate XYZ for all. and choose Key. make sure it key in frame 1 with no fold.
109. now go to frame 10, first section one A and B we set the rotation Y to -63
C we set the rotation to -67
D we set the rotation to -63
now shift select all the section two we set the rotation to 71
now for the last section three, A we set the rotation to -8
B we set the rotation to 5
C we set the rotation to 19
D we set the rotation to 35
F we set the rotation to 63.

Clean Up the Scene

110. hide the blend shape group,

select the joints01 and controlObject0, group those again, it gonna be globaMove01
put the

111. start from the root control, attribute editor>Drawing Overrides>enable overrides, re color all the control.

fix interpenetrating as the wing deforms

112. unhide the blendshader in the outliner,
113. create the locator and move to the base of the feather that cuz the penatration in wireframe mode. rename it. in outliner and store in blendshader
first add the local and feather group as an influence, go to Skin>Edit Smooth Skin>add influence, uncheck use geometry, take care the another feather, with G
114. now select the three meshes. head over to component mode, grab the point of the three feather, go to Component Editor
find that locator, should be at the end, and we go head set the value to 1 and turn hold off, and test the locator.
115. we go top view, create a arrow shape, move to the area that need to be fix. and have the arrow parent to that bone.
so from there, let's lock and head all the atttribute for the arrow, rename it, modify>add attribute>name correct feather Base
max 1, min 0
116.

setting up Character set

117. Character>create character set options>reset>check all keyable