Looping Animation has Jerky Pause on Reloop
|
3Ring Binder
always smile
Join date: 8 Mar 2007
Posts: 15,028
|
04-08-2009 08:59
i created a simple moving animation in Avimator that looks great in the program, but when i upload it to SL it has a JERKY, obvious pause when it begins the relooping. i have made sure my last frame is identical to my first at every point.
i have frames 1-14, and frame 1 is exactly the same as 14. (2 & 13 are different from 1 & 14 and each other, of course.
is there some sort of setting i do not know about that allows for a smoother transition upon reloop?
_____________________
it was fun while it lasted. http://2lf.informe.com/
|
Anti Antonelli
Deranged Toymaker
Join date: 25 Apr 2006
Posts: 1,091
|
04-08-2009 10:28
Try deleting that last frame entirely and see if that looks better.
If you think about it, the way it is now every frame plays once but since the first and last frames are identical that bit is effectively playing twice.
_____________________
Designer of sensual, tasteful couple's animations - for residents who take their leisure time seriously.  http://slurl.com/secondlife/Brownlee/203/110/109/ 
|
3Ring Binder
always smile
Join date: 8 Mar 2007
Posts: 15,028
|
04-08-2009 12:20
i actually ADDED that last frame to match the first, hoping that would solve it. it was doing it BEFORE i had identical bookend ani frames.
how do you upload, say, a smooth walk like we see all over SL? those aren't jerky? i need mine to work like that. it's not the frames being similar or different, it's the pause before it begins again that is wrecking it.
_____________________
it was fun while it lasted. http://2lf.informe.com/
|
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
|
04-09-2009 05:50
From: 3Ring Binder i actually ADDED that last frame to match the first, hoping that would solve it. it was doing it BEFORE i had identical bookend ani frames.
how do you upload, say, a smooth walk like we see all over SL? those aren't jerky? i need mine to work like that. it's not the frames being similar or different, it's the pause before it begins again that is wrecking it. There are no duplicated frames in a smooth loop - and the animation needs to be run at a slow speed - 12 fps or 15 fps. For example - to make a basic walk start with a timeline of 26 frames. Frame 1 = T Pose (key) Frame 2 = left foot forward (key) Frame 13 = right foot forward (key) Frame 26 = left foot forward (key - copy of frame 2) Now make Frame 25 a key frame and delete frame 26 completely. Run this at 12 fps looping from frame 2 -25.
_____________________
Deira  Must create animations for head-desk and palm-face!.
|
3Ring Binder
always smile
Join date: 8 Mar 2007
Posts: 15,028
|
04-09-2009 08:33
what does "key frame" mean? and i will try that. thanks.
_____________________
it was fun while it lasted. http://2lf.informe.com/
|
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
|
04-09-2009 08:57
From: 3Ring Binder what does "key frame" mean? and i will try that. thanks. Ah....I see your problem... Key Framing is a technique used to make animations when you use software such as Avimator (which you said you were using). It goes back to the traditional way of creating animations where the chief animator would draw the main sequence of action (the key frames) and junior animators would draw all the frames in between the key frames - a very repetative and detailed process that came to be called "tweening". When software became available to speed up this process, the key frames still needed to be defined, but the software "draws" the in-between frames. The poses you create in Avimator, you place along the time line at the frame you want them to be and in the sequence of action you want to animate. These are the "key frames". Avimator works out all the in-between frames for you - the "tween frames". Above - where I said "make frame 25 a key frame" - I was effectively saying, let Avimator work out the tween frames, but to make a smooth loop, remove the key frame you made at the end and let the tween frame at 25 now be a Key Frame. If Avimator has done its work ok, Frame 25 will have a position almost, but not quite, the same as Frame 2. It will be 1 frame away from Frame 2 in terms of figure position - just one small movement back to the start, giving a smooth loop. The other thing that can upset smooth looping is SL optimisation. This is where SL will drop frames on upload if you create an animation at more than 12 fps. There can also be odd effects where very small movements are lost for assorted combinations of reasons - other threads in this board have mentioned those. It can be very hard for a new animator when they seemingly hit all these problems at the start. It can be very confusing and frustrating, so keep things simple and keep trying is the best advice I can give. I'm so old-fashioned I still find it helps to put things down on paper before I make an animation - this may help you too. I work out a sort of "story board" with timings and I always find I need more key frames than I first thought I did. Other animators, I realise, do not necessarily work in this way. Everyone has to find the way that works best for them because it is a very creative thing and everyone is different.
_____________________
Deira  Must create animations for head-desk and palm-face!.
|
Osprey Therian
I want capslocklock
Join date: 6 Jul 2004
Posts: 5,049
|
04-09-2009 10:58
|
3Ring Binder
always smile
Join date: 8 Mar 2007
Posts: 15,028
|
04-09-2009 11:32
gosh, this is so much more complicated that it appears.  i will try ALL your advice, and try all the softwares, and heed all the frame rules and SL's glitches... and hopefully, my very simple animation will work smoothly. i'll let you know.
_____________________
it was fun while it lasted. http://2lf.informe.com/
|
Seshat Czeret
Registered User
Join date: 26 May 2008
Posts: 152
|
04-09-2009 13:29
What I do is make the frame one-beyond the last frame a key frame identical to the first frame of the loop.
So if my loop is frames 11 to 20, I make frame 21 identical to frame 11.
That way, the in-betweening the computer does leaves frame 20 just-about to move to frame 11, but not quite there.
_____________________
My blog: http://seshat-czeret.blogspot.com/ My shop: http://slurl.com/secondlife/Achlya/199/185/102
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-09-2009 13:45
Keep in mind one SL bug:
When you specify the loop start when uploading, do NOT use 0%. The SL code idiotically counts the "T" frame (the first frame which is not part of your actual animation sequence) when interpreting this "loop in" point.
So, if your animation has 49 frames, plus the initial "T" frame, specify 2%.
grumble grumble
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-09-2009 13:53
From: Deira Llanfair The other thing that can upset smooth looping is SL optimisation. This is where SL will drop frames on upload if you create an animation at more than 12 fps. Where did you get the idea that it cuts in at 12FPS? I see nothing in the code that has anything to do with frame rate. Of course, the lower the frame rate you use, the lower a chance that a joint motion will be optimized out, because the movement of each joint per frame is larger. I use 10 FPS, but still have to use special techniques to avoid jerkiness caused by optimization. But, my anims are more like mocap anims than keyframe anims, for reasons I won't go into here. And I like subtle motions.
|
Ephraim Kappler
Reprobate
Join date: 9 Jul 2007
Posts: 1,946
|
Think I'll bookmark this thread.
04-09-2009 13:59
Wow. Looks like there's a few answers here that I might have been looking for if I'd known what to ask in the first place.
@3Ring: there's a little 'key' button in the bottom right corner below the view window in QAvimator. Select a frame and click that button to make the selection a keyframe.
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-09-2009 14:14
From: Seshat Czeret What I do is make the frame one-beyond the last frame a key frame identical to the first frame of the loop.
So if my loop is frames 11 to 20, I make frame 21 identical to frame 11.
That way, the in-betweening the computer does leaves frame 20 just-about to move to frame 11, but not quite there. I do this too, but only to make my life easier. Results are actually better if the motion between the frames is continuous, so there's not an unnatural pause where the same position is held for two frames. At high frame rates, that pause is unnoticeable. But with lower frame rates, motion gets optimized out less because the amount of motion between frames is greater, and I strongly recommend you use the lowest frame rate that allows the motion you want. I generally use 10 FPS. The client is very good at interpolating between frames, so a low frame rate animation doesn't look jerky on a computer that's displaying at nice high frame rates.
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-09-2009 14:22
From: Ephraim Kappler Wow. Looks like there's a few answers here that I might have been looking for if I'd known what to ask in the first place.
@3Ring: there's a little 'key' button in the bottom right corner below the view window in QAvimator. Select a frame and click that button to make the selection a keyframe. Unfortunately, before you upload to SL you have to convert your .avm file to a .bvh file, where every frame is essentially treated as a keyframe. On up-load, SL has to guess which joint motions to remove, so long anims won't be huge. Unfortunately, it doesn't attempt to figure out what your original keyframes were. (For mocap files, this wouldn't work anyway, so it's not like they were being stupid here.) I think it would be far better if SL gave you a checkbox to tell it whether it was a keyframe animation or not, and if so, it could rather easily detect what the original keyframes were, reducing your animation much more than the current optimization does, and yielding exactly what you created in the first place. I'm tempted to try coding it myself, but quaternion math mystifies me. To get a better idea of what that button in Qavimator does, use "Show Timeline", and use .avm files (not .bvh, until you're ready to upload).
|
3Ring Binder
always smile
Join date: 8 Mar 2007
Posts: 15,028
|
04-09-2009 15:30
so, a key frame is one you designate that you absolutely do not want SL to edit out (although in reading, it doesn't sound like you have a choice)?
_____________________
it was fun while it lasted. http://2lf.informe.com/
|
3Ring Binder
always smile
Join date: 8 Mar 2007
Posts: 15,028
|
04-09-2009 16:29
ok, so i did everything here i could to edit my existing animation... set it to 10 fps. selected a couple of spots to be key. when trying to upload, tried 0 1 & 2 % - nothing changed. when the loop starts over, there is a jerky pause. i could not make my animation more than 14 frames.... i might as well start over if i have to make to go from 14 to say -29 frames. my first animation frame is not the T. it is a part of the animation. could that be my problem?
_____________________
it was fun while it lasted. http://2lf.informe.com/
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-09-2009 18:38
From: 3Ring Binder so, a key frame is one you designate that you absolutely do not want SL to edit out (although in reading, it doesn't sound like you have a choice)? Sorry, it doesn't work that way. It would be nice if it did. The "key frames" are only for working in Qavimator (or whatever animation program you're using). The way SL is currently coded, it does not have any idea which frames you designated as key frames. That information is missing from the BVH format, and while SL could try to figure it out from the raw data, it doesn't (and as I said above, that's probably intentional because it wouldn't work for motion-capture animations). So, key frames are for YOUR benefit when making your animation. Nothing else.
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-09-2009 19:04
From: 3Ring Binder ok, so i did everything here i could to edit my existing animation... set it to 10 fps. selected a couple of spots to be key. when trying to upload, tried 0 1 & 2 % - nothing changed. when the loop starts over, there is a jerky pause. i could not make my animation more than 14 frames.... i might as well start over if i have to make to go from 14 to say -29 frames. my first animation frame is not the T. it is a part of the animation. could that be my problem? Yes, that is a problem. The first frame of a BVH file, as interpreted by SL, is not used for animation. The first frame and second frame are compared. Any joint that does not move between first and second frame are ignored for the entire animation, regardless of what happens to them in the rest of the animation. Qavimtor has a feature called "Protect first frame". (It doesn't quite work on the version I'm currently using, but I hope that's just a temporary bug already fixed.) I recommend you use it. Whenever you go to the first frame, everything shows red, cluing you not to change it. There's no point changing it. The first thing that most animators do is on the next frame, change every joint just a little. Many of us save this to use when creating new anims. You can fix your existing animations using a text editor. Open Qavimator and create a new animation and save it (BVH or AVM format, it doesn't matter). Edit this file using a text editor. Skip past the indented stuff, and find the first line following "Frame Time:". Copy that line and paste it before the first similar line in your .bvh file. (Note: don't try this with an .avm file, that format takes a lot more fiddling.) Finally, if your animation is 14 frames, then your loop in point needs to be 7% or 8%. I'm not sure what kind of rounding SL uses for this.
|
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
|
04-10-2009 02:07
From: Lear Cale Where did you get the idea that it cuts in at 12FPS? I see nothing in the code that has anything to do with frame rate.
I have not looked at the client code, but the Wiki says SL animations run at 12 fps - so if you create your animation at a higher frame rate, when you upload it, SL effectively retimes it to 12 fps - and it achieves this by dropping frames. I do not know how it does this - but it is noticeable, especially to Poser users, as Poser defaults to 30 fps and not everyone thinks to change this. @ 3Ring When you export to bvh format, all the frames become key frames - so it is not possible to avoid the optimisation process deleting a frame, by designating the frame as a key frame in the animation software.
_____________________
Deira  Must create animations for head-desk and palm-face!.
|
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
|
04-10-2009 02:18
From: 3Ring Binder my first animation frame is not the T. it is a part of the animation. could that be my problem?
Yes, that is definately a problem. Frame 1 needs to be a zero rotation T-pose. This is used as a reference frame and will not show in your uploaded animation. This could easily account for your jerky loop as whatever pose you have on Frame 1 will be taken as a reference, but not seen. Suggest you view Torley's video tutorial for using QAvimator - it is a very helpful one. 
_____________________
Deira  Must create animations for head-desk and palm-face!.
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-10-2009 06:29
From: Deira Llanfair Yes, that is definately a problem. Frame 1 needs to be a zero rotation T-pose. This is used as a reference frame and will not show in your uploaded animation. This could easily account for your jerky loop as whatever pose you have on Frame 1 will be taken as a reference, but not seen. Suggest you view Torley's video tutorial for using QAvimator - it is a very helpful one.  I don't think it needs to be zero-rotation. I think it just needs to have all animated joints different than the next frame. I'm sure that it isn't necessary to have all joint rotations at zero. The default T frame that Qavimator creates on a new anim works just fine, and isn't all zero-rotation.
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-10-2009 06:40
From: Deira Llanfair I have not looked at the client code, but the Wiki says SL animations run at 12 fps - so if you create your animation at a higher frame rate, when you upload it, SL effectively retimes it to 12 fps - and it achieves this by dropping frames. I do not know how it does this - but it is noticeable, especially to Poser users, as Poser defaults to 30 fps and not everyone thinks to change this. Any idea where in the wiki you found that? I can't find it. I'll check the client code when I get a chance. Any clues on finding this tidbit would be appreciated.
|
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
|
04-10-2009 08:12
From: Lear Cale Any idea where in the wiki you found that? I can't find it. I'll check the client code when I get a chance. Any clues on finding this tidbit would be appreciated. These references have been given in another thread: /52/24/241028/1.htmlhttp://wiki.secondlife.com/wiki/Internal_Animation_Format/327/09/253994/1.html/52/3b/246598/1.htmlBut, I'm beginning to doubt this now as this entry on the Wiki implies that the default is 30 fps: http://wiki.secondlife.com/wiki/How_to_create_animations12 fps could be the minumum advisable maybe - considering the frame rates most people enjoy in world??? Xenon Linden seems to recommend 15 fps in his post. Hmmmmmm....I'll dig a bit deeper when I get some more time!
_____________________
Deira  Must create animations for head-desk and palm-face!.
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
04-10-2009 08:26
I'm tempted to rework that Wiki entry (Basic Knowledge for creating SL animations). The original author did a great job of identifying the key points to cover, but I suspect much of that text is undecypherable by the typical person who just wants to make an animation. I think it's funny that, at the top, they say "Find out what a Quaternion is." I know what a Quaternion is, but I never use that knowledge at any stage of making and applying animations. Seems a shame to put off the interested with a deep mathematical and irrelevant subject. What we need is a good overview, with links to more in-depth discussions that folks can come back to after trying out the basics. It's not easy to write a good tutorial! I haven't seen the watermellon man's video, but I bet it's a hoot. 
|
Peavey Benelli
Registered User
Join date: 30 May 2008
Posts: 5
|
04-10-2009 08:43
This is an interesting thread for me, being that I am just taking my first steps with animation in SL. Thanks for all the great information you folks have been giving.
Peav
|