PDA

View Full Version : Character animation vs Movment Speed



iniside
02-11-2010, 12:12 PM
Well I have pretty theortical question. How do you figure out GroundSpeed for you character anim ?
After playing with some Mass Effect 2 character I finally find out optimal and natural looking animation vs GroundSpeed values (animation Rate in AnimTree x1.5), and ground speed down to 200.

Anyway the question is, how do you figure out animation speed vs movment speed in game ?

Denny
02-11-2010, 02:43 PM
I usually start with animating the character until it looks like I want it to, then I bring it in to UDK, make an AnimTree with a ScaleRateBySpeed node and place the character in the level. I then either A. If I have a playable character I try to run around and see if the animation is too fast / slow and correct the value in ScaleRateBySpeed. B. I make a Matinée sequence where I move the character and match the values from that.

After the animation is matching the speed, I save the value and resuse it in my real AnimTree and ScaleRateBySpeed node.

The ScaleRateBySpeed node is used to match the play rate of an animation to the movement speed of a pawn, so if the base is 200 units = 1x play rate, the play rate will increase if the pawn goes faster than 200 units/sec or decrease if it goes slower. It's a one time setup and after that you can change the pawn speed to whatever you like and the character will always be in sync with the ground. :)

iniside
02-11-2010, 03:03 PM
Nice to know. Thanks.

One more question. Is there any realtion between Animation Length and movment speed ?

Denny
02-12-2010, 03:12 AM
No, there's not. It could be any length.

insectum7
03-11-2011, 05:21 AM
I have a follow-up question to this, now that I've implemented ScaleRateBySpeed (thanks btw. that was just what I was looking for).

I have a character who slowly accelerates to a run, over the course of three sets of animation (walk, trot, run). Is there any way to ensure the frames match up during the blends. For example, when blending from 'walk' to 'trot', if the left foot is in a forward position in 'walk', I want the 'trot' animation to be timed so that blending occurs while the left foot is forward in 'trot as well as 'walk'.

Basically the anims should be roughly in sync as they blend. How would I do this?

Legend286
03-11-2011, 01:10 PM
I have a follow-up question to this, now that I've implemented ScaleRateBySpeed (thanks btw. that was just what I was looking for).

I have a character who slowly accelerates to a run, over the course of three sets of animation (walk, trot, run). Is there any way to ensure the frames match up during the blends. For example, when blending from 'walk' to 'trot', if the left foot is in a forward position in 'walk', I want the 'trot' animation to be timed so that blending occurs while the left foot is forward in 'trot as well as 'walk'.

Basically the anims should be roughly in sync as they blend. How would I do this?

Make your start and end positions the same for all animations for the feet.

insectum7
03-11-2011, 01:51 PM
That's it? Awesome, I'll give it a shot.

Thanks!

slowJusko
03-13-2011, 07:01 AM
Basically the anims should be roughly in sync as they blend. How would I do this?

Animation System Overview # AnimGroups, Synchronization (http://udn.epicgames.com/Three/AnimationOverview.html#AnimGroups)

Check out the default AnimTree included in UDK.
It uses this method to sync up the run animations.