Interactive Animations

Started by
3 comments, last by Manoel Balbino 13 years, 4 months ago
Anyone have any helpful tips/resources on animations that involve interacting with other players or the environment?

For Example:
~ Opening a door
~ Getting into a car
~ Putting a guy in a headlock or giving a hug
~ Flipping objects over

I'm a bit confused how the player can hold just the animation and be so well aligned. I would think there must be some sort of props involved in the animation. Unfortunately I haven't heard very much on the subject.
Advertisement
Mostly it is done this way (I'll use door opening example):
1) Player comes to door and aims at them
2) Presses F.e. space to open them ... and game takes control of avatar (instead of player)
3) Game moves player to position where he is well aligned (often just few units, of course player avatar "jumps" ... one can get rid of jump by doing slow walk animation toward doors)
4) Game plays door opening animation (now it is well aligned) for avatar and opens doors (as door object exactly)
5) As soon as this is complete game sets back player animation to idle and gives player control of his avatar again ... of course one can use animation blending, or another animation to not again "jump" between different animations.
6) Player plays on...

I think this exactly (door opening) is quite visible in lots of games, like Gothic for example.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com

Wow, that sounds like torture for an animator to get the opening of the door perfectly right. I thought there would be a more advanced standard given the quality of games these days. I'm guessing the more interactive games roll out their own systems.

Thanks for the help!
Quote:Original post by AntiGuy
Wow, that sounds like torture for an animator to get the opening of the door perfectly right...

That's why you would put the avatar in a "well aligned" position in step 3). What could help here is some good inverse kinematics, e.g. to make the avatar reach for the door handle at the current position. However to get that to something "natural" is quite hard.

@Vilem Otte: nice and clear description of the steps!
-- blog: www.fysx.org
There isn't much overhead for the animator. You have an animation of a character opening a door, and the animation flags the keyframe at which the hand should touch the door. In the game, the code moves the character so that their position in relation to the in-game doorknob matches the relative position during the animation. The game either makes the character walk and turn at the exact position, or moves to an approximate position and interpolates the character position to make finer adjustments.

You can allow the character to perform the action from a not-so-exact position if you use IK to modify the final position of the hand(s) to match that of the actual object. This allows the game to use the same animation to pick objects at different heights (but not wildly different, otherwise the movement will look weird).

This topic is closed to new replies.

Advertisement