Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Poser BVHs, numer of joints and framerate

Alina Graf
Alina Animations
Join date: 8 Oct 2006
Posts: 42
08-18-2009 06:45
Hi to all,

I just started learning Poser 7 to make SL animations and someone suggested me to check the BVH exported with a tool called BVHacker where i can retime it, lower the framerate and check errors before uploading.

First of all I was using a 30 fps rate (Poser standard) while Bvhacker suggests a 20 fps for SL for better performances. What's the better frame rate for a good but no lag work? And, does it matter?

Second, checking my works (already imported in SL and running) the tool warn me that i have too few joint (21 instead of 24)! But I used the default male and female SL figures for Poser, downloaded from LL site...
What joint I still need to add, if needs, and how can I add it?

Thanks
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
08-18-2009 07:38
You can do all you want to do with Poser 7, Alina, no need for anything else.

Select your fps from the animation pallate - drop down pick list at top left.
Retime your animation from the Animation Menu.

The SL figure has the same skeleton as the Poser 2 figure with a total of 19 joints (20 if you count the BODY, but this is ignored in SL). I've no idea what BVHacker is counting - but you do not have to animate all 19 joints, of course, unless the motion requires it.

Your 21 could be the 19 joints of the SL figure plus the GROUND and something else you moved in Poser, such as a Camera or the BODY. Only the 19 joints matter because SL will ignore anything else when you upload.

It is generally thought best to use a lower fps than the Poser default of 30 - as this will usually cause less optimisation when the animation is run in SL - but it is not essential and the animation will still run ok. This preference is based on the assumption that users tend to experience frame rates of about 15 fps. I tend to prefer to animate at 24 fps, but that is only for ease of arithmetic, since then a quarter of a second = a nice round 6 frames.

Animations run on the client side and the frame rates experienced by users vary considerably. If you create your animation at 30fps and an end user is getting 60 fps, then the SL optimiser will "insert" the additional frames at run time. Conversely, if you make your animation at 30 fps and the end user is getting 15 fps, then the SL optimiser will drop half the frames at run time. It's usually better if frames are not dropped, because then significant movements can be lost - hence the preference for animating at lower fps. Lower fps can sometimes look jerky though - so you have to get a balance.

You can never know what fps a user is experiencing, therefore just make your animations so that they run to the timing you want to see and look as good as you can make them be, to your own eyes.

EDIT:

For "Optimisation" above read "Interpolation" - see Lear's post below - too many confusing long words for me!
_____________________
Deira :)
Must create animations for head-desk and palm-face!.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
08-18-2009 10:53
I strongly recommend using a low frame rate, like 10. There are few advantages to higher frame rates and some disadvantages.

SL "optimizes" uploaded animations, by eliminating movements they consider too small to be meaningful. This can cause animations to end up looking jerky. The lower the framerate you use, the less of this problem you're likely to have.

Using a low framerate will NOT make your animations jerky when played. For example, if you make a 5 FPS animation, and your viewer's frame rate is 30FPS, the viewer will interpolate 5 out of 6 frames to make the motion smooth and not like an old time movie.

As a general rule, the slowest frame rate that preserves the motion you want is best. Unfortunately, qAvimator (which I use) doesn't interpolate on playback, so using rates lower than 10 looks choppy (even though it wouldn't in SL). Hopefully Poser interpolates.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
08-18-2009 11:07
From: Deira Llanfair
If you create your animation at 30fps and an end user is getting 60 fps, then the SL optimiser will "insert" the additional frames at run time. Conversely, if you make your animation at 30 fps and the end user is getting 15 fps, then the SL optimiser will drop half the frames at run time.
You're confusing "optimization" (which happens on upload and has nothing to do with viewer frame rate) with "interpolation" (which is the viewer playing the point in the timeline by interpolating between the two closest frames in the anim sequence).

Optimization happens at upload time. It will delete joint movements if they're too small. It works on a per-joint-per-frame basis, so for one frame you can lose some joint movements but not others. It never inserts new movements or frames.

Interpolation works on the client when an animation is being viewed (regardless of which avatar is playing the animation). Interpolation can cause frames to be "inserted" (when the viewer is running faster than the animation or dropped (when it's running slower).

Regardless of the technical clarification, your advice is correct.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
08-18-2009 11:08
From: someone
Must create animations for head-desk and palm-face!.
I don't need animations for that, I can just look in the mirror!
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
08-18-2009 12:00
I would actually think a higher frame with more frequent key frames would actually be optimal, so as to give the maximum number of frames to choose from as it degrades, without losing too much motion, and double key frames on points that have dramatic shifts in motion... but that's just a thought
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
08-18-2009 15:51
From: Void Singer
I would actually think a higher frame with more frequent key frames would actually be optimal, so as to give the maximum number of frames to choose from as it degrades, without losing too much motion, and double key frames on points that have dramatic shifts in motion... but that's just a thought
That would be the case except for two factors.

1) optimization, which discards small movements, while ignoring the time between frames. I've dug in this code; let me know if you want a pointer.

2) bigger animations with lots of useless extra frames are bigger files to send to client, increasing lag, and affecting synchronization more.

I don't know if you've animated, Void. Most anims are made using "key frames", where you set up a sequence of poses, each pose being a keyframe, and let Poser (or whatever) interpolate to create the frames between. When you convert this to a bvh file, every one of these frames (original keyframes and interoplated ones) look alike to SL; every frame is treated as a key frame. This is a disadvantage of the BVH format.

If you only need 5 or 10 keyframes per second to create your animation, you certainly don't need more interpolated ones created by Poser to get stuffed into SL, to (a) be "optimized" causing jerks and (b) waste time when downloading. SL would interpolate just as well as Poser would.

If you actually do need more frames to capture the motion you want, then you need it, and that's all there is to it. This is more typical of "motion capture" or "mo-cap" animation. In that case, you need to very carefully choose the desired frame rate. Ideally, you'd capture at a very high rate, and then use postprocessing to choose the best downsampled rate.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
08-18-2009 15:52
doubling key frames around dramatic motions doesn't help. It's not like JPEG compression, or scuplty maps.
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
08-19-2009 00:14
I really hadn't dug into the file format, and was guessing that it was only storing key frames and maybe some spline direction. with it at every frame I can see that it makes little difference, thank for the tip on that
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
08-19-2009 01:34
From: Lear Cale
I don't need animations for that, I can just look in the mirror!



Hahaha! I'f a hear a loud clonk it will be your head hitting the desk then! ;)

Lear, I've made a dance animation at 12 fps and the movement looks jerky - I think it is because the amount of movement needed to get the dance timing right is too large for 12 fps. Making it at 24 fps smoothes this out - IMO it just depends on exactly what it is you are animating. If you are forced to make too great a change across one frame in order to fit the animation to the required time frame - then the result will be jerky no matter what the fps. Having the option to increase the fps is a way of keeping the play timing correct and getting a smooth, but swift motion.
_____________________
Deira :)
Must create animations for head-desk and palm-face!.
Alina Graf
Alina Animations
Join date: 8 Oct 2006
Posts: 42
08-19-2009 01:58
Thank you all for your replies.

I'll ignore joint number issue, Deira, and I'll try to use a lower fps rate than Poser standard. But I'd like to know how set a new default fps in Poser, if possible.

I've just discovered how in Poser directly manipulate interpolation curve for each body part on the Graph to avoid some bugs I've bumped into :)

I'll lower the frame rate to so much to have problems in posing my key frames, for example with 5 fps I cannot deploy a 1/4 second distant KF. I've noticed that even 1/30 sec frame non correctly or smoothly posed will generate a bad movement, so I'll keep fps high enough to have enough possibilities to deploy correctly my KF.
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
08-19-2009 09:02
You need to set up Edit/General Preferences in Poser.

Organise your Poser opening screen the way you want it to look, then set the Launch Behavior in the General Preferences.

So, for example, if you want to use Poser mostly for SL, then set it so it opens up with the Poser figure in the Document Window and if you want to work mostly in 24 fps, then pick that option. Make it look however it suits you best - close the windows you don't use much and leave open the ones you use often etc. Then select General Preferences and check "Launch to Prefered State" and click the "Set Prefered State" button. If you get into a muddle, there is a "Launch to Factory State" option which will get you back to the 'out of the box' set-up.

I love the graphs - one of the best features in Poser. :)

I shouldn't get too hung up on frames per second though - just make your animations look right to you and test them out on the beta grid, so you can try out re-timing until you get the best result you can.
_____________________
Deira :)
Must create animations for head-desk and palm-face!.
Alina Graf
Alina Animations
Join date: 8 Oct 2006
Posts: 42
08-19-2009 10:57
Thank you Deira.

Making my first couple animation on 20 fps, so i can easly multiply for calculate total lenght and KF positioning. And easly divide it in 4 :)
It seems smooth as usual.

Not in theme in this post, but when i export in BVH a poser scene containing more than 1 figure, am I exporting the selected one?

About figure scaling: the standard male height for the default SL figure seems to similiar to the famel one, so I used the Fashion Model one for the male...It seems tall enough for the average male avatar.
Any suggestion on this?

Thank you in advance
Deira Llanfair
Deira to rhyme with Myra
Join date: 16 Oct 2006
Posts: 2,315
08-19-2009 11:13
From: Alina Graf


Not in theme in this post, but when i export in BVH a poser scene containing more than 1 figure, am I exporting the selected one?

About figure scaling: the standard male height for the default SL figure seems to similiar to the famel one, so I used the Fashion Model one for the male...It seems tall enough for the average male avatar.
Any suggestion on this?

Thank you in advance



Yes, you are exporting the selected figure - so if you have a couples animation you need to export twice to bvh - once for each figure.

I find the Fashion Model size quite a useful one - it approximates to a lot of SL human avatars, which are often tall and slim. If I make an animation for a particular customer, I always ask their size on the appearance sliders and test using that. I've used the Child sizes sometimes too - they have been useful and I have used the Heroic size for things like boxing and karate. You can, of course, use the scaling options on the figure if you want to be very precise - but I think this is a bit of an overkill for SL work.
_____________________
Deira :)
Must create animations for head-desk and palm-face!.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
08-19-2009 14:28
If you make animations that include subtle or small movements, use the lowest frame rate where your animation looks good. Then you can worry less about your subtle movements being optimized out by SL's "optimization" on upload.

I suggest you try 12 FPS, since it's divisible by 2, 3, and 4.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
08-19-2009 14:30
The main factor to keep in mind is that most SL men (even those who aren't ape-men) have very wide shoulders and women have very narrow shoulders. So, an anim that puts hands together for men would have them crossing for most women, and an anim that puts hands together for women would have them spaced apart for most men.

I find this is more significant an issue than differences in limb length and other proportions.
Cheree Bury
ChereeMotion Owner
Join date: 6 Jun 2007
Posts: 666
08-19-2009 14:58
There is an excellent article on setting up your defaults at:

http://elesland.com/ele/Home/tabid/36/ctl/Details/mid/376/ItemID/1/Default.aspx
_____________________
Visit ChereeMotion - Life's Best Pinup Poses
http://slurl.com/secondlife/Wild%20Rice/38/230/51