Please login or register.

Login with username, password and session length
Advanced search  

News:

This forum provides RSS feed. To query recent posts use this url. More...


Author Topic: WME skips to "idle" without transition or I've something missed?  (Read 5272 times)

0 Members and 1 Guest are viewing this topic.

jbw

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 24
    • View Profile

While playing with complex 3d characters we're always trying to keep animations as small as possible.
The "transition" effect gives the great power to simplify things.
Imagine the "take" animation: draw the hand forward and back can be stripped to one frame showing a hand at the grabbing point!
All intermediate frames of animation should be filled smoothly by "transition".

I have used such trick (before new WME beta) for non-walking characters with good result, but obviously cannot applay it to the main actor which needs fast transition when start walking and very slow in some other activities. So, as soon as I got a new beta with possibility of different transition times I've started to play with it. Unfortunately this doesn't work as I've expected.

To isolate my case from our game's environment I've reproduced it on the standard example called "wme_demo_3d".
I've replaced the trinity.script with the following:
Code: [Select]
#include "scripts\base.inc"

var id = "idle";
var tu = "take_up";
var td = "take_down";
var tr = 1000;

this.SetAnimTransitionTime(tu, id, tr);
this.SetAnimTransitionTime(id, td, tr);

on "LeftClick" { this.PlayAnimAsync(tu); }
on "RightClick" { this.PlayAnimAsync(td); }

on "footstep" { }

The script is pretty simple. I'm using variables instead of inline strings to be sure not to make any typo in animation names.

Let's begin from RightClick. "take_down" starts from the upper position, but there is a 1s transition from 'idle', so she slowly raises her hand (excellent!), then play "release" animation in Trinity's fast mood ;-)

Next, try LeftClick. "take_up" lifts her hand up, then I expected to see slow releasing of the hand in the 1s transition to the 'idle', but it skips rapidly with no transition at all.

It doesn't matter if we use PlayAnimAsync() or AnimTransitionTime attribute to define the time.

With the another 3d character (not being the main actor) both transitions works smoothly.
« Last Edit: September 08, 2007, 04:09:36 PM by Mnemonic »
Logged
 

Page created in 0.039 seconds with 24 queries.