Jump to content

Uploader "optimization"


anselm Hexicola
 Share

You are about to reply to a thread that has been inactive for 3521 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

( I searched for a previous thread on this topic, but could not find one; though I am certain that I am not the first to have this problem.)

I made an animation to represent the playing of an harmonica. Necessarily, this involves quite small transitions between key-frames of shoulder,arm,hand,neck and head rotations.

It looked acceptable in my animation creation tool (Avastar,btw), so I exported it as a  .bvh file. However, on upload to SL, it had lost a lot of detail/movement. At first, I thought I had saved my animation incorrectly; but then I saw this on :-

http://wiki.secondlife.com/wiki/How_to_create_animations

9. Optimization
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 optimization is what you have observed; joints with very subtle movement might have their animation data dropped entirely on upload. The threshold formula is complex, 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.

So, I presume this is what is thwarting me.

I use the official LL Viewer.

Q. Would exporting it as an .anim file and uploading it on a different Viewer help? Or, might there be another work-around?

Link to comment
Share on other sites

This is a common problem for creators. Not just limited to animation.

Because SL is a streaming virtual world everything has to be heavilly compressed. That means we lose some of the refinement that designers carefully craft into their work......

I've learned to just try and undertand how the compression works and plan carefully, so I can work around it.

If you understand the beast you can tame it!!:matte-motes-sunglasses-3:

I think that you should use the most "lossless" format you can when saving......at least then the compression algorithm has the best raw data to work with. Although I find even that can be a contradicting thing sometimes with SL.

Link to comment
Share on other sites

The uploader has issues, but optimization is really not that big of an issue. The reason why so many people do have problems is because they try to upload everything at 30fps. Doing this to all animations will result in the uploader dropping frames that don't show enough movement. In most cases, simply lowering your frame rate will result in bigger changes between keyframes.

How you can do this in Blender, is to lower your FPS, then goto your dopesheet. In the dopesheet, select all the keyframe, left click on the first frame, then press s to scale the animation back to the proper speed, and left click when you are done.

Link to comment
Share on other sites

OK, I have taken onboard your point about the FPS of the animation one is trying to upload.  "Less is more.." sometimes.

My animation is admittedly quite amateur, but I wanted to get a good "fit"/co-ordination between the L hand and the head for a specific avatar shape. (I did a few screen captures to illustrate what I was wanting - see video below.)

Anyway,  I have tried 3 different versions of my animation :-

   1. (The original) 25 FPS .bvh export/import

   2. A 10 FPS .bvh  version

   3. A 25 FPS .anim  version

It seemed impossible to explain in writing how they differed on import into SL, so here are how they appear inworld ...

 

 

                                                                                                                                                                                                                       Version 1 is hopeless; V.2 (.bvh @ 10FPS) is not too bad, but the resultant alignment between hand and head is awry; V.3 ( .anim) seems EXACTLY as I made it in Blender.

Now V.3 gives me what I wanted, BUT is there a "good housekeeping" dimension to all this? Like with textures, one should aim to keep file sizes small, wherever possible.

Link to comment
Share on other sites

Unfortunately for me,  I am more than a bit out of my depth when it comes to understanding "how the compression works" .

That said, I always want to learn and  do things sensibly.

(I should add that I am not a Content Creator in the sense that I make things for sale; I just make stuff for my own and friends' amusement.)

Link to comment
Share on other sites

Your results are interesting. The problem with v2 sounds like its a scaling problem between the avatar you are using in Avastar, and the avatar you are using in SL. This should also be the case with anim files, at least I thought it was this way. Your results imply that the anim files ignore bone scaling, which is very interesting. I might have to do some tests, lol.

Ultimately, the size of the animation files are important because your computer must download it to be able to view it. If you want an animation to play right away, then you should make it as small as possible, to make sure the information gets to everyone's computers quickly. There are cases, like dances, where you don't care as much that they have to preload, as you are going to see the animation over and over again. Plus, dances always have lots of data, and it's hard to get a dance file size small enough to instantly play. What FPS is needed for an animation depends entirely on how fast the avatar is moving. If movement are slow, and don't travel very far, then you can get away with very little fps. Dances have very fast, jerky movements, and they need as many frames as possible to make the movements look smooth and natural.

These are just my thoughts on animation optimization. The golden rules are really only what works for you. Knowledge is power tho, lol.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3521 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...