Wings 3D + CharacterFX Page 2

Wings3D-CharacterFX Workflow (Aug 2004)

Step 4: Binding/Skinning
Psionic has written some good tutorials on this step. This step involves a fair amount of focus. First, select the root of the skeleton and the mesh and go to Skeleton > Bind Skin. A dialogue should pop up; set the values specific to your model and click OK.
There are two skin types: rigid and deformable. Rigid means that only one bone affects one vertex; deformable means that 2-4 bones can affect one vertex. Think of deformable like human skin. Just to make our lives hell, I'll choose deformable skin type.
To test it, switch to Animation level and rotate a joint or pull one with the IK tool. If it works, chances are things won't bend the way they should; you will need to go and edit some of the vertex weights.

Good grief, Penfold!

Right-click the Edit Vertex Assignments button and repeat these steps:
1. Select the joint.
2. Click "Select Assigned" in the Edit Vertex option box.
3a. Select only the vertices to be assigned and with the joint still selected, click Assign.
3b. Select only the vertices to be removed and with the joint still selected, click Unassign.
4. Select the next joint.
During this process, be careful not to deselect the joint or select another.

Unassign selected vertices!

Another thing to keep in the back of your head is that the sum of joint influences on a vertex should be 1.
Also, if you want a joint to have full influence over a vertex, be sure that the color of the vertex, when the joint is selected, is white. White means total influence; black means none. Also, be sure to unassign vertices from other joints; these minor scattered influences mean that your joint won't have total influence. A lot of patience and practice is required!

This will do for now

Step 5: Other Rigging features
IK is Inverse Kinematics. If you go to the Animate level, you'll see a hierarchy of bones. If you move the shoulder, its children (arm, hand, fingers) will move with it. This is Forward Kinematics, where the top dog leads the little pups. Inverse Kinematics is the opposite. Here, moving the wrist will pull the elbow, will pull the shoulder, etc.
Using IK in CFX is pretty straight forward. Just click the IK button and pull the joints. You may notice though that pulling the wrist, will affect all the joints right down to the root, causing the legs to flail. We may not want this; our solution is the IK Chain Terminator. Here we select a joint where we want the pulling to stop. I usually select the joint right before the root; you may select the shoulder joint as an alternative. Switch to Object level and right-click Edit Object Properties and go to the Joint. Select your joint and check the IK Chain Terminator box. Go to Animation level and test it.

IK'll be back!

Another feature you should take note of is Joint Limits. This is sort of a helper for IK. With it you can lock or restrict bone movement.
For example, a healthy human being's lower leg doesn't bend beyond a certain point. With Joint Limits, you can set such a behavior up. Go back to the Joint tab, and click the Joint Limits button. Choose the desired axis and set it to free, locked or limited. Put in your values. Click OK. Test it with the IK tool.

Joints Limits

Before/After

Step 6: Animate and Export
The Animation tool in CFX is pretty standard. Select your frame in the timeline, position your bones, set key. If you have Auto Keyframe turned on, every movement is keyed. Set up a bunch of keyframes and CFX tweens them and this interpolation leads to your animation.
Under the Animation menu is a Rest Pose command; this reverts your model to its original T-stance pose. I'm not sure how reliable it is.
Referring to a previous step, if you duplicated and mirrored your bones, now would be a good time to do an Auto-Orient joint on all the joints. You may have to go back and reset the Joint Limits. In my case, I just had to multiply the values by -1.
From here, you can export to your favorite game format. I exported to MD2 and put it in Npherno's compiler.
Download screencaps of the animation.
Anything to say? Send me your thoughts! Thanks!

Back to Tutorials