Re: [GD-General] Pelvis transformation during animation
Brought to you by:
vexxed72
From: Nathan M. <Na...@do...> - 2007-11-14 23:56:21
|
It sounds like you are trying to both drive the character's game/logical position by movement of the root joint and also to use it to skin/deform the characters. I would suggest that you use different joints for each purpose. In our engine, we have a joint that we call the delta-trans that indicates the character's position and rotation deltas for each frame. That has a child that we call the "Root" joint which is the basemost deforming joint. At munge time (after export but before the game gets it) we extract data from the delta-trans and then strip that joint out of the skeleton. So, in this kind of situation, something like a backflip might simply translate the delta-trans backwards a bit while the root and other joints are doing all manner of spins and translation. I believe that's pretty much how most people do root motion, and a Google search for "root motion" will probably turn up some good info. =20 -Nathan =20 -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of pontus birgersson Sent: Wednesday, November 14, 2007 3:32 PM To: gam...@li... Subject: [GD-General] Pelvis transformation during animation =20 Hi, =20 I have encountered an issue that has been a hassle for my current game project as well as for previous ones and I'd like to hear your take on it. =20 The issue surrounds transforming i.e. rotating and translating the pelvis joint during animation. We are creating a fighting game where our artists would like to be able to translate and rotate the entire character in a non-linear fashion for some animation (say an attack where the character turns around and moves forward). =20 My first approach to this was to let the transformation be part of pelvis but this causes an issue due to hardware skinning since the world position and orientation in game logic won't incorporate that particular transformation seeing as how it is added in the vertex shader. =20 Next I tried to extract the transformations into separate rotations and transformations for each key frame and just add the difference between key frames to world position and orientation. This solution was flawed because it also extracts the pelvis translation on the Y axis and adds that, making the character float upwards. I guess I could keep working on this solution but it seems as a bad way to go, do you guys have a better idea or perhaps a standardized way to do this? =20 Regards, =20 Pontus Birgersson=20 Shortfuse entertainment =20 ________________________________ Express yourself instantly with MSN Messenger! MSN Messenger <http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/>=20 |