[project1dev] Re: proposed animation system

  • From: gabriel taylor <aidyn66@xxxxxxxxx>
  • To: project1dev@xxxxxxxxxxxxx
  • Date: Thu, 01 Oct 2009 06:50:28 -0700

Sounds pretty good. I have one question on the blending, though - when at 100%, will the secondary machine's blending be the only one displayed, or will it still be split? This makes more sense in an example. Going back to the "Walking" on the full body and "Hurt walking" on the upper body, if "hurt walking" is set to 100% on the upper body while "walking" is at 100% on the full body, will the result be 50% "hurt walking" on the upper body, or will the corresponding bits of "walking" be scaled down while leaving the non-corresponding animations at full?

~gabriel

eric wrote:
I'm excited man :)

Sent via BlackBerry from T-Mobile

------------------------------------------------------------------------
*From*: Alan Wolfe
*Date*: Wed, 30 Sep 2009 22:19:30 -0700
*To*: <project1dev@xxxxxxxxxxxxx>
*Subject*: [project1dev] proposed animation system
So some of this might be greek to some of you, but i wanted to tell you guys what im thinking for our animation system #1 - Animation will be broken up into states such as "Running", "walking", "jumping", "falling", "dancing" etc.

#2 - Each state will have instructions in it about what animation(s) to use and if multiple animations are used, how to blend them together.

Heres some examples:

"Walking" -
Blend the "walking" and "hurt walking" animations together. Use the players life % as the percent blend that walking should use, and use 1-life % as the perscent blend that hurt walking should use. Both animations are looping and have a play rate of 1.0.

This makes the animation while you are walking work, and the more hurt you are, the more hurt you will look while walking.

"SwordAttack" -
Play the "sword attack" animation attaching a specified model (the player's weapon) to the "Right Hand" bone.

#3 - Controlling what animation state is playing when.

From script, the player (and other NPC's etc) will be able to be told "switch to the walking state". They will then quickly (like in 0.2 seconds) blend from whatever state they were in before to the new state (so it's a smooth transition).

Script will be in charge of telling the player for example when he should be walking, when he should be jumping, etc.

#4 - PLUGINS! ok so let's say that the player can pick up a big rock and walk around wiht it, but while he's walking he needs to use different animation cause he's walking under strain, holding a rock.

You'll be able to install "plugins" to a person. What plugins are, is states that can get temporarily installed to a person. All states (whether they are in a plugin, or just a regular state) have a priority. When the script tells a person to go to a specific animation state, it will choose the one with the highest priority. Essentially, you can use plugins to add new animation states, OR over-ride existing animation states.

So how it would work is lets say the player can "use" a closet and he looks like a king. Since the king walks slowly and regally, as soon as the player changed appearance we would install the plugin "Royalty" to him, which has a high priority walking state with a slower, more regal walk.

That would make it so the player walked slower and more regally, until you uninstalled the plugin, then walking would go back to normal.



Sound pretty good so far?

One last complication...

Since we might have times when we want the player to be walking, but we also want him to do something else, like wave, or hold a sword, we need to be able to be in more than 1 state at a time.

To do this we'll have multiple "machines", each with their own state (a machine can only be in one state at a time).

This way, the "Main" machine could be set to the state "walking", then we can set the "UpperBody" machine to the "waving" state and have them blend together so the player will walk and wave at the same time, and the animations will blend together seamlessly.



ok so yeah, i know a lot of this stuff might be like "uhh wtf?" but i know some peeps have experience with animation so wanted to put it out there to see if anyone sees any problems or has any feature requests etc.

Oh and btw! All humanoids in the game are going to have the same skeleton so that when we make a new animation, it'll be able to be used by the player or any NPC right away across the board. You wont have to animate each model individually (what a nightmare!)

Thanks for any feedback if you have any!! (:


Other related posts: