[project1dev] Re: proposed animation system

  • From: Kent Petersen <kentkmp@xxxxxxxxx>
  • To: project1dev@xxxxxxxxxxxxx
  • Date: Thu, 1 Oct 2009 09:15:46 -0700

Did you ever play the original Solider of Fortune? I remember they talked
about how awesome their physics system was because their soldiers had over
200 points of impact or something. When in action though it usually boiled
down to funny scenarios of the guy grabbing his crotch but his entire
fucking leg was blown off.

Would something like that potentially afflict our system?

On Thu, Oct 1, 2009 at 9:06 AM, Alan Wolfe <alan.wolfe@xxxxxxxxx> wrote:

> oh good question!
>
> What i was thinking for that is being able to specify how the machines get
> blended together to form the final animation.
>
> Like we have a blending mode that says "if we are blending animations A and
> B, overwrite all the bone positions in A with the bone positions in B for
> the bones in B that are animating".
>
> So if the waving animation of the upper body machine only moves the left
> arm and the main machine was doing the hurt walk, if we blended the main
> machine (A) with the upper body (B) machine using this blending,  the
> character would look like he was hurt walking for all of the bones except
> the bones that were moving in the waving animation.  Those guys would look
> like they are waving.
>
> Also, Im not sure how this plays into it, but at work, each machine is set
> up to affect only certain bones, so like if we had a "face" machine, it can
> only affect facial bones and when it gets blended back onto the main
> animation when it's combining the machines, it blends with the facial bones
> but ignores all the others.
>
>
> On Thu, Oct 1, 2009 at 6:50 AM, gabriel taylor <aidyn66@xxxxxxxxx> wrote:
>
>> 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: