About character animation
Since then, I have created several 2D and few 3D games but since then I''ve never tried to include characters
how can I animate them?
I thought about puting into memory all the vertice coordinates for all the frames, but it may take a lot of room..
The other solution consisted in using a bone system with zones of influence,as suggested by a DX8 example, but I think it may monopolise the CPU if I want to display more than one character..
What is the best solution? Is there an alternative solution? And what is the technique used in all these 3rd person games?
mikamikazzzzzzzzzzzz
Usually you have your character made up of a hierarchy of smaller meshes, and rotate them to do animation.
Like, to pose an arm, you''d rotate the hand however you want it, then translate it to the end of the forearm, rotate the forearm (including the hand again, so it gets rotated around the forearm''s axis), then translate the forearm (bringing the hand with it) to the end of the top part of the arm, rotate all that, then move it into position on the body, repeat for the other arm, legs, etc..
Or at least that''s how I''d do it. I''ve never programmed a 3D engine, but that''s the only way I could think of to do it.
Then you just save the rotation values for each piece of the character to do animations. You can even have them several frames apart and interpolate between them to get smooth animation without taking much space. Bones seem like they''d work in a similar way, just moving the vertices of a single mesh instead of a bunch of small ones. If you have HW TnL, you should be able to do either one without straining the processor (I think).
If any of this is completely wrong, someone please tell me^_^
-Deku-chan
DK Art (my site, which has little programming-related stuff on it, but you should go anyway^_^)
Like, to pose an arm, you''d rotate the hand however you want it, then translate it to the end of the forearm, rotate the forearm (including the hand again, so it gets rotated around the forearm''s axis), then translate the forearm (bringing the hand with it) to the end of the top part of the arm, rotate all that, then move it into position on the body, repeat for the other arm, legs, etc..
Or at least that''s how I''d do it. I''ve never programmed a 3D engine, but that''s the only way I could think of to do it.
Then you just save the rotation values for each piece of the character to do animations. You can even have them several frames apart and interpolate between them to get smooth animation without taking much space. Bones seem like they''d work in a similar way, just moving the vertices of a single mesh instead of a bunch of small ones. If you have HW TnL, you should be able to do either one without straining the processor (I think).
If any of this is completely wrong, someone please tell me^_^
-Deku-chan
DK Art (my site, which has little programming-related stuff on it, but you should go anyway^_^)
I think the older style games (like quake1,2, etc) use vertex coords for each frame... DekuTree64''s idea is interesting, but you would prolly do it in reverse order... rotate the body, stick on a shoulder, add arm, forearm, hand etc.. this way there is less translating because you only translate things once.
anyway...
anyway...
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement