Difference between revisions of "Animation Upload Ease In and Ease Out"

From Second Life Wiki
Jump to navigation Jump to search
(Created page with "{{Help |Object=* }} The purpose of Ease In and Ease Out is to provide smooth transitions between the previous, current, and next animations. This is very helpful since the anim…")
 
Line 17: Line 17:
The rationale behind this method is most positions you would find a humanoid in don't vary wildly from standing with their arms at their sides.  Most motion capture studios use this position as their neutral pose for that reason.  The reason you divide the time by 2 is we would expect the previous and next animations to have reasonable Ease In and Ease Out durations, so we only need half the time as part of this animation.
The rationale behind this method is most positions you would find a humanoid in don't vary wildly from standing with their arms at their sides.  Most motion capture studios use this position as their neutral pose for that reason.  The reason you divide the time by 2 is we would expect the previous and next animations to have reasonable Ease In and Ease Out durations, so we only need half the time as part of this animation.


Ease In and Ease Out are currently (February 2011) limited to no more than 1 frame at whatever BVH frame rate you choose, greatly reducing the utility of this feature.  This is almost certainly a bug (see [http://jira.secondlife.com/browse/VWR-25007 VWR-25007]).
 
There is currently (February 2011) a bug that causes the Ease In and Ease Out values to be limited to very short durations when there are few frames in the animation (see [http://jira.secondlife.com/browse/VWR-25007 VWR-25007]).
 
Workarounds for the bug include:
* in unlooped animations, add frames to make them longer (impossible if you ''need'' the animation to be short)
* in 1 frame, looped end-to-end, animations (static poses), make the animation longer by placing another key, in the same pose, later in the time line
* in more complex animations with loops, 'unroll' the loop by creating enough copies of the loop body inside the loop to make the animation long enough


[[Category:LSL_Animation]]
[[Category:LSL_Animation]]

Revision as of 02:15, 1 March 2011

The purpose of Ease In and Ease Out is to provide smooth transitions between the previous, current, and next animations. This is very helpful since the animation that was playing previously, and the one that will play next, can usually vary.

Choosing a duration for Ease In and Ease Out is problematic, since, again, it is usually impossible to know the stance you will be transitioning from or to.

A reasonable way to arrive at a duration for Ease In is:

  1. determine the time it takes to smoothly and believably transition from standing with your arms at your sides to the first frame of your animation
  2. divide that by 2

Determining the duration of Ease Out can be done the same way:

  1. start with the last frame of your animation and determine how long it takes to smoothly and believably transition to a pose where you are standing with your arms at your sides
  2. divide that by 2

The rationale behind this method is most positions you would find a humanoid in don't vary wildly from standing with their arms at their sides. Most motion capture studios use this position as their neutral pose for that reason. The reason you divide the time by 2 is we would expect the previous and next animations to have reasonable Ease In and Ease Out durations, so we only need half the time as part of this animation.


There is currently (February 2011) a bug that causes the Ease In and Ease Out values to be limited to very short durations when there are few frames in the animation (see VWR-25007).

Workarounds for the bug include:

  • in unlooped animations, add frames to make them longer (impossible if you need the animation to be short)
  • in 1 frame, looped end-to-end, animations (static poses), make the animation longer by placing another key, in the same pose, later in the time line
  • in more complex animations with loops, 'unroll' the loop by creating enough copies of the loop body inside the loop to make the animation long enough