PDA

View Full Version : Animating a human character for games - loops, but transitions?



Dirk
09-25-2005, 07:25 AM
Hi,

I'm currently animating a generic human character for computer games (very likely 3rd and 1st person shooters / adventure games, maybe RPGs). Most of the animations are loops; some of the loops need transitions or start / end sequences like jumping, for example: start the jump loop, jump loop, end of jump loop. The start and end sequences are also transitions, they start (respectivly end) in the starting pose of the idle / stand animation.

Now, the character has some standing and moving loops, like walking, sneaking, running,... I wonder if I need to create transitions from (nearly) any loop to any other loop. For example, transitions from standing to running, and vice versa.

It wouldn't be that much work to do the transitions, because they have to be very short and the start / end poses already exist.

On the other hand, I doubt that these transitions are very useful, since the actors in a game have to react very fast anyway, and most game engines can blend motions.

Please share Your thoughts with me on that matter.

Lamont
09-25-2005, 06:20 PM
Prince of Persia did MANY transitions to the animations, that's why it looks so good. It's something that's not done in most games because of the reliance on the engine to interpolate the data. I would go for it.

jasonwestmas
09-25-2005, 08:11 PM
Lamont, Do you mean that most games use 'premade' transitions in the animation package, thus making more of a variety of animations through motion mixing? Or do you mean that programmers code the game engines to make thousands of longer animations by transitioning hundreds of tiny animated motions?

Interesting Subject :hey:

Lamont
09-25-2005, 09:10 PM
It really depends on the production. There are ways to blend the animations at run, I think every game I have played the last few years has done it. Some better than others. Some take the last frame and first frame and blend it. Not a real good way.

http://cal3d.sourceforge.net/

But it looks really good if an artist took over and animated the transitions.

Lamont
09-25-2005, 09:14 PM
http://ps2.ign.com/articles/428/428518p1.html

turbo
09-25-2005, 11:52 PM
Some game engines blend animations. The animator doesn't have to create the inbetweens at all.

Lamont
09-26-2005, 12:34 AM
Blends are different from transitions. Blends are usually linear. Not knocking Torque at all because it can do it.

My personal taste is actual animated transitions over blends.

Dirk
09-26-2005, 05:13 AM
Yeah, Prince of Persia SoT is a great game, and the animations are fantastic. On the other hand, it's a very special case, and moving the prince around wasn't allways as I would have excpeted it. In some cases, the prince had to have a specific distance to a wall, for example, or a special move wouldn't work.

Transitions are needed when the character is jumping, or if he stops after running ("braking") - at least when the animation should look more realistic, but that is not allways wanted. This is because players expect their character to react very fast: In a multiplayer game like Battlefield, You do not want to wait for Your character until he jumps or shoots, he should shoot as soon as the button is pressed, no matter if the animation looks bad (nobody will notice anyway).

I was talking to a producer, and he told me "make them short", and it is still a question if the transitions are played at all. Example: the character is running (16 - 20 frames loop), and shall stop (if done in a realistic way, I would think at least another 20 frames, maybe more) the running loop starts with the right leg, now, let's say the player releases the "run"-button in the middle of the running loop, so the left leg is up front. Now, we need 8-10 frames (for the running loop to end) and 20 frames (for stopping), that means about 30 frames, or 1 whole second before the character is doing what the player wants him to do. That doesn't sound good to me.

Now, think about different weapons, like a handgun, machinegun, M16, rocket launcher, bow, sword.... means lots of transitions.

Or, lets assume the character is split into two parts: upper and lower body. This will be needed for moves like "running + reloading", which is highly unrealistic, but might be expected in a game. Lets assume, in a normal running loop, the upper body has some inertia movement. With a splitted character, after "running + reloading", the animation of the upper body has to be re-synced with the legs, or the whole animation will look wrong.

This is a mess for a programmer, and having a dozen transitions for any move-loop doesn't help it, but makes it worse.

As I see it, there is simply no way to create all the movements and transitions that a human character may need in a computer game, there needs to be some interpolation (and mixing).

On the other hand, it's not that difficult to make most needed transitions, especially if in the standing loops, the left foot is up front, and in the movement loops, the right leg is up front, so a transition is only one step. And transitions will look good in cutscenes, which sometimes are produced out of the existing animations.

Lamont
09-26-2005, 08:32 AM
Cal3D blends say running and shooting/reloading. Divides the animation by upper and lower. Games like UT2K4 don't need transitions because like you said the speed. But there are games where the animation and the fluid motions are part of the character. Like sports sims.

What kind of game are you making?

Myagi
09-26-2005, 09:12 AM
I might have understood you wrong Dirk, but it sounded as if you thought it was either blending or transitions. I assume that even when doing transitions you still have an engine that can blend, and that is likely also used to make sure everything goes smooth (with transitions) and to control specific body parts.

Having only worked on games that "just" blend (except for special cases) I can only speculate what a transition heavy game would usually though.

Sande
09-26-2005, 10:41 AM
Personally I wouldn't try to animate transitions - just let the engine blend different animations... Usually the difference just isn't worth the effort. And even with only a few moves you would soon end up animating transitions all day - from running to jump, from walking to jump, from rolling to jump etc etc.

Like said before, proper transitions also affect the gameplay if there is always a little delay with transition before the character performs action...

turbo
09-26-2005, 11:29 AM
In my most humble opinion, I think, for games, the engine blending of animations is just fine.
Here's (http://shadow.krabbit.com/varmint/teella.mpg) a little example of one of our toon's WIP animations ingame.
Note: not looking for crits, just sharing..
She's not human, btw, so is much more bouncy.
There are several combat animations blended together in the engine by the engine in the first part of the movie.
It works for us for what we are going for ingame.

Dirk
09-26-2005, 12:18 PM
@Lamont: it's not a game, I want to create a generic human for several types of games. But the producer I was mentioning has access to a pretty nice landscape engine, so maybe it'll be a an RPG or some 1st or 3rd Person shooter.

@Myagi: Yeah, but sometimes You might not want to blend animations, after all, blending animations takes some processor time (thats at least my experience, working with Quest3D, maybe other engines are faster). So let's say for NPCs in a MMORPG, transitions without blending might be the way to go.

@Sande: I agree on the "Not worth it" part, but lets say You have standing, sneaking, walking, running, kneeling. That makes 20 transitions (if they cant be played backwards). So while it isnt that fun to do them, its possible.

@turbo: what that Krabbity thing all about? Sounds interesting... You are using Torque?

b.t.w., interesting discussion

turbo
09-26-2005, 02:01 PM
The krabbity thing.. heheh.
Its a labour of love my hubby and i have been working on for several years..

You could click on the Krabbit Korner link below to go to our forum if you want.
The most up to date info is in the KWL dev forum.

Dirk
09-27-2005, 12:42 PM
Yeah, I considered Torque, too, but when I found out that I have to compile the engine...

I was working with conitecs A4 for a while, which is a quite nice engine (great scripting language, but not so great visual results (back then)), and now I'm using Quest3D, because its (mostly) blazing fast, has a graphical programming language, and the visual results are stunning.

Lamont
09-27-2005, 02:08 PM
I'm going to get that Quest3D... I'll get the 130EU version, then upgrade when I get the $$ I'll get the pro version.

Dirk
09-28-2005, 04:28 AM
Have You seen the demo section already?

http://www.quest3d.com/index.php?id=15

"The Coast" is a must-see.

somnambulance
09-28-2005, 11:25 AM
Dang, that looks pretty good. Is it easy to work with?

er.. is it easy to get started from scratch with?

Lamont
09-28-2005, 05:24 PM
Yeah, we checked out the demo's, nice. But the FPS is something to be desired for some of them. And there no AI/characters in the scene. Makes me worry.

Dirk
09-28-2005, 06:05 PM
@somnambulance: honestly, I find it somewhat hard to answer. The concept of a visual programming language is so different, I can only say "try it". There are lots of templates for walkthroughs and object presentations, even a physically correct car is there (made with ODE, the "Open Dynamics Engine" that is integrated). I found it easy in the beginning, then I had a phase where I really had to struggle, when I began to grasp how the Quest Engine really works, and now, I find it pretty easy again, even for creating somewhat intelligent Enemy-NPCs.

@Lamont, Yeah, but this is mainly because the guy who made "The Coast" and this floating city is really is really pushing the edge, there is no processor time left for any NPCs.

As far as I can tell (working mainly with ODE spheres for actor movement and collision avoidance), it's possible to have between 5 to 10 actors (depending on the game and target machine) - when ODE is used. Without ODE, much more should be possible, but then, collision detection must be handled in a different way, maybe checking vector distances with a foorloop. You'll find some Game Demos in the Demo Section of the Quest Forum.

somnambulance
09-29-2005, 10:08 AM
When I get some free time I will take it for a drive for sure.

Lamont
09-29-2005, 02:09 PM
I noticed that it takes DirectX. But does it use the bone information or just mesh deformation?

Dirk
09-29-2005, 06:41 PM
Quest uses the DX Bone Information, You can actually add motion to allready animated bones. The only problem for LW Users is right now, that the D-Storm Exporter exports only DX8, but Quest needs DX9 since version 3. No problem for people who have Quest version 2.5, since its possible to import into Quest 2.5 and load the channelgroup with the character in Quest 3.0.

Quest also has its own bone system, very basic with no IK, but still useful for some effects. And morphing is there, too, but I never used it right now.

Schneider
10-04-2005, 11:09 AM
Hi,

searching the net for the same problem i found this site:

SARGE SDK (http://www.sarge-sdk.com)

looks like it loads standard lw-scenes and makes transitions between animations. :hammer:

Lamont
10-07-2005, 02:10 AM
This one loads and saves poses. Very useful. Trying to learn it now.