1 Tutorials LightWave 3D LightWave [8]: Smart Skinning Qua Jan 26, 2011 4:06 am
Admin
Admin
by Mike Green |
The bones system in Lightwave I've found to be one of the fastest and most flexible bones systems available in terms of deformations. You have the options of controlling your bones with weight maps, or letting Lightwave's own bone falloffs calculate them for you, without having to paint weight maps. It has muscle bulging built into the bones, and this too can give useful results. But what if you want a little more control over how a joint deforms as the bones rotate? What if you want the elbow to come out a little as your wrist does a deep bend? A technique called Smartskinning has been developed in which you associate a morph or a series of morphs with the rotation of a bone, so you always get perfect deformations. As your arm rotates to ninety degrees, it morphs the polygons around the elbow into the perfect shape for that amount of bend. It's possible to set up such a system in Lightwave, and I'm going to show you how. First of all, this technique is entirely produced in Lightwave's Layout, you don't need to enter Modeler at all. This is useful for the particular way I do this, as it means you get to see the final result immediately, you can use it in conjunction with some of the other deformation tools in layout (including the bone muscle bulge facility), and you don't need to use weight maps on your object. As I very rarely use weight maps, (I find them fiddly to set up in comparison with the normal bones system in Lightwave) this is useful to me, whereas other smartskinning methods are Modeler and weight map dependent. Anyway, onto the tutorial. Load your mesh (Under the menu Items>Load>Object), and add bones to it, either by converting some skelegons (under the menu Setup>Add>More>Covert Skelegons into Bones) which you had previously set up in Modeler or by just drawing them out in Layout (Setup>Add>More>Draw Child Bones). Select your mesh object, and open the Item properties panel (press p). Set the Geometry>Subdivision order to 'last'. Now we're going to set up the arm. Drag the frame slider at the bottom to frame 10, bend the elbow to a good angle (press y and click drag the rotation handle). Key it (press enter). With one of the new features in Lightwave 8, at frame 10 we'll create a corrective deformation, and turn this into a morph at frame, which won't have the bone deformation saved in the morph. I usually make the elbow bone use 'joint compensation' / 'joint compensation for parent' and 'muscle flexing for parent' (found in the Item properties panel (press p)) as this gives a reasonable deformation to start with. You don't necessarily have to use this. Interestingly, you can use negative values in these fields which can give useful results. Experiment with your own rig, you may not even have to use a corrective morph! In the properties panel, under Dynamics, Add the SoftFX dynamic plugin. Go to the operator tab, which controls how SoftFX makes your object wobble. We don't want it to wobble for this, so change the Operator1 map to <none>. Click Calculate so that the SoftFX gets the data on your object. You can save time by setting the preview to 0 to 10 frames so it doesn't calculate forever. Okay, now the sculpting part. Go to the EditFX tab. This is the part which allows you to edit any points which might have deformed badly in your mesh had you used dynamics. It acts like the magnet tool in modeler, with some extra features. A brief overview of it's functions are as follows.
You edit by just clicking on a highlighted point, and dragging it in LW's interface. You should leave Editframe on the default of All frames for the deformation to be carried back to the start frame. If you adjust Edit size, you'll see the current edited point display a sphere of influence as you drag the slider. Once you have achieved a good deformation for your elbow joint using EditFX, and go back to frame 0, the unbent arm. The EditFX deformation will remain with the bones being straight. Go to File>Save>Save Endomorph and give it a name like 'Joint.Elbow100P' (for 100 degrees around the Pitch). Save your object to keep the endomorph! Deactivate the SoftFX plugin by clicking the tick next to it in the Dynamics plugin list. Add the Deform>Add Deformation>JointMorph Plus Plugin. Open the JointMorph Plus interface, and select the bone which will do the driving of the morph. Activate Value1, but leave the settings as they are. On Angle > max, set it to be Max Morph. This means if the elbow rotates further than 90 degrees it won't go to the base shape, but still use the maximum morph shape. In Value 2, select the Bent morph and set it to be 100% at the Angle of 90 degrees. Close the panel and scrub the timeline. You should see the morph applied as the elbow bends. This will work with IK motion too, so you should be able to set the rest of your character up easily. There you are, a morph specifically designed for a particular joint on your mesh. And you didn't need to go into Modeler to do it! I hope this has proven useful to you and that you find many more ways in which to use this technique! |