View Single Post
Old 23rd September 2008, 02:28 PM   #3
headerko
Junior Member
Member
 
Join Date: Jun 2008
Location: Slovakia
Posts: 20
Default Charater Creation (by Lisa) - PART II

- Finally, time to rig your model! So... question one... which animation software to use? There's lots of options there, and it's largely a matter of personal preference to be honest. I usually use a couple of different things depending on what I'm doing. Models that can be animated procedurally (i.e. with physics) such as cars or ragdolls might not use any animation software at all... they can be animated entirely by the game, assuming your engine supports it. Other models might need keyframe animation (i.e. artist created animation) for which you will need animation software.

Blender is one option, and it's free which is nice, although I've always found Blender much too difficult and slow to be practical.

As far as inexpensive software goes, I'm partial to Poser and Milkshape in that order. Poser takes a little more setup, but once rigged it's really easy and supports inverse kinematics, joint channels and a lot of other nice stuff. Poser will also let you re-use skeletons between multiple models, so if you spend some time making a really nice one it's easy to re-use not just the joints but poses and animation libraries. The new version will let you overlay timelines, too.

Milkshape on the other hand is much easier to setup--especially if you use the AC3D "Export to Milkshape with Skeleton" it will export a model that's basically ready-to-use--but Milkshape's animation tools are a bit spartan at best. There's no IK, and you can only animate one character at a time which makes it difficult for things where characters interact. Without IK, things like walk cycles will take a verrrry long time to do, so I usually only use it if I'm doing something brain-dead like a windmill. It also tends to crash a lot. But again, it's super-quick to use if you're not doing anything complicated.

As far as high-end stuff goes, I like Lightwave, but I'm weird that way. Most people seem to like Maya.

- The next step is generally to "carve up" the model in AC3D. Select all the surfaces that will be assigned to a particular joint, and then click "cut away object". You should be left with one mesh for each part: hip, hand, forearm, upper arm, collar bone, chest, etc. Don't worry about the fact that all the parts are disconnected, this will get fixed in your animation software or in your game engine.

- Give each object a unique name. Some software, like Poser, will let you use tools like the walk designer if you follow their naming convention. Also, some game engines use joint names to know which parts are "mount points". ie. The engine knows that a gun can be attached to "righthand". So, check with your animation software or game before naming your parts. Here's a chart for how Poser expects a model to be carved up: http://my.smithmicro.com/tutorials/i...97-600x900.jpg

- Assign pivot points. For Poser you can skip this step and do it later inside Poser, but for Milkshape and most game engines you'll need to assign the centers for each joint while you're still in AC3D. You can do this with "adjust object centres" on the tools menu. I also wrote a plug-in for more detailed manipulation: http://www.independentdeveloper.com/...in_pivot_tools You want to assign your pivot point so that the center of the joint is the center of rotation. ie. For the forearm, you want the joint center to be at the end near the elbow, not at the center of the forearm. The red dots in figure C in this picture show a good example of joint centers: http://www.jneuroengrehab.com/conten...0003-3-6-3.jpg You can test your joint centers in AC3D by clicking "use object center" and rotating the part with the mouse. If it swings naturally, you know you have the center in the right place.

- Build the hierachy. You can open the hierarchy view from the Tools menu in AC3D. Again, for Poser you can do this step inside Poser instead, but for practically everything else you'll need to do this now. Select each part of your mesh and group it to its parent to form a chain. i.e. group the foot with the ankle, the ankle with the thigh, the thigh with the hip and so on until your model forms a proper "tree". ie. Like so: http://backroom.renderosity.com/~rhi...rfigure/02.jpg (This image is from Poser, but it should look exactly the same in AC3D.)

- Add a "null master" (optional). A null joint is a joint with no geometry; it is a dummy joint. For characters in games, I like to a null joint on the ground at 0,0,0 and make this the root node of the model instead of the pelvis. It makes programming immensely easier. The code no longer needs to know where the hips are, the programmer moves the null around and everything else just happens. It doesn't matter how tall or short the character is, you don't need a reference pose on frame zero even if they jump, and the programmer never has to worry about where to put the character... just stick the null to the ground and you're good. It also makes a convenient mount point for mounting characters to vehicles. Easy, easy. A lot of people make the hip the root, and truthfully I find this a huge pain. It's up to you, but again, I find this trick to be a huge time-saver. If you use the Milkshape exporter, anything in AC3D that you name "NULL_(whatever)" will be treated as a null pivot. This is optional in Poser, as it automatically adds its own null master named "Body". (although Body sometimes does some odd things if you use the auto-balancing tool)

- Export! If you're going straight to your game engine, this is probably everything you need to do. Ditto for Milkshape. If you've completed these steps and export to Milkshape with Skeleton, you'll have a working rig when you import it into Milkshape, ready to animate. (Be sure to weld vertices after you import into Milkshape so it skins properly.) For Poser, there are a few more steps...

- Import. If you're using Poser, you'll need to import your model as an obj. Make sure to tell it to weld identical vertices and it will make your model back into one solid piece. From there, take it into the "setup" room. I'm not going to go into too much detail as the Poser manual has a pretty good tutorial, but in short what you need to do is either a) choose an existing character from the library to use its' skeleton (recommended!) or b) draw a skeleton using the joint tool. After you draw each bone, name it. Then click the "group" tool to assign surfaces to each bone. If you grouped your model in AC3D, those groups should already show up in poser. (You might need to rename them.) Alternatively, if you assign materials in AC3D, those will also show up in Poser and you can group by material. In the worst case, you can click the surfaces in Poser to make your groups, but I find doing that a big pain so I avoid it as much as possible. After you've assigned all your surfaces to joints, open the heirachy and make sure everything is in the right order. If you've followed Posers' naming conventions, it has some tools that will build the heirachy and set the rotation order for you. Once that's done, leave the setup room and open the joint parameters dialog. This will let you tweak your joint blends until they are smooth. Anything that's inside the green lines will be blended. Anything that's inside the red lines will be excluded. This is the most time-consuming part. Keep sliding around the little lines until it blends smoothly. Once you're done, though, you can save this joint setup you can re-use it on future characters. Also, you only have to do one side! As long as the bones exist, you can use mirror symmetry to copy the joint setup from one side of the model to the other. Anything that starts with an "l" is treated as left side, anything that starts with an "r" is right side... even if you don't follow Poser's conventions because your model is non-humanoid (like the dog) using the symmetry is really helpful.

At that point, you're good to animate! I know its a lot, but it goes pretty quick with practice. Again, try making some really simple models before you try and do anything tricky like a person. A nice earthworm or a ceiling fan.

Heh heh. This was probably more of an answer than you were expecting. Certainly longer than I intended to write, lol. Feel free to share anything useful you get out of this with others!

Later!

-Lisa
headerko is offline   Reply With Quote