Complete Human Character Rig In 3D Studio Max, Part 5 Skinning
In the 5th and final part of the Complete Human Character Rig In 3D Studio Max series, you'll finalize the process of creating the rig's many controllers and move onto 'skinning' the character. Soni will walk you through the process of weight painting and fine tuning influence values in order to achieve proper animation friendly deformation of the character's mesh.
Step 1
Let’s open the ‘complete upper body controls.max’ file which we saved in the last part of the tutorial.
Step 2
Before starting the next process, first we will check the newly created hand controls for proper freezing and linking. So if you have completed the left side hand controls, then select all the fingers controls and by pressing Alt + Right-click, choose the Freeze Transform command.
Step 3
Now, select all the fingers control curves and then enable the Select and Link button, then drag onto Bn_L_Hand01 to link with the hand bone.
Step 4
Now select CtrlC_L_Thumb01 and Alt+Right-click, and then select ‘Curve Editor’ in the right click menu.
Step 5
In the Curve Editor, select Position X, Y and Z, as well as Scale. And then Right-click and choose the Lock command in the fly out menu.
Step 6
In the same way, lock the rest of the finger controls’ Position X, Y, Z and Scale properties in the Curve Editor one by one.
Step 7
Now, follow the same process for the right finger controls linking and locking also.
Step 8
Now, we will create one more control. This will be the Global Control. So jump into the Top view and then go to Create > Shape > Line, and draw a rectangle or square shape as shown in the image below.
Step 9
Now being in the Perspective view, select the newly created curve shape and Alt+Right-click and then choose Freeze Transform in the fly out menu. Rename this curve as "Global Control".
Step 10
Now, select CtrlC_COG01, CtrlC_R_Hand01, CtrlC_L_Hand01, CtrlC_R_Elbow01, CtrlC_L_Elbow01, CtrlC_R_Knee 01, CtrlC_L_Knee 01, CtrlC_R_Leg 01 and CtrlC_L_Leg 01 and then with the Select and Link tool activated, drag the selected controllers onto the Global Control. This way the Global Control becomes the parent of all other controllers.
Step 11
The reason to create the Global Control is so the animator can control the position and scaling of the character and it's entire elements very easily according to the scene setup.
Step 12
Now, we’ll finalize all the control curves for freeze transform and arrange them in the Layer Manager. So click on Layer Manager to open the Layer Manager Window.
Step 13
In the Layer Manager window, hide all created layers to see which elements are not yet added into a particular layer.
Step 14
As you can see there are a couple of control curves which are yet to be added into particular layers. So select all these control curves, then select the Curve Controls layer in the Layer Manager window and then click on the (+) (Add Selected Object button) to add them into the selected layer.
Step 15
Next, select the point helpers also and then with the Other Hidden Objects layer selected, click again on the (+) (Add Selected Objects button) to add them into the selected layer. We will not add the Global Control into any layer, but will keep it independent.
Step 16
Now, the final status will look like the image given below. Close the Layer Manager window.
Step 17
Before moving ahead, we need to Unfreeze the Character Mesh layer first. So with the Character Mesh layer selected, click on the Unfreeze button in the Layer Manager window. The Character Mesh will be unfrozen. Now close the Layer Manager window.
Step 18
Now, we have to apply a Skin modifier onto the character mesh for proper deformation with the bone structure. So first, select the character mesh and then Right-click and select Object Properties.
Step 19
In the Object Properties window, turn off the See-Through option and then press the OK button to close the Object Properties window.
Step 20
Before applying the Skin modifier, first select the character mesh and click on the Utilities panel, then click on Reset XForm and then finally click on Reset Selected.
Step 21
After clicking on the Modify panel, you will see the XForm utility here. The character mesh is showing a bounding box, which will give support on both sides during skin weight mirroring.
Step 22
Now go to the Modifier list and choose the Skin modifier to apply skin to the character mesh.
Step 23
With Skin modifier selected, click on the Add bones button to open the list of objects window.
Step 24
It will open the Select Bones window.
Step 25
Here type "Bn" (minus the quotes) in the Find box to select all the bones which start with the "Bn_" initials. Then click on the Select button to add the selected bones.
Step 26
All the selected bones are now in the skin group.
Step 27
Now just for checking purpose, drag the hand control to make a random pose. You will notice the character mesh deforms according to the joint pose.
Step 28
After testing the skin with the bones, Alt+Right-click on viewport and choose the Transform to Zero command.
Step 29
The Transform to Zero command resets the transformation of the hand control, and you will see the character return to skin pose mode or a T pose.
Step 30
Now, for checking the envelope influence on skin weight, select the character mesh and then Right-click on ‘Shaded + Edge Faces’ and turn off the Edged Faces option.
Step 31
Now, with the character mesh selected, expand the Skin modifier stack in the Modify panel. You will see the Bn_Head01 bone is selected and it displays an wireframe Envelope on the character's head. Now we can adjust it according to the mesh area of the particular joint selected.
Step 32
For adjusting the Envelope wire, choose any of the points and drag them with the Move tool, try to compact (reduce) the covering area up to the head part only.
Step 33
Here you can see compacting the envelope wire affects the influenced area also. Just like this we have to adjust all the bones influence weights as per requirement.
Step 34
Next, select the Bn_chest01 bone in the bones group and adjust it's envelope area, just like we did in the previous step.
Step 35
Just like this with the Bn_L_Thigh01 bone selected, adjust the envelope weight for the left leg also. This is a very time consuming process for setting proper skin weights on the desire part, so be patience.
Step 36
Now, we are going to set proper envelope skin weights on the character mesh. So open the Layer Manager and Hide the Bones and Point helper layers, then close the Layer Manager window.
Step 37
Now click on the Shaded option in the top left of the viewport, and then check on Edged Faces in the fly out menu to show edges on the mesh.
Step 38
Now, select the left foot control and drag it upward. You will see here the mesh is not deforming properly around the knee. This kind of situation / problem will keep coming up while doing skinning, so let’s see how we can solve such problems.
Step 39
To start with this process, first select the left foot control curve and then click on the Auto Key button while keeping the time slider at frame 0.
Step 40
Now, move 10 frames ahead on the timeline and drag the left foot control a little bit up to add a key frame for animation.
Step 41
Now, turn off the Auto Key button and now we will start the next process of properly refining the applied skin weight influence.
Step 42
So select the character mesh and then click on Edit Envelopes. You will see the envelope lines become grey inside the character mesh.
Step 43
Now, turn on the Vertices option. After doing this you can select vertices for influence weight adjustment.
Step 44
Now, select the vertices which are not properly deformed. So adjust their influences properly. Here you will have to make that decision yourself according to your case.
Step 45
With the vertices selected, increase the Abs. Effects value until the vertices are amended properly as shown in the image below. It is a quite easy and useful process for adjusting influence weights. I like this process very much.
Step 46
Again select some more vertices around the backside of the knee area and then do same as we did in the previous step.
Step 47
Adjust the Abs. Effect value of the selected vertices to correct the bad deformation of the mesh.
Step 48
There is another option to adjust influence weight. In this image, you can see the left side bone envelope’s influence is affecting the right side mesh until a certain extent. We will need to adjust it properly.
Step 49
For this, select the right leg’s vertices and click on the Weight Tool button to open it's settings box.
Step 50
Here you can see that we have selected the left leg bone, but it shows some influence on the right leg also. So select the right side vertices and in the Weight Tool settings box, click on 0 value to remove the influence from the right side leg.
Step 51
Now you can see there is no more influence on the right leg when the left leg bone is active. Now close the Weight Tool settings window.
Step 52
We can also adjust skin weight with the Weight Table. Select a vertex of the left thigh, and click on the Weight Table button.
Step 53
It opens the Weight Table window. Here you can see all the bones and their weights on the mesh vertices. Since we’ve selected only one vertex, and it shows its weight value is 0.960 on Bn_L_Knee01 bone, which is very high. Ideally it should be less.
Step 54
So drag the slider to check the minimum weight value applied on the Bn_L_Thigh01 bone. Here it shows it's value is 0.020 for Bn_L_Thigh01, which is ideally very low. So we need to enhance it.
Step 55
Now, increase the value to around 0.200 for Bn_L_Thigh01. In the result, you will notice that the selected vertex now has a good influence value. So this is another way to adjust the skin weight values.
Step 56
Now, we will refine the left hand. So select the left hand control and repose it as shown in the image below. Here you will notice several bad deformation of the mesh.
Step 57
To rectify the problem, first select the Bn_Spine03 bone envelope. Here you will see some unwanted influence applied on the vertices of the left arm.
Step 58
So select the unwanted vertices and set their Abs. Effect value to 0, and then see the result. This process resolves the issue.
Step 59
Now, let’s work on the Elbow. Follow the same process as we did in the previous step.
Step 60
Continue following the same process for other defective area as well. Now we have to correct the head and neck parts.
Step 61
Now select the neck bone influence capsule. You will notice that almost half of the head is affected by the neck bone influence. So we have to refine this too.
Step 62
Now, select the upper head vertices. and set their Abs. Effect value to 0.
Now the head part is unaffected by the influence of the neck weight.
Step 63
Just like this, keep refining all the other defective areas for proper influence weight distribution.
Step 64
By following the same method, refine the left hand and fingers too. Next, we will mirror the weight to the right side.
Step 65
Before we start mirroring the weights, we have to first delete the animation key frames we made on the controllers
Step 66
Select the left hand control curve and then Alt+Right-click, choose Delete Selected Animation. This action deletes the key frames made on the hand controller. Just like this, follow the same process for deleting all the controllers’ animation key frames which were created earlier.
Step 67
After deleting all the animation key frames, turn off the Edge Faces option.
Step 68
Now, with the character mesh and Envelope mode selected, click on Mirror Mode. You’ll notice that half the character's verticies are showing in green and the other half are blue.
Step 69
Since we’ve already refined the left side which is denoted by the blue color, we need to click on the Paste Blue To Green button to transfer the left side (blue) weight to the right side (green).
Step 70
Now your character rig and skin is ready for animation. Give it a random pose to check the deformation of the mesh. If you find any problem in skinning, you can refine it again as per your requirement.
Step 71
Finally, save the file as "Complete Character.max". Hence the Human Rig series ends here. I hope you have enjoyed this tutorial.
...
You must Sign up as a member of Effecthub to view the content.
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
3904 views 1 comments
You must Sign up as a member of Effecthub to join the conversation.