Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Small animation movements not showing up when brought into SL

Storma Amarula
Registered User
Join date: 8 Mar 2005
Posts: 87
05-06-2005 13:14
It's very odd - whenever I try to do slight animation movements they don't get picked up once in SL. I use the Avatars provided by SL in the downloads section. Is there a solution to this - or should I be using the Poser 2 figures to animate instead?

Thanks :)
Fenrir Reitveld
Crazy? Don't mind if I do
Join date: 20 Apr 2005
Posts: 459
05-06-2005 20:57
I've noticed this too. Slight motion doesn't seem to register. I have to move my limbs about 2x as much as I would expect in order for the animation to show up in SL.

I'm using Poser 4 (latest version) on a PC.

I would be curious if anyone has information on it, too.
Craig Altman
Second Life Resident
Join date: 11 Nov 2004
Posts: 131
05-07-2005 06:07
So glad its not just me then, I have done lots of tests and I can say for sure its not just the small amount of movement, its both that and the speed at which its executed(number of frames over which its applied), it seems to me you can do small amounts of movement so long at its fast.

I recently had a pretty long anim working ok but it was too fast so went into poser and retimed it, when uploaded half the movements were no longer there and it was a complete mess.

For instance a hip movement of about 20 degrees over 30 frames worked fine, but seems if you add another 10 frames or so, no movement happens at all once in SL.

Maybe is something in the translation to BVH motion from poser, I dont know, but its annoying enough to have to get couple animations right anyway without the added random factor of whether one body part you set to move decides not to(or vice-versa as seems to happen fairly often too)
Pietro Maracas
Registered User
Join date: 27 Sep 2004
Posts: 104
05-10-2005 14:20
Hmmm… round off might explain this problem. If a joint has no change from the first to the second frame, SL ignores any changes to that joint for the rest of the animation sequence. A very small change from one frame to the next might be interpreted by SL as no change due to rounding error. I've seen Poser output BVH values to six decimals, but I doubt SL imports with that degree of accuracy. That might explain Craig's experience where the anim works fine over 30 frames, but it fails completely at 40 frames.

Has anyone experimented with this to determine if and how SL rounds BVH values?
Torrid Midnight
Work in progress
Join date: 13 May 2003
Posts: 814
05-11-2005 05:28
Make sure there's no change to frame 1 (model in default pose). If that doesn't help then I'm not sure what the problem is, I've never had that particular situation occur.
_____________________
Craig Altman
Second Life Resident
Join date: 11 Nov 2004
Posts: 131
05-12-2005 06:48
I havent exhaustively tested it but I do know that I can take an animation that works perfectly and slow it down by adding 1/5th extra frames and I suddenly lose some of the slower movements in it once its uploaded.

Seems to be something along the lines of less than a 0.5 degree movement per frame during a linear point-to-point movement of that body part and you lose the movement completely when uploaded to SL.
Seagel Neville
Far East User
Join date: 2 Jan 2005
Posts: 1,476
05-12-2005 07:34
Hello, Craig.

I've not had such an experience at all. It worked fine though I tried to make the animation that you told.

I'm using Poser5 and SL avatar.

1.Inversekinematics are all off
2.Set total frames of number 30.
3.Give key on the 2nd frame of the waist pivot on the animation set window.
4.2nd frame of the waist pivot's spline is off.
5.Click the 30th frame of the waist pivot on the animation set window.
6.Rotate z axis (spin right left) 20 degrees at the parameter window.
7.Animation play test. It workd fine on Poser.
8.Set total frames of number 40.
9.Hold Shift click the 30th frame of the waist pivot and drag the key to the 40th frame.
10.Animation play test. It worked fine on Poser.
11.Export the animation to the BVH file.
12.Upload the BVH file on SL.
13.It worked fine on the uploading window.

:confused:

I try to upload the BVH file here after changing the attribute to ".txt".
When you see it, cahnge the attribute to ".bvh" before loading on your Poser.

And I'd also like to see your BVH file if you like.

EDIT: :eek: Chainging attribute does not work to load on Poser! :eek:
Sorry, I try to think another way.

I tried to make zip archive.
Yeah, I assured this was well. But I also fuound that I could not see what it had been done because BVH showed us all frames keying. :o
_____________________
:) Seagel Neville :)
Craig Altman
Second Life Resident
Join date: 11 Nov 2004
Posts: 131
05-14-2005 05:10
Ill try duplicating it in a test anim, at the moment Im having probs making it come out in a small test anim, I have seen it happen with chest, arm, hips, abdomen movement back and forward in actual anims Ive made because they were slow animations.

The most noticeable is in a demo set I currently have at my shops(not a plug honest), that animation is 650 frames long, it has 2 points here the female leans in on the male, the second time she does this, their hands are pressed together.

Now I wanted this entire anim slower, it was originally 550 frames and was retimed to 650 with no probs, but once retimed to 750 you lost the males arms moving back as the female leans in and pushes her hands against his, it was obvious beccause her arms completely went through his arms as she lent in.

The whole 3rd section of that anim had to be remade because she didnt even lean in the second time because it was too slow, plus you will notice her entire movemnt is done by hip and not chest or abdomen at all, this was because I needed the whole thing on one body part in order for it to work at all in sl, when the movement was spread between chest, abdomen and hip it did not show once uploaded.
Seagel Neville
Far East User
Join date: 2 Jan 2005
Posts: 1,476
05-15-2005 06:37
Hello Craig,

What should I do to follow your problem?
If I have your animation at your shop, I can't edit it again.
So, shall I make an 550 frames animation and extend it to 750 frames?
Or do I need make it for two figures though I've never done it?

And this thred is orignally the slight animation movements' trouble.
Does anyone tell me how much moving parameter, how much frames, and what kind of movement causes such a trouble?
I'd like to know if there is any bug or something on Poser.

Thank you.
_____________________
:) Seagel Neville :)
Yoshimi Muromachi
Registered User
Join date: 30 May 2005
Posts: 17
06-02-2005 06:55
heres another factor in the formula I have discovered last 2 days.

its not just amount of movement per frame over the duration of that body part movement.

The past couple of days I have been making a very long animation, so long I have been making it in parts, testing the parts, altering and making more once the part is perfect.

now whenever I add more to the anim and test it, I lose chest movement from the previous part(which I had not touched since tested perfect the day before).

So there you go folks, its also length of the entire animation which makes you lose slower movements during it.

I spent 300L$ yesterday uploading to get that previous part ok now am back to square one, so much for that plan eh
Koh Costello
Registered User
Join date: 7 Apr 2005
Posts: 14
Possible solution
06-08-2005 21:27
SL interprets tweening very strangely.

Solution:

Make your animations as you normally would, when finished, open up you keyframe window (that holds all the green boxes) [amber if you've used constant velocities]

Highlight everything. click the little '+' button to turn all tween frames into keyframes with values.

By doing this, your animations will now tell Secondlife where your animations should be exactly at every frame. I'm thinking this will solve the issue. I'll do some tests when I get into town.

Warning: If you use this method, make a save of your anims BEFORE you make everything into keyframes. If you don't, and you want to go back and change the anims, it will be helluh troublesome.

Best of Luck,

-Koh, animator extraordinaire [self proclaimed.]
Craig Altman
Second Life Resident
Join date: 11 Nov 2004
Posts: 131
06-16-2005 12:16
Doesnt work, Ive tried it before.

If anyones interested I now have an example of it, a floating anim I made at 120 frames where the body parts all bob, nothing moves when uploaded but when retimed to 60 frames it works fine but too fast to look natural.
Xenon Linden
Linden Lab Employee
Join date: 23 Dec 2002
Posts: 55
06-16-2005 17:53
SL's BVH importer does optimization of animation data prior to upload into SL. Joint rotations with very slight changes from keyframe to keyframe will be interpreted as *not* changing and thus aren't stored. This is done intentionally since custom animation data is stored on our servers and downloaded to each viewer as it is needed in real time, and needs to be fairly terse.

The potential side effect of the optomization is what you have observed; joints with very subtle movement might have their animation data dropped entirely on upload. The threshold formula is complex(at least to my non-programmer eyes) and involves comparing all three axes of data per joint, the distance moved between keyframes, as well as the joint's position in the skeletal hierachy. The design is *supposed* to allow for subtle motion to come through intact, so there may be a couple bugs.

In fact, one bug in the importer has already been found (and fixed for a future patch). Thanks to your detailed descriptions above I was able to recreate all of the described problems and a programmer was able to find the bug.

In the mean time, here is a potential work around:

Let's say you create a 60 frame animation at 30 FPS in Poser (so, 2 seconds long). You have placed keys on frames 1, 30, and 60. When you export it as a BVH from Poser, the BVH file automatically has 60 keyframes of data for every joint (so you don't need to bake keyframes on every frame in Poser as was suggested above). You upload the BVH into SL, and notice that some of the joints appear to have lost all their data due to the optimization.

Go back to your animation in Poser. Use the "Retime Animation" feature to scale the time of the animation from 1-60 to 1-30. You should now have keys on frames 1, 15, and 30. Make sure to shorten the total frames in the animation to 30. A crucial step here is to now set the *rate* of the animation to 15 FPS (from the original 30 FPS). The animation will take 2 seconds to play through with the same number of keyframes, albeit at the lower, choppier rate.

Now export the animation as a BVH and import into SL. SL intopolates keyframe data to smooth animation on playback, so the fact that you exported the animation at a choppier rate will have little, if any, effect on it's playback in SL. (You could potentially animate at 2 FPS in Poser, and it will still look smooth in SL.) Since the changes across keyframes in the BVH file are greater, the optimization threshold may have been reached, restoring the subtle movements lost in the old version.

Granted, retiming your animation in Poser could result in lost detail depending on what you are animating and how you place your keyframes, and may also require some additional tweaking of the motion in Poser before exporting.

Also,SL's animation upload preview window shows how your animation will look in SL( the optimzation has already been done by this point). You can use it to check that all the details of your animation are coming through as expected before you pay $L to upload the animation to the server.

-Xenon
Craig Altman
Second Life Resident
Join date: 11 Nov 2004
Posts: 131
06-16-2005 23:38
Lovely :)

Had not thought of that one
Pietro Maracas
Registered User
Join date: 27 Sep 2004
Posts: 104
06-17-2005 07:06
Thanks Xenon for this excellent explanation of sl interpretation and processing of animation files. :)