Wed, Oct 2, 9:32 PM CDT

Renderosity Forums / Poser Technical



Welcome to the Poser Technical Forum

Forum Moderators: Staff

Poser Technical F.A.Q (Last Updated: 2024 Sep 17 7:30 pm)

Welcome to the Poser Technical Forum.

Where computer nerds can Pull out their slide rules and not get laughed at. Pocket protectors are not required. ;-)

This is the place you come to ask questions and share new ideas about using the internal file structure of Poser to push the program past it's normal limits.

New users are encouraged to read the FAQ sections here and on the Poser forum before asking questions.



Checkout the Renderosity MarketPlace - Your source for digital art content!



Subject: Poser 7 animation layer information?


kuroyume0161 ( ) posted Tue, 29 April 2008 at 3:38 PM · edited Sun, 28 July 2024 at 8:35 PM

So far, I've found that there are two places in the Poser file which involve Poser 7's animation layer information:

=========================================================
At top level (below actors)
=========================================================

keyLayer <layer-name>
{
    on <1|0>
    startFrame <frame (0-based)>
    length
    combine <add|replace>
    preBlendFrames
    postBlendFrames
    preBlendType
    postBlendType
}

Order is from bottom up (Base Layer assumed).  So:

keyLayer Layer_1
{
}
keyLayer Layer_2
{
}

is shown as this in Poser:

Layer_2
Layer_1
Base Layer

=========================================================
In affected channel keys section:
=========================================================

The ordering of layers is same as keyLayer:

Base Layer
Layer_1
Layer_2

keys
{
    <base-layer keys
     same as old Poser keys>
    layer kfrm <layer-name>
    <list of keyframes same as old Poser but including after 'k':>
    k 0
    kfd
}

I'm assuming what is what on k and kfd only because it is impossible to tell.  When you select the dial value in Poser, the value changes in one direction or the other everytime - the results get rather messy and unfixable.

Another thing is how understanding how Add works and how the values in the keys section are used.  Are they cumulative - so two layers (besides the Base Layer) added are cumulated into the top layer (the one last in the keys section)?  And I'm not sure how the 'Add' works.  Obviously, simply adding to rotations which cover the same ground is going to lead to incorrect results.  Is there a delta taken into account here?  This layer system is a mess and hard to decipher due to the volatile nature that I've experienced with it.

Appreciate any help.
Robert

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone


markschum ( ) posted Tue, 29 April 2008 at 4:07 PM

The add simply adds the base value to the layer value in bottom up order, at least as far as I can tell. Thats what happens if you save as a pose file and tesll it to merger layers .
.


kuroyume0161 ( ) posted Tue, 29 April 2008 at 5:03 PM

That probably explains why two walk cycle layers set to 'Add' cause such a ruckous. :)  One would think that the best solution here would be to interpolate the values at each frame rather than strictly add them together - yeeks.

Do you think that I have the (which is more like the ) and correctly assigned?

Once again, I might have to play with this in my plugin and works towards getting similar results in some various situations.

Thanks, markschum

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone


markschum ( ) posted Sat, 03 May 2008 at 12:32 AM

I am basing mostly on what happens if you save an animated pose and reduce it to one layer.

It should be fairly easy to set up a test  and read out the values at each frame for say a 30 degree bend added to a 60 degree bend .


kuroyume0161 ( ) posted Tue, 06 May 2008 at 5:54 PM

Sounds like a good plan.  I'm going to do this before commencement of the coding. :)

Thanks again.

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.