Although I am using the unity runtimes, this is most likely more to do with the design of all the runtimes.
It seems I am very confused with the order of events with the latest runtime, as they have now changed.
Previously End
event always fired before the Start
event, However, now it seems, this isn't always the case. The First frame of a non blended animation plays before the end of the original animation
Loading Image
Here are the events in the order they happened at the time they happened. red ones are our keyed events (both in Runnning_light
animation)
We start in idle, then walk to run. (all of which have a 0.2 mix ) . Which I guess is why they end 0.2 seconds after the anim which interrupted them.
Then from Run2
it gets interrupted into Running_Light
, which has a blend time of 0 from run. After that starts and applies frame0, the run Ends.
Why does it end after Running_Light
Starts?
Additionally if I let Running_Light
complete, (and idle is in the queue) the sequence is this:
Loading Image
Running_Light
> Idle
mix is 0
Idle start is now after the end
and complete
event
However, If we interrupt running_light
with walk we get the following (running_light>walk mix = 0)
Loading Image
Start happens before end.
...
To me it seems strange that if you interrupt an animation rather than queue one, events would fire in a different order