Python method to read the "absolute" value of a dial? (incl. ERC)



  • Hello,

    I'm currently working on another script.
    I actually want to parse a figure in the actual scene and read the "total" joint rotation values (i.e. the local value plus all the ERC induced values).

    I know it can be done because Netherworks's PWP script does exactly this when writing a pose.
    I would like to include this technique int a little script of my own..
    The intention is to "normalize" any ERC driven pose to a normal pose "on-the-fly", less the ERC values.

    Thank you!

    Karina



  • @karina for any parameter, the Value() method returns the actual, effective result of all influences, including valueOperations (ERC), python callbacks, and the dial value. There used to be a whole lot of shenanigans necessary to extract a "Dial" value, free from all other influences, which is what one needs when saving poses, as a few cycles of save and load of poses which incorporate ERC effects in the saved values will gradually modify the pose from its original state. Fortunately, now, Poser 11 includes the UnaffectedValue() method for parameters, which returns the dial value alone, without ERC or any other influence.

    As usual, though, the symmetry of the Poser Python API remains broken, as there is no UnaffectedValueFrame() equivalent to the ValueFrame() method, which allows a parameter value from an arbitrary frame (not the currently selected frame) to be returned.

    Please PM me if you need more details.



  • I'd wondered about this myself, as I often create poses using ERC dials that I've added myself, which would make it difficult to derive a distributable pose that anyone could use. Or so I thought - apparently I had the solution all the time. Just use PoseWriter! Thanks for the enlightenment. :)



  • @anomalaus:

    That's exactly what I need!

    You may know the "Easy Pose" dials in SASHA, and in the new SR1 there are even more.

    My idea is:

    Create a pose with the Easy Pose dials, as much as you need it.
    But sometimes the Easy Pose dials and "normal" rotations get in each others' way because of rotation limits.

    This is the time to "normalize" the pose with the script, and continue.
    (The script will at the same time reset all the Easy Pose dials!)

    I'll have a go at it, and if I (as usual) run into trouble, I'll shout loudly... :oD

    Thank you!

    @englishbob:

    Yes, for saving poses PWP is the best invention since sliced bread!
    And it writes lean poses as well, without all the "refActor" and other overhead that Poser includes in a "pose".
    Glad I could help!

    Karina