Advertisement

Animation Architecture (or: how do I tell what anims I need)

Started by October 13, 2006 09:49 PM
5 comments, last by zog34 18 years, 2 months ago
(apologies if this is in the wrong forum, but there is no place for animation on either the art or the engineering sides...) I have come to the point in my game design that I need to know what animations I need for a character. And I know that the animations are directly dependant upon how I set up the controls (3rd Person Shooter). So with animation blending and all of that available, how do I tell what pieces I need to give my programmer? Would a control scheme help? Or a general layout of the controls? Thanks, -albert
Your question didn't quite make sense. First off, how have you come to the conclusion that the animations are in any way directly related to the controls. It sounds like you are missing a layer or two of abstraction in your engine.

What I might suggest is this:

Try writing out a state-list. This list simply breaks down all of the individual actions that may be taken by an entity (Jumping, running, standing, smoking a ciggy ;) One thing to watch out for when writting up this list is how to treat non-mutually exclusive states such as crouching and running a the same time (talk it over wih the pogrammers).

From this list, you can design a simple finite-state-machine and controller for deciding what animations to play. For instance, you could use a tool to assign specific animations to specific states. Then at run time, the engine need only to check the current state of the entity to determine what animation to play. How does it determine this? Simple, yet another abstraction called a controller. This controller simply breaks down all the availble input actions being taken and then determines what state is to be set. Notice that in this way input may come from any source. User input, AI, scripted sequences.

Well, that's how I would deal wth the situation anyway. If this seems a bt technical talk it over with your programmer. Hope that helps.
Advertisement
Sorry about how I phrased my question. You answered part of it (and part of it was completely Greek to me :). Lets see if I can make the question clearer.

I want to know how to come up with a list of animations to give to the programmer (neither of us are very experienced).

Quote: First off, how have you come to the conclusion that the animations are in any way directly related to the controls.


Well... From my end the two go hand in hand. What button you push will give you an action, and depending on the complexity of the button pushes (or combinations of buttons pushed) you get different actions. So thats how I drew the conclusion that they were directly related. :)

But my main problem (where I failed to communicate clearly) is that I want to know how I can break my animations down. For example: Running in one direction while looking in another. This would involve two animations so far as I can tell: one is running and the other is a torso twist.

Another one of my downfalls I guess would be my lack of understanding in the way of programming and how it works...

Thankyou! You have no idea how much I appreciate your input.
-albert
I'm guessing that it's an XFile and DirectX. Found this post by just browsing around. What tool are you using for the models? The animations will be in animations sets.
The list above mentioned is the different animations in that set. In other words when you export or convert your file to the XFile format the animation sets will each be listed seperatly inside it.
You can put them in the same order manually if your modeler does not by exporting to the text format and manually cutting and pasting. If your convertor or exporter creates a text formatted XFile that appears to be unreadable open it in WordPad first and save it. Then open it and edit it in notepad. (By default most setups that have an edit function for text formatted XFiles open them in notepad.
Wordpad is too jumpy for me but it will properly convert all of the non-readable characters to carriage returns and line feeds).
The programmer will call the animations by numeric value then. Hope this helped
It does, but I tend to shy away from platform dependant formats. So most likely I will be using the DIF format (Torque engine, I believe).
-albert
Whoops. [embarrass] Just how "inexperienced" are you. And are you using your own graphics engine? To be honest I could easily fill several articles just to cover the basics of animation states, animation blending and overiding and such.

Some of what I wrote in the last post was very programmer oriented so you will definately want to discuss it with that person.

It's getting late, and it will take some time but I'll try to write up a more detailed and simpler explanation tonight and post tomorrow if no one has answered better by then.

[edit]
One thing I forgot to mention. The example I gave in my first post would ultimately avoid your issue entirely.

It would no longer be a case of,
You: "Here are the moves the player can do, here are the animations to play and these are the buttons that must be pressed."Programmer: "Ok, I'll go program that in."

It would become:
You: "Here are some states and associated animations for this entity." Programmer: "That's nice. Pop 'em in. The engine will handle the details."
Advertisement
[edit]You're doing me a monstrous favor, I really appreciate it. You have already given me what I need to have.
Quote: You: "Here are some states and associated animations for this entity."
[/edit]

[edit]Ah, forgot... I will be using either the Torque game engine (which I already have acquired) or Irrlicht. [/edit]

I have never animated for a game in my life. Does that tell you just how experienced I am? Heh... :)
-albert

[Edited by - zog34 on October 14, 2006 3:00:09 PM]

This topic is closed to new replies.

Advertisement