Modeling, Texturing & Rigging a Realistic Shark in 3D Studio Max - Part 3
In the third and final part of the series, you'll learn how to construct a versatile and animation friendly rig for the shark using 3d Studio Max's built in tool-set. You'll learn how to create bone chains, link and parent objects, the importance of the child/parent relationship, how to setup control curves, and finally how to skin the model for proper deformation.
Additional Files:
1. Setting Up Layers
Step 1
Let’s start 3ds Max and open the Complete Textured Shark.max file, which we saved at the end of the second part of this tutorial.
Step 2
Now click on the Manage Layers button on the main toolbar, to open the Layer Manager window.
Step 3
Click on the Create New Layer button, to create a new layer inside the Layer Manager window.
Step 4
With the new layer selected, Right Click on it and then Rename it Body Mesh.
Step 5
Select the shark body in the viewport and then Right Click on the Body Mesh layer, and select the Add Selected Objects command from the fly-out menu. This adds the shark to the Body Mesh layer.
Step 6
Again click on the Create New Layer button to make another new layer, and Rename it Bones.
Step 7
Just like this, create Four more layers and Rename them as: Controls, Extra, EyeBalls and Teeth as shown in the image below.
Step 8
Now let’s add the relative objects to their corresponding layers. With both eyeballs selected in the viewport, Right Click on the EyeBalls layer and select the Add Selected Objects command from the flyout menu. This add the shark’s eyeballs to the EyeBalls layer.
Step 9
With the upper and lower teeth meshes selected, Right Click on the Teeth layer and select Add Selected Objects from the menu.
Step 10
Now turn on the Freeze button for the Body Mesh, EyeBalls and Teeth layers.
2. Creating the Bones
Step 1
Now we'll start creating bones. So first press the F3 key to change to wireframe view, and then go to the Animation menu and click on Bone Tools.
Step 2
This opens the Bone Tools window. Now click on the Create Bones button, to start creating bones.
Step 3
Jump into a side view and create a chain of eight bones in the middle of the shark body, as shown in the image below.
Step 4
You can always turn on Bone Edit Mode to edit the size, position and rotation of the bones.
Step 5
Again turn on the Create Bones button, and create two bones with the end bone node for the upper part of the fin.
Step 6
Following the same procedure, also create the tail bones.
Step 7
Just like this, create the head and jaw bones as shown in the image below.
Step 8
Following the same process, create the bone chain for one of the side fins as well. For this, work in the Top view.
Step 9
Now, jump into the Perspective view and see where the bones are actually placed. You will notice the side fin bones are not in the right place, they're actually a bit too high.
Step 10
So select the root of the side fin bones, and move it down to the side fin's mesh, as shown below.
Step 11
Now after placing the bone inside the fin mesh, select all the fin bones for mirroring and duplicating to the opposite side.
Step 12
With the fin bones selected, click on the Mirror button on the main tool bar to open the Mirror settings box. Here select the Y axis as the Mirror Axis, and change the Offset value to 55.0 (the Mirror Axis and Offset values could be different in your case). Next, turn On the Copy radio button, and then press OK to apply the mirror command. This will create the same bone chain for the opposite side's fin.
3. Renaming & Organizing the Bones
Step 1
Now we need to rename all the created bones according to their relative body parts. So with the first spine bone selected, rename it Spine01 jnt, under the Name and Color section of the Modifier panel.
In the same way, select the second spine bone and then rename it Spine02 jnt.
Step 2
In this way, rename all the spine bones as Spine01 jnt, Spine02 jnt, Spine03 jnt, Spine04 jnt, Spine05 jnt, Spine06 jnt, Spine07 jnt, Spine08 jnt, and rename the very last end bone node Spine Tip jnt.
Step 3
Following the same process, rename all the tail bones as Back bottom fin 01 jnt, Back bottom fin 02 jnt and Back bottom fin Tip jnt.
Step 4
Now rename the top tail bones as Back Top Fin 01 jnt, Back Top Fin 02 jnt and Back Top Fin Tip jnt.
Step 5
Next rename the top fin bones as Top Fin 01 jnt, Top Fin 02 jnt and Top Fin Tip jnt, as shown in the image below.
Step 6
So now we have renamed all the bones according to their corresponding body parts.
Step 7
If you want to see the names of the bones in a proper list, just click on the Select by Name button on the main toolbar, or press the H key on your keyboard.
This will open the Select From Scene window, where you can see all the bones listed.
Step 8
After renaming the bones, click on the Layer Manager button to open the Layer Manager window once again. In the window, turn on the Hide button for the Body Mesh layer, to hide the layer object. This will hide the shark body mesh in the viewport.
4. Linking & Creating Helpers
Step 1
Now we'll start linking the bones with the relative bones. This is a tricky process and you must be able to understand the Child/Parent relationship. So first click on the Select and Link button on the main toolbar, and then click to select the Top Fin 01 jnt and then drag and drop onto the Spine02 jnt. Now the Spine02 jnt becomes the parent of the Top Fin 01 jnt. This means wherever the Spine02 jnt moves, the Top Fin 01 jnt will follow.
Step 2
Just like this, with the Select and Link tool selected, first click on and select the Back Top Fin 01 jnt and the Back bottom fin 01 jnt together, and then drag and drop onto the Spine Tip jnt.
Step 3
Now with the Select and Link tool selected again. First click on and select the Jaw jnt and then drag and drop onto the Head jnt, as shown in the image below.
Step 4
After parenting the bones, it’s time to link some more objects like the teeth and eyeballs meshes. So in the Layer Manager window, turn off the Freeze option for the Teeth and Eyeballs layers.
Step 5
After unfreezing the teeth and eyeballs meshes, use the Select and Link tool again. First click on and select both eyeballs, and then drag and drop on the Head jnt.
Step 6
Following the same process, select all the upper teeth meshes and link them with the Head jnt.
Step 7
Now select all the lower teeth meshes and link them with the Jaw jnt, to make it the parent of the lower teeth.
Step 8
Next we have to create the point helpers for linking the fins bones. So in the Create panel, click on the Helpers button and then select Point helper. Also turn on the Box checkbox, and keep the Size value as 2.0.
Step 9
Now drag and draw out Two point helpers anywhere in the viewport, as shown in the image.
Step 10
Now it’s time to align the helpers. So first select a helper in the viewport, and then turn on the Align button on the main toolbar (or you can press Alt-A alternatively.) Then click on the Left Front Fin 01 jnt as shown in the image.
Step 11
After clicking on the Left Front Fin 01 jnt, the Align Selection window opens. Here check on all X, Y and Z positions and also turn on all Align Orientation axes. Finally click on the OK button, to apply the align command.
Step 12
Following the same process, select the other point helper and press Alt-A (or the Align button), and then click on the Right Front 01 jnt, finally hit the OK button.
Step 13
Following the same process, I created one more point helper and kept the size larger than before. I have also aligned it with Spine01 jnt and then renamed all the point helpers as Left Fin Helper , Right Fin Helper and Root point helper as shown in the image below.
Step 14
With the Select and Link tool selected once again, link Left Front Fin 01 jnt to Left Fin Helper, Right Front 01 jnt to Right Fin Helper and Spine01 jnt to Root point helper, as shown in the following image.
Step 15
Now select both the Left Fin Helper and Right Fin Helper and then link them with the Root point helper.
Step 16
Finally, select the Spine01 jnt and Head jnt and then link them with the Root point helper.
Step 17
So now the Root point helper becomes the root parent of all the bones and helpers. You can check it by moving and rotating it.
5. Creating Control Curves
Step 1
Now we will create the control curves. So unhide the shark Body Mesh in the Layer Manager window.
Step 2
Go to the Create panel and select Circle from inside the Shapes tab, and then draw a circle onto the grid as shown.
Step 3
With the Circle shape selected, Right Click and select the Convert To: > Convert to Editable Spline option.
Step 4
With the Circle spline still selected, press the E key to select the Rotate tool and then Right Click on the Angle Snap Toggle button. This opens the Grid and Snap Settings window. Here keep the Angle value at 90.
Step 5
Turn on the Angle Snap Toggle button. Now with the Circle spline selected, go to the Modify panel and choose the Spline selection mode. Then while holding down the Shift key, Rotate the curve on the X axis to make a duplicate copy of the selected spline. You will notice that the duplicated spline snaps to 90 degrees, as shown in the image below.
Step 6
Following the same process, I duplicated the Circle once more on the Z axis and placed it as shown. I also turned on the Enable In Viewport option to see the curves with a solid thickness in the viewport. Keep the Thickness value at 0.4 or as you wish.
Step 7
Now duplicate the entire curve entity, and place each one at the top and bottom of the tail respectively.
Step 8
With any of the curve controls selected, make eight more copies of it. Place these controls beneath the spine bone chain according to each spine bone, as shown in the following image.
Step 9
Make two more copies of the curve entity and place them at the jaw and the mouth bones. Then create four new Circle splines and place two of them over each side fin, as shown.
Step 10
Once again open the Layer Manager window, and turn on the Hide button to hide the shark mesh.
Step 11
Now select all the control curves, do a Right Click, go to Convert To: and select the Convert to Editable Spline command from the fly out menu.
Step 12
Now with the top tail control curve selected, open the Hierarchy panel and turn on the Affect Pivot Only button. You will notice that the transform gizmo of the control curve is quite different and not following the alignment of the tail bone.
Step 13
So with the control curve selected and the Affect Pivot Only button enabled, click on the Align tool button on the main toolbar and then click on the Back Top Fin 01 jnt to open the Align Selection box. In the settings box, check on all the Align Position axes for X, Y, and Z. Also check on all the Align Orientation axes for X, Y, and Z, then click on the OK button.
Step 14
Following the same procedure, I have also aligned the other bottom tail control curve with the Back bottom fin 01 jnt. As we did previously, once we have aligned all the control's pivot points, we turn off the Affect Pivot Only button.
Step 15
Now select all the control curves and then while holding down the Alt key, do a Right Click and select the Freeze Transform command from the fly out menu.
Step 16
Whenever the Freeze Transform command is selected, a message box appears. Simply click on the Yes button to apply the Freeze Transform command.
Now let’s rename all the control curves one by one. First rename all of the spine controls as follows: Ctrl_Spn0, Ctrl_Spn01, Ctrl_Spn02, Ctrl_Spn03, Ctrl_Spn04, Ctrl_Spn05, Ctrl_Spn06, Ctrl_Spn07, Ctrl_Spn08. Rename all of the tail controls as Ctrl_tail Top01 and Ctrl_tail btm01 and the fin controls as Ctrl_Left Front Fin 01, Ctrl_Left Front Fin 02, Ctrl_Right Front Fin 01, and Ctrl_Right Front Fin 02. Finally rename the head and jaw controls as Ctrl_Head and Ctrl_Jaw respectively.
Step 17
Now with all the control curves selected, open the Layer Manager. Select and Right Click on the Controls layer, and choose the Add Selected Objects option to add all the selected curves to this layer.
6. Applying Constraints
Step 1
Now we will apply particular constraints according to each control. So with the Back Top Fin 01 jnt selected, go to the Animation menu and select Orientation Constraint from inside the Constraints submenu.
Step 2
With the Orientation Constraint selected, click on Ctrl_tail Top01 to apply it.
Step 3
Now also apply the Orientation Constraint to the bottom tail control. So with the Back Bottom Fin 01 jnt selected, go to the Animation menu and select Orientation Constraint from inside the Constraints submenu, and then click on Ctrl_tail btm01 to apply the Orientation Constraint command to it.
Step 4
Following the same procedure, I have applied the Orientation Constraint to all the spine bones’ controls (From Ctrl_Spn01 to Ctrl_Spn08.)
Step 5
Just like this, apply an Orientation Constraint from the Left Front Fin 01 jnt to Ctrl_Left Front Fin 01, the Left Front Fin 02 jnt to Ctrl_Left Front Fin 02, the Right Front 01 jnt to Ctrl_Right Front Fin 01, and from the Right Front 02 jnt to Ctrl_Right Front Fin 02.
Step 6
Also apply an Orientation Constraint from the Head jnt to Ctrl_Head, and the Jaw jnt to Ctrl_Jaw.
7. Linking the Controllers
Step 1
Now we will link the controllers to each other. So with the Select and Link tool selected, link Ctrl_tail Top01 and Ctrl_tail btm01 to Ctrl_Spn08, Ctrl_Spn08 to Ctrl_Spn07, Ctrl_Spn07 to Ctrl_Spn06, Ctrl_Spn06 to Ctrl_Spn05, Ctrl_Spn05 to Ctrl_Spn04, Ctrl_Spn04 to Ctrl_Spn03, Ctrl_Spn03 to Ctrl_Spn02, and Ctrl_Spn02 to Ctrl_Spn01.
Step 2
Just like this, link Ctrl_Left Front Fin 01 to Ctrl_Left Front Fin 02, and Ctrl_Right Front Fin 01 to Ctrl_Right Front Fin 02.
Step 3
Finally, I created one big Rectangle spline around the shark's body, and aligned its gizmo to the Spine01 jnt by turning on Affect Pivot Only in the Hierarchy panel as we did in previous steps. In the Align Selection box, only turn on Align Position for all axes and then click on the OK button. Then rename it to Ctrl_global.
Step 4
Now we have to link all the root controls and the Root helper with Ctrl_global. So select all the root controls Ctrl_Spn01, Ctrl_Left Front Fin 01, Ctrl_Right Front Fin 01, Ctrl_Head, and Root point helper then turn on the Select and Link button and drag and drop on Ctrl_global.
Step 5
In this way we have now completed the rigging process.
8. Skinning the Mesh
Step 1
Now it’s time to apply skinning to the shark mesh. So I have unhidden the shark mesh to skin the bones.
Step 2
With the shark body mesh selected, go to the Modify panel and select the Unwrap UVW modifier in the stack.
Step 3
With the Unwrap UVW modifier selected, open the Modifier List and select the Skin modifier to apply it to the shark body mesh.
Step 4
After applying the Skin modifier, click on the Add button in the skin modifier Parameters group.
This opens the Select Bones window. Here choose Spine01 jnt, Spine02 jnt, Spine03 jnt, Spine04 jnt, Spine05 jnt, Spine06 jnt, Spine07 jnt, Spine08 jnt, Back Top Fin 01 jnt, Back Top Fin 02 jnt, Back bottom fin 01 jnt, Back bottom fin 02 jnt, Top Fin 01 jnt, Top Fin 02 jnt, Left Front Fin 01 jnt, Left Front Fin 02 jnt, Right Front 01 jnt, Right Front 02 jnt, Head jnt and Jaw jnt. Don’t select any ‘Tip’ bones in the list and then click on the Select button.
Step 5
After applying the skin modifier and adding the bones, let’s check for proper deformation of the shark body.
If you rotate the head controller, you will notice some problems with the deformation.
Step 6
Lets fix this problem. Select the Envelope inside the skin modifier, in the modifier list panel. Then first select the Head jnt and turn on the Edit Envelope button. You can see there isn`t a proper weight influence according to the selected head bone.
Step 7
To fix the problem, turn on the Vertices option.
Now with the upper lip vertices selected, increase the Abs Effect value to 1.0. You'll see the selected vertices are now shifted back to their original position properly.
Step 8
Just like this, keep adjusting the Absolute Influence values to get proper deformation of the various parts of the shark mesh.
Step 9
We have now completed all the skin weights as required. You can check the deformation by moving and rotating various controls. Also apply a Mesh Smooth modifier to the shark body mesh to make it look smoother.
Step 10
Finally open the Layer Manager window, and Hide the Bones layer.
Now we have a fully rigged and animation ready shark character.
Conclusion
Here I have composited a rendered image of the shark in Photoshop. I hope you have enjoyed this series.
...
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
3452 views 2 comments
You must Sign up as a member of Effecthub to join the conversation.