Skip to main content
GameDev.net gamedev.net
🔒 Locked

Interactive Animations

Started by Kitasia Dec 10, 2010 at 8:24 PM 3 replies 1.3k views
Original Post
Kitasia
Kitasia
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.
Vilem Otte
Vilem Otte
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.
Kitasia
Kitasia
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!
fng
fng
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
Manoel Balbino
Manoel Balbino
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).

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.