Character's movement mechanism

Started by
2 comments, last by Xeile 18 years, 2 months ago
Hi everyone! Recently I've been exploring one of the most popular TPS (from my point of view of corse) - MaxPayne2 and trying to find and understand how it works. Well, I've found lots of interesting things, but now I'd like to discuss character's movement mechanism. As I understand, guys from Remedy used special character animations, which contain information of movement in addition to ordinary bone tracks. Then this movement information is taken from animation system and used by physics engine (Havok). As the result we have character's moving synchronous to character's animation, which is quite good, no doubt. Anyway, it's a nice idea to move information of movement from code to content (and animators can rather easier control it). Although, I'm not quite sure about how to use (how to interpret) such information in game. Wheither it better to directly convert it to calls of physics engine (like physics_engine::RigidBody::setPosition(), setVelocity(), addImpulse(), addForce() etc.) or handle it in a different way? What's better to do if, for example, during a complex somersault animation a character get a side kick? And how to handle if during the jump the player keep pressed left-right keys and wish to move his character a bit? It's interesting to know you opinion about this.
Game programmer.DirectX9, OpenGL.
Advertisement
It would be nice if someone tells me how they converted sequence of movement delta to something physical (I mean guys in Remedy). I just was wondering about MaxPayne2 mechanism, where - I'am sure - raqdoll is only activated after death.
In other words, MaxPayne2 animation system has a delta-vector of character movement every gameframe. Then this data have to be used in any way, for example characterRigidBody->setVelocity(deltaVector / deltaTime); and it seems to be ok, but it doesn't work in jumps and stairs. So, my main question is what to do with this movement information? How to handle it? Does anyone know how this works in MaxPayne2?
Game programmer.DirectX9, OpenGL.
So... Anyone has an answers? Ideas?
...No one???
Game programmer.DirectX9, OpenGL.
Hello Wolfeinstein,

To begin with, I haven't played Max Payne 2, so I wouldn't know exactly what you are talking about.
But I do know a little about animations in particular. Ever heard of Inverse Kinematics? It is a method to calculate the final pose of body with the help of some controlpoints and a solver. It is very good and quite easy to combine with ragdoll physics. I used it before and I really liked it. To give you an good image of what I am talking about, here is a link:
Editing keyframed animation (DivX AVI)

Look into this all and know a world goes open :D

Good luck,

Regards,

Xeile

This topic is closed to new replies.

Advertisement