Difference between revisions of "Animation Upload Loop Controls"

From Second Life Wiki
Jump to navigation Jump to search
m (added a comma)
 
(2 intermediate revisions by the same user not shown)
Line 20: Line 20:


== Working with Percentages ==
== Working with Percentages ==
When calculating the percentage for a frame number be aware that the loop controls ''do'' count the first frame, even though it's not displayed.  The percentage indicates the frame number of the BVH file, not the frame number of the animation.
The percentages for Loop In and Loop Out indicate animation frame numbers, not BVH file frame numbers.


For example, in a BVH file with 7 frames, if we wanted the loop to start on frame 4 of the file, and end on frame 5 of the file:
For example, in a animation with 7 frames, if we wanted the loop to start on frame 3 of the animation, and end on frame 5 of the animation:


'''Loop In Percentage:'''<br>
'''Loop In Percentage:'''<br>
frame 4/7 BVH frames = 57.143%
frame 3/7 animation frames = 42.857%


'''Loop Out Percentage:'''<br>
'''Loop Out Percentage:'''<br>
frame 5/7 BVH frames = 71.429%
frame 5/7 animation frames = 71.429%


If this strikes anyone as unnecessarily complex and error-prone that feeling is normal.
If this strikes anyone as unnecessarily complex and error-prone, that feeling is normal.


== A Diagram of the Example ==
== A Diagram of the Example ==
Line 38: Line 38:
|-
|-
| 1
| 1
| Not Displayed (Reference Frame)
| Removed (Reference Frame)
|-
|-
| 2
| 2
Line 47: Line 47:
|-
|-
| 4
| 4
| 3 (Loop Frame 1)
| 3 (Loop Frame 1; Loop In)
|-
|-
| 5
| 5
Line 53: Line 53:
|-
|-
| 6
| 6
| 5 (Outro Frame 1)
| 5 (Loop Frame 3; Loop Out)
|-
|-
| 7
| 7
| 6 (Outro Frame 2)
| 6 (Outro Frame 1)
|-
| 8
| 7 (Outro Frame 2)
|}
|}


== Known Issues ==
== Known Issues ==
There are some bugs in the BVH importer.  One of them causes the first frame of a animation to be triplicated (see [http://jira.secondlife.com/browse/SH-2550 SH-2550]).  This causes a noticeable pause in animations that are looped from start to finish.  Many recommended adjusting Loop In to account for the reference frame.  However, the internal format for animations does not contain the reference frame, and a Loop In of 0% actually starts at 0 seconds into the animation.  Adjusting Loop In this way did reduce the visibility of the pause, but did not eliminate it, because it only skipped 1 of the extra frames.
A bug causes frames after Loop Out to not be played in the animation upload preview window.  However, they still play correctly in-world (see [http://jira.secondlife.com/browse/VWR-8301 VWR-8301]).
A bug causes frames after Loop Out to not be played in the animation upload preview window.  However, they still play correctly in-world (see [http://jira.secondlife.com/browse/VWR-8301 VWR-8301]).
:You can avoid wasting lindens due to this bug by testing all your animations on the Beta Grid.
:You can avoid wasting lindens due to this bug by testing all your animations on the Beta Grid.


== See Also ==
== See Also ==
*[[Animation Reference Frame]]
*[[BVH Reference Frame]]


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

Latest revision as of 03:19, 14 July 2012

Beginning animators often don't understand what happens to frames before Loop In and after Loop Out. They may not know how to make seamlessly looping animations. The loop controls are also a common source of befuddlement. They work with percentages, rather than frame numbers, unlike every other animation program.

This article attempts to clear up the confusion.

Before Loop In

Frames before Loop In, if any, will be played only when the animation starts. You could think of this as the intro of the animation.

During the Loop

Frames within the loop work like you would probably expect. When playback reaches the Loop Out frame it jumps back to the Loop In frame and continues. To make the loop seamless the Loop In and Loop Out frames need to be identical. There is no interpolation or delay during this jump, which is necessary to avoid a noticeable pause. When the animation is stopped playback will stop jumping to the Loop In frame when it reaches the Loop Out frame.

If playback is stopped in the middle of the loop, playing will continue. It just stops treating the Loop Out frame specially.

After Loop Out

When the animation is stopped the frames after Loop Out, if any, will be played. You could think of this as the outro of the animation.

Working with Percentages

The percentages for Loop In and Loop Out indicate animation frame numbers, not BVH file frame numbers.

For example, in a animation with 7 frames, if we wanted the loop to start on frame 3 of the animation, and end on frame 5 of the animation:

Loop In Percentage:
frame 3/7 animation frames = 42.857%

Loop Out Percentage:
frame 5/7 animation frames = 71.429%

If this strikes anyone as unnecessarily complex and error-prone, that feeling is normal.

A Diagram of the Example

BVH File Frame Animation Frame
1 Removed (Reference Frame)
2 1 (Intro Frame 1)
3 2 (Intro Frame 2)
4 3 (Loop Frame 1; Loop In)
5 4 (Loop Frame 2)
6 5 (Loop Frame 3; Loop Out)
7 6 (Outro Frame 1)
8 7 (Outro Frame 2)

Known Issues

There are some bugs in the BVH importer. One of them causes the first frame of a animation to be triplicated (see SH-2550). This causes a noticeable pause in animations that are looped from start to finish. Many recommended adjusting Loop In to account for the reference frame. However, the internal format for animations does not contain the reference frame, and a Loop In of 0% actually starts at 0 seconds into the animation. Adjusting Loop In this way did reduce the visibility of the pause, but did not eliminate it, because it only skipped 1 of the extra frames.

A bug causes frames after Loop Out to not be played in the animation upload preview window. However, they still play correctly in-world (see VWR-8301).

You can avoid wasting lindens due to this bug by testing all your animations on the Beta Grid.

See Also