Richard60 opened this issue on Jun 13, 2020 ยท 1 posts
Richard60 posted Sat, 13 June 2020 at 7:09 PM
Here is a question for the Poser Programmers Development Team.
Why do you use the KFD values in Layers?
Below is a chart of what works in Layers and what does not.
Graph Dial Enter Number Pose Window Python
--------------------Graph-----Dial--------Enter Number----Pose Window---Python
Base-------------Work-------Work------Work----------------Work--------------Work
Base + Layers Replace
--------------------Work-------Work-----Work-----------------Work--------------Work
Base + LayersAdd Base Layer
--------------------Work------Work -----Work------------------Work-------------Work
Base + LayersAdd Layer
--------------------Fails ------Work -----Work------------------Work-------------Work
Base + LayersAdd Layer Current Layer Only
-------------------Fails-------Runs Away---Sub--------------Works------------Sub
Base + LayersAdd Not Include in Playback
------------------Block------Change --------Block-----------Block-------------Change
-------------------------------Red Line----------------------------------------------Red Line
Most of the modes work as in you have some control over what happens. The Graph on the other hand is a total mess but you can get the movement you want. However where is says Fails which is trying to use the graph what happens is the Value from the Base is applied to the Layer movement and then it gets stuck as the value of the graph CANNOT change and is stuck at the resulting value. The Runs Away error is that using the Dial the value just keeps moving in one direction and CANNOT be dialed back. The Sub error is when you try to input a Value directly into the Parameters Dial Value box, what happens is the Value you enter then Subtracts the Base Layers Value and sticks that into the Value box. For example if the Value of the Base Layer is 1 at the current Frame and I put in a Value of 0 then you get 0-1 equals -1 and that is the value you see in the Value Box. If the Value of the Base Layer is 3.5 and I put in a value of -1 then I get -1 -3.5 equals -4.5. The Math I learned in school says that 3.5 plus -1 should equal 2.5, however Poser just subtracts the Base Value from the Layers Value.
The other neat one is that you cannot change a layers value using the Graph, Dial or Pose Window when the Layer is not included it Playback. However you can change the value by direct input of a Value into the Value Box or by using Python. And basically it makes the Layers add up to the Value you entered. So if you enter a Value of Zero and the Base Layer is 1 then the changed layer equals -1 so that if results in an overall value of Zero.
All this is because there is a Value in the Poser Scene that is Called KFD. There is the normal K value which is Base Layer and all other layers have a KFD in addition to a K and there they take the K value and subtract the other layers total and place it in the first of the two slots of KFD and most of the time the K value into the Second slot, but not always.
Every time I add or change a layer the KFD is recalculated or make it part of the playback and if you have several layers the math of figuring out what each layer contributes can get complex really fast, especially when you have incorrect logic to subtract base layers instead adding.
Also during all this testing somehow I managed to add a Key Frame outside of my defined range of 11 to 21 for a layer so that now it expanded the range from 11 to 41 out of a possible 31. And you cannot make the layer shorter once it is expanded. In the older versions of Poser (9 and lower) you could slide the Layer back and forth to line it up with other layers to get the result you want. However if you cannot make a layer shorter and you make a mistake in placing a Key Frame then it looks like you have to start over.
So my original question is WHY the KFD? Older versions of Poser (9 and lower) used the K value of the layer to make the Red Line which shows the movement effect that that layer is going to have. With 10 and 11 they changed the behavior of KFD to try and make the Red Line closer to the Black line (the overall movement you get with all layers being applied).
Since in Poser 10 (I believe) they added the second number above the Dials Value Box to show what the overall effect of a Master dial has on a movement channel. For example if you dial in Grasp the Finger curl and are no longer at a default of 0 but say 20. You can then turn the single finger to increase or decrease the effect of Grasp so that may say Overall 22 and finger is 2. I don't understand why the layers functions cannot use the same feedback.
The reason this is important is that where I work we have an Optitrack motion capture system (Like that used by Rooster Teeth (as in RWBY and Red vs. Blue) that the students can use to help make movies. We also have Poser 2014 which they try and use to render out their captured motions, However because of the problems with Layers it is very time consuming to try and use Poser in the work flow, and Poser 11 is no better. The biggest issue is that the Optitrack makes a BVH file which Poser can read (nice). And by using Layers you can make an adjustment on a correction layer and have it apply to the whole BVH. Think Rotate a Body by 90 degrees and you can realign they movement of a figure with 1 simple change instead of going into the BVH layer and changing each frame by 90 degrees which could be hundreds of frames. However with the changes made in 10 and 11 making the Red and Black lines behavior change you cannot figure out easily how much of a change you made in your correction layer as all values are combined so if two people are working on different parts of a project they have to take guesses as to how much correction to apply.
I hope that whoever gets lucky enough to be on the Poser 12 Beta test team can point out the problems they have with the simple parts of Animation features in Poser especially since they claim they are looking for someone who uses Poser for Animation, which is/was me.
Poser 5, 6, 7, 8, Poser Pro 9 (2012), 10 (2014), 11, 12, 13