Jump to content

Does Anyone Understand Ease?


Bloodsong Termagant
 Share

You are about to reply to a thread that has been inactive for 261 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

we all know that ease in and ease out keep the animation from ending abruptly, and let it blend with other animations, right?  do we... know more??

 

i used to think i knew this, not EXACTLY, but in a vague, general way.  in fact, i only recently found out that the ease setting is IN SECONDS.  not in, say, percent or relativeness.  oops.

and is it my imagination, or when i stop an animation with a script, it tends to cut off the last part of the ease out too quickly?  this is outside of the repeating loop.  i usually do an intro, the loop, then an outro.

 

so i have this 'turn left' tail animation.  it curls because of drag when turning, then it goes back into place.  instead of just going straight into place, it has inertia, so it overshoots then does a 'wiggle' back to zero.  but no matter what ease settings i use on the turn left animation, and the stand animation it goes back to, when the ao script stops it, it does one 'wiggle' and not the two 'wiggles' that it shows when i play and stop it from inventory.  (all the animations are the same priority, btw.)

 

i was using ease of .3 (in and out) on both animations.  i switched up to .75 in and out.  and then i set the turn left animation to 0 ease out, while the stand is at .75 ease in...  and frankly, the results are always the same.  one wiggle, not two.

i added a delay between starting the next animation and stopping the previous one.  (i though that worked better, to make sure you don't end up with no animations playing in between, should lag strike.)  but then i reversed it, and started the new animation before stopping the old one.  and it's STILL the same.  one wiggle.  not two.

and then i extended the length of the 'turn left' animation.  i added half a second more, then one second more (just repeating the last frame), and with zero ease out, it STILL won't play two wiggles.

 

YES, i AM over-obsessing, and it doesn't matter how many wiggles the tail does.  but... i THOUGHT i understood this, and could get it to behave in a predictable manner.  the fact that i CAN'T is bugging me.

 

so.   does anybody understand ease??

 

  • Like 1
Link to comment
Share on other sites

There are other things to think about in regards to the SL animation protocol with looped animations that have loop-out frames:

  • There is NO "upon request to stop, immediately go to loop-out" capability. (The rest of loop portion must play from whatever looped frame you currently are at, THEN go to loop-out.)
  • There is NO absolute stopping capability. (Completely stop animation at current frame. This mostly echoes the above point.)

This is one of many reasons why animation reform has been brought up many times with the desire to have full control over start/stop/range/speed/inputs/params even advanced things like IK insertion and procedural animation generation.

Link to comment
Share on other sites

okay, so...

 

if i have even just a one frame looping animation (pose), that's technically infinite time, so i can use any ease settings i want on it, up to ten seconds.

 

what happens if i have .5 seconds of intro, 1 frame of infinite loop, and .5 seconds of outro... and i set the ease in/out to 10?  i can do that, right?  because there's that 'infinite time' in the middle?  or CAN'T i?  because... wait.  if the single frame loop can ease out for 10 seconds, that means... it will keep looping for 10 seconds AFTER STOPPING, to perform the ease? so the intro/loop/outro SHOULD be able to keep looping for 9.5 seconds, then play the .5 second outro, for the 10 second ease.  why do i think that is not actually the case? :X

see, this is the technical crap i don't understand.  the EASY stuff, i get.  set ease out to .5, and you have half a second to blend with the next/underlying animation. yah. ;)

 

but... optimo, wait...

if stand and turn are the same priority, and  have NO EASE, then yes, when you play stand on top of turn, it will override it because it's on the top of the stack.

BUT

shouldn't my stand ease in be easing in while my turn animation is easing out???   if my stand ease in, and my turn ease out are both .75, shouldn't there be three quarters of a second where they do a hand-off?  even if i extend the animation of the turn past the 'wiggle' part, so that the wiggle is actually closer to the full strength rather than the 25% strength end of the ease... shouldn't that give me the wiggle?  no?

 

  

WAIT!!!

from the wiki page:

Quote

For most kinds of animations (e.g. ones for animation overriders, furniture, and dances) you should divide the time you found by 2, because you would expect the previous and next animations to have easing, and you don't want it to last twice as long as intended.

is this saying...

that animations play like this:

A1 ease in 0-100%, A1 loop, A1 ease out 100-0%.  A2 ease in 0-100%, A2 loop, A2 ease out 100-0%.

?

 

because i thought it was:

A1 ease in 0-100%, A1 loop, A1 ease out 100/A2 ease in 0, A1 ease out 50/A2 ease in 50, A1 ease out 0/A2 ease in 100, A2 loop, A2 ease out

where the ease out of the previous anim and the ease in of the next anim overlapped.

 

are you saying THEY DON'T???

 

Edited by Bloodsong Termagant
combined 2 posts, sorry
Link to comment
Share on other sites

Okay. I just did some testing.

When you stop an UNLOOPED animation, it continues to play from where it is for a period equal to the Ease Out time and will fade out the bone movements in those frames. If you are already within the Ease Out time near its actual end, trying to stop the animation does nothing -- it is already in the process of winding itself down and you can't make it stop faster.

When you stop a LOOPED animation, it continues to play from the frame it's on to its actual last frame. If the Ease Out time is shorter than that, SL will only apply easing to that much of the end. If the Ease Out time is longer, SL will extend the animation by holding the last frame and ease out over the entire time.

 

 

Edited by Quarrel Kukulcan
  • Thanks 1
Link to comment
Share on other sites

heyas, quarrel!  thanks for doing some testing!

 

in your LOOPED test, did the loop stop on the last frame of the animation, or did it have 'outro' frames after the loop?

as lucia was saying, SL treats them differently.  if the last frame of the loop == the last frame of the animation, the animation can stop anywhere on the loop.  but if there are frames after the loop, stopping in the middle will cause the loop to go to its end, then go on to the outro frames.

 

also curious if you started/stopped from inventory, or via script.  like i said, i was getting different results from each.

 

i'm still monkeying with my project, and not doing rigorous testing :X

 

so let's theorize here...  if i have an outro to my looped animation, and i want most of it visible as the transition happens... i should have SHORTER ease times, right?

 

 

Edited by Bloodsong Termagant
Link to comment
Share on other sites

6 hours ago, Bloodsong Termagant said:

in your LOOPED test, did the loop stop on the last frame of the animation, or did it have 'outro' frames after the loop?

as lucia was saying, SL treats them differently.  if the last frame of the loop == the last frame of the animation, the animation can stop anywhere on the loop.  but if there are frames after the loop, stopping in the middle will cause the loop to go to its end, then go on to the outro frames

I had outro frames. I didn't notice that detail in Lucia's response, and, yes, when the Loop Out is 100% the animation instead goes into Ease Out immediately and ends after exactly that much time longer (though it does continue playing in the meantime, including holding the last frame if necessary).

Quote

also curious if you started/stopped from inventory, or via script

Just inventory those times, but I haven't seen scripts behave any differently today.

Edited by Quarrel Kukulcan
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 261 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...