kuroyume0161 opened this issue on Apr 29, 2008 · 5 posts
kuroyume0161 posted Tue, 29 April 2008 at 3:38 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
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