History | Log In     View a printable version of the current page.  
  • All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you've read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-3783
Type: Bug Bug
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: Jacek Antonelli
Votes: 14
Watchers: 7
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

First frame of uploaded animations is duplicated

Created: 10/Dec/07 07:04 PM   Updated: 11/Aug/08 10:30 PM
Component/s: Avatar/Character
Affects Version/s: 1.18.5.3
Fix Version/s: None

File Attachments: 1. Text File female_poser_walk_8fps.bvh (8 kb)
2. File tick_tock.bvh (5 kb)

Image Attachments:

1. animation_loop.png
(20 kb)

Linden Lab Issue ID: DEV-15185


 Description  « Hide
When uploading an animation, the first frame of animation is played for 2 frames. (When I say "first frame of animation", I'm referring to the second motion entry in the file; the first entry is usually considered to be a reference, against which the other frames are compared, and isn't supposed to be played.)

This bug has been around for a long time; it's visible to a keen eye in animations dating back over a year, perhaps even longer. But since animations are often a few hundred frames at 30 frames per second, this bug usually only manifests itself as a very brief pause as the animation loops.

In animations at low framerates, the effect is more noticeable. I've created a sample animation that's plays at 1 frame per second to help repro this issue. The animation has 4 frames of animation, not including the reference position. Frames 1 and 4 have the left arm in the down position. Frames 2 and 3 have the arm in the up position. So, played in a loop, the arm should spend an equal amount of time in either position. But with the bug, it spends one second longer in the down position. (I've attached an image to help make sense of this.)

Repro:
1. Upload the attached animation for uploading (tick_tock.bvh) with Priority 4, Looping, and 0 ease-in and ease-out. (If you don't want to spend the L$10, you can just watch it in the animation preview.)
2. Play the animation.
= Observed: The avatar's arm spends more time fully down than it spends fully up.
- Expected The avatar's arm should spend the same amount of time in the down position as in the up position.

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Lex Neva - 12/Dec/07 09:50 AM
Now that I read your succinct description of this problem, I know I've seen it before. I think it also throws off calculations of percentages for loop in/out values.

dave bellman - 23/Jul/08 01:50 AM
To demonstrate this bug I have produced a short movie clip showing how it makes it impossible to make a low fps walk animation loop smoothly - this bug actually forces animators to use the highest fps possible to reduce it's effect! For these reasons I believe the bug's priority should be increased from 'Normal'.

The movie is available here: http://www.davedub.co.uk/downloads/too_many_frames.avi
The bvh file is also available here: http://www.davedub.co.uk/downloads/female_poser_walk_8fps.bvh

The attached bvh file is a loop of exactly one second without it's reference (t-stance) frame. When the first frame (t-stance) is added, the length becomes 1.125 seconds. I would expect the SL animation uploader to ignore the first frame when calculating the length of the animation. However, on upload we see that the uploader reports the animation length to be 1.13 seconds long instead of the expected 1.0 seconds. When the animation is played in SL, the first (or maybe last?) frame appears to be played twice, producing a break in the otherwise smooth animation.


Steps to reproduce using the attached animation (female_poser_walk_8fps.bvh):

Verify the animation length is exactly one second long + one frame (125mS for the t-stance) using any bvh file editor.
Upload into SL - note the reported animation length at the top of the uploader
Play the animation - note the complete loss of fluidity!

Lex Neva - 23/Jul/08 10:15 AM
Dave's video made me realize something else: When I've made looping animations in the past, I've chosen a total number of frames that led to an even whole-number percentage for each frame. For example, I'd choose 20 total frames (including the magic first frame), and then when looping, I'd set the "in%" to 5%. Without skipping that first frame, I'd see exactly what dave has shown.

dave bellman - 24/Jul/08 01:09 AM
Update: After reading Lex's comment, I tried uploading the same file using various In(%) and Out(%) values.

I tried:

In(12.5%) (i.e. skip first frame, 100/8),
Out(87.5%) (i.e. skip last frame 100-100/8),
In(14.286%) (i.e. skip first frame, 100/7),
Out(85.714%) (i.e. skip last frame 100-100/7),
In(11.111%) (i.e. skip first frame, 100/9),
etc
etc

None of these values did anything more than reduce the problem slightly. None of them actually made the problem go away.

Mare Novi - 28/Jul/08 01:59 PM
I'm noticing this problem also in 1.20.15 (92456). I do animations for mermaids, which I want to look smooth. Instead, I get a momentary pause or jump on each loop of the animation, as described.

medhue simoni - 11/Aug/08 10:30 PM
yep, i agree. Its getting worse as the viewers advance.