Fri, Nov 22, 3:53 PM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 21 6:06 am)



Subject: Is it possible to script Master parameter injections?


vholf ( ) posted Wed, 26 June 2019 at 4:23 PM · edited Fri, 22 November 2024 at 3:51 PM

Hi there. I'm using Poser 11 Pro and I created a bunch of master parameters in a figure to control multiple actions (eg: one dial controls, arms, torso and legs). This are quite handy and I would like to have them in other figures (same base figure, just a different CR2). Is it possible to extract this master parameters and inject them into another figure? is it scriptable?

Thanks!


unrealblue ( ) posted Wed, 26 June 2019 at 7:59 PM

Ah... Just the question I was looking for an answer to :D

Can you save a master as a "pose" and have it load by simply clicking that saved pose? Does poser automatically wire that up?

I wouldn't expect it to load the needed morphs, although that would be cool... but how would it determine which files contain the applicable morphs?

I'm going to try saving a master that wires up some of La Femme control chips, then save (only) the resulting master, then apply that to a La Femme figure that doesn't have that master. Back later to post how it went.


unrealblue ( ) posted Wed, 26 June 2019 at 11:30 PM · edited Wed, 26 June 2019 at 11:31 PM

And the answer is: no, it doesn't work simply saving the morphs though the GUI. At least, not that I could find. Sorry. There are other's who've forgotten more than I will ever know about Poser, though, so maybe there is a way to do that.

As for scriptable, pretty sure it is. And I think scripts can be triggered by a library entry. iirc, some of the v4wm's do that, as well as commercially available joint fix injections (for v4). I'm working on a script that will take a bunch of La Femme face chip settings and turn them into a single master. It's tedious in the extreme wiring dozens of parameters through the GUI. It's tedious enough messing working with those parameters to get the expression (pose) in the first place. Need a one button (save facial pose as expression). Soon :)


an0malaus ( ) posted Thu, 27 June 2019 at 12:13 AM

Hioushi & thoennes, yes, this is eminently doable. The trick is simply to put the normal contents of a character CR2 file within a pose PZ2 file. In other words, you include all of the name, limit and especially ERC and delta (if you're adding morphTargets) information that would be in a CR2 and is usually left out of a PZ2 file.

I've created such a thing for adding extra master parameters to PE. Additionally, where a CR2 would make reference to a figureResFile, in its place, you put the PZ2 targetFIgure line which identifies which figure the pose is intended for. The targetFigure value is basically just the name of the OBJ file that the figureResFile would refer to, but without the full path and .OBJ extension.

The pose only needs to refer to the actors which you're adding master channels or valueOperations (ERC) to, and doesn't need a figure block at all.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


an0malaus ( ) posted Thu, 27 June 2019 at 12:16 AM

Here's the example for PE I was referring to (save as "Add Arm Orbit ERC.pz2"):

{

version
    {
    number 11
    build 34764
    }

thighLength 0.186251

targetFigure Evolution.Base.14h5

actor BODY:1
    {
    groups
        {
        groupNode Morphforms
            {
            groupNode Arms
                {
                collapsed 1
                parmNode CTRLArmsEnableShrug
                parmNode CTRLArmsOrbit
                parmNode CTRLArmOrbitL
                parmNode CTRLArmOrbitR
                parmNode CTRLArmsPhase
                parmNode CTRLArmPhaseL
                parmNode CTRLArmPhaseR
                parmNode CTRLArmsFold
                parmNode CTRLArmFoldL
                parmNode CTRLArmFoldR
                parmNode CTRLArmOrbitUp-DownL
                parmNode CTRLArmOrbitUp-DownR
                parmNode CTRLArmOrbitFront-BackL
                parmNode CTRLArmOrbitFront-BackR
                parmNode CTRLArmsRoll
                parmNode CTRLArmsScissor
                parmNode CTRLArmsSwivel
                parmNode CTRLArmsTwist
                parmNode CTRLArmsUp-Down
                parmNode CTRLArmUp-DownL
                parmNode CTRLArmUp-DownR
                parmNode CTRLShouldersShrug
                parmNode CTRLShoulderShrugL
                parmNode CTRLShoulderShrugR
                parmNode CTRLCollarsFront-Back
                parmNode CTRLCollarFront-BackL
                parmNode CTRLCollarFront-BackR
                parmNode CTRLCollarsTwist
                parmNode CTRLElbowsBend
                parmNode CTRLElbowBendL
                parmNode CTRLElbowBendR
                parmNode CTRLElbowsScissor
                parmNode CTRLElbowsSwivel
                parmNode CTRLHandsBend
                parmNode CTRLHandsSide-Side
                parmNode CTRLHandsTwist
                parmNode CTRLHandsRoll
                parmNode CTRLHandsScissor
                parmNode CTRLHandsSwivel
                parmNode CTRLPalmsTwist
                groupNode Fingers
                    {
                    collapsed 1
                    parmNode CTRLHandGrasp
                    parmNode CTRLHandSpread
                    parmNode CTRLFingersRoll
                    parmNode CTRLFingersScissor
                    parmNode CTRLFingersSwivel
                    parmNode CTRLFingersYaw
                    parmNode CTRLThumbOppose
                    parmNode CTRLThumbSpread
                    parmNode CTRLThumbGrasp
                    parmNode CTRLIndexGrasp
                    parmNode CTRLMiddleGrasp
                    parmNode CTRLRingGrasp
                    parmNode CTRLPinkyGrasp
                    groupNode Claws
                        {
                        collapsed 1
                        parmNode CTRLHandClaw
                        parmNode CTRLThumbClaw
                        parmNode CTRLIndexClaw
                        parmNode CTRLMiddleClaw
                        parmNode CTRLRingClaw
                        parmNode CTRLPinkyClaw
                        }
                    }
                }
            }
        groupNode Morphs | Partial (Hidden)
            {
            collapsed 1
            parmNode PlusArmOrbitR
            parmNode MinusArmOrbitR
            parmNode AbsArmOrbitR
            parmNode PlusArmOrbitL
            parmNode MinusArmOrbitL
            parmNode AbsArmOrbitL
            parmNode ShrugRatioR
            parmNode ShrugRatioL
            parmNode ShrugFactorR
            parmNode ShrugFactorL
            }
        }
    channels
        {
        valueParm CTRLArmsEnableShrug
            {
            name ArmsEnableShrug
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min 0
            max 1
            trackingScale 1
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmsOrbit
            {
            name ArmsOrbit
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -3//-2.2//-2
            max 3//2.2//2
            trackingScale 0.0222222
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmOrbitL
            {
            name ArmOrbitL
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -3//-2.2//-2
            max 3//2.2//2
            trackingScale 0.0222222
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsOrbit
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLArmOrbitR
            {
            name ArmOrbitR
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -3//-2.2//-2
            max 3//2.2//2
            trackingScale 0.0222222
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsOrbit
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLArmsPhase
            {
            name ArmsPhase
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -360
            max 360
            trackingScale 1
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmPhaseL
            {
            name ArmPhaseL
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -360
            max 360
            trackingScale 1
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsPhase
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmFoldL
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLArmPhaseR
            {
            name ArmPhaseR
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -360
            max 360
            trackingScale 1
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsPhase
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmFoldR
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLArmsFold
            {
            name ArmsFold
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -37.5
            max 150
            trackingScale 1
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmFoldL
            {
            name ArmFoldL
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -37.5
            max 150
            trackingScale 1
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsFold
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLArmFoldR
            {
            name ArmFoldR
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -37.5
            max 150
            trackingScale 1
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsFold
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLArmOrbitUp-DownL
            {
            name ArmOrbitUp-DownL
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min -3//-2.2//-2
            max 3//2.2//2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpKey
                Figure 1
                BODY:1
                CTRLArmPhaseL
            strength 1.000000
                beginValueKeys
                    valueKey -370 0.984808
                    valueKey -360 1
                    valueKey -350 0.984808
                    valueKey -340 0.939693
                    valueKey -330 0.866025
                    valueKey -320 0.766044
                    valueKey -310 0.642788
                    valueKey -300 0.5
                    valueKey -290 0.34202
                    valueKey -280 0.173648
                    valueKey -270 -1.83697e-16
                    valueKey -260 -0.173648
                    valueKey -250 -0.34202
                    valueKey -240 -0.5
                    valueKey -230 -0.642788
                    valueKey -220 -0.766044
                    valueKey -210 -0.866025
                    valueKey -200 -0.939693
                    valueKey -190 -0.984808
                    valueKey -180 -1
                    valueKey -170 -0.984808
                    valueKey -160 -0.939693
                    valueKey -150 -0.866025
                    valueKey -140 -0.766044
                    valueKey -130 -0.642788
                    valueKey -120 -0.5
                    valueKey -110 -0.34202
                    valueKey -100 -0.173648
                    valueKey -90 6.12323e-17
                    valueKey -80 0.173648
                    valueKey -70 0.34202
                    valueKey -60 0.5
                    valueKey -50 0.642788
                    valueKey -40 0.766044
                    valueKey -30 0.866025
                    valueKey -20 0.939693
                    valueKey -10 0.984808
                    valueKey 0 1
                    valueKey 10 0.984808
                    valueKey 20 0.939693
                    valueKey 30 0.866025
                    valueKey 40 0.766044
                    valueKey 50 0.642788
                    valueKey 60 0.5
                    valueKey 70 0.34202
                    valueKey 80 0.173648
                    valueKey 90 6.12323e-17
                    valueKey 100 -0.173648
                    valueKey 110 -0.34202
                    valueKey 120 -0.5
                    valueKey 130 -0.642788
                    valueKey 140 -0.766044
                    valueKey 150 -0.866025
                    valueKey 160 -0.939693
                    valueKey 170 -0.984808
                    valueKey 180 -1
                    valueKey 190 -0.984808
                    valueKey 200 -0.939693
                    valueKey 210 -0.866025
                    valueKey 220 -0.766044
                    valueKey 230 -0.642788
                    valueKey 240 -0.5
                    valueKey 250 -0.34202
                    valueKey 260 -0.173648
                    valueKey 270 -1.83697e-16
                    valueKey 280 0.173648
                    valueKey 290 0.34202
                    valueKey 300 0.5
                    valueKey 310 0.642788
                    valueKey 320 0.766044
                    valueKey 330 0.866025
                    valueKey 340 0.939693
                    valueKey 350 0.984808
                    valueKey 360 1
                    valueKey 370 0.984808
                endValueKeys
            valueOpTimes
                Figure 1
                BODY:1
                CTRLArmOrbitL
            strength 1.000000
            }
        valueParm CTRLArmOrbitUp-DownR
            {
            name ArmOrbitUp-DownR
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min -3//-2.2//-2
            max 3//2.2//2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpKey
                Figure 1
                BODY:1
                CTRLArmPhaseR
            strength 1.000000
                beginValueKeys
                    valueKey -370 0.984808
                    valueKey -360 1
                    valueKey -350 0.984808
                    valueKey -340 0.939693
                    valueKey -330 0.866025
                    valueKey -320 0.766044
                    valueKey -310 0.642788
                    valueKey -300 0.5
                    valueKey -290 0.34202
                    valueKey -280 0.173648
                    valueKey -270 -1.83697e-16
                    valueKey -260 -0.173648
                    valueKey -250 -0.34202
                    valueKey -240 -0.5
                    valueKey -230 -0.642788
                    valueKey -220 -0.766044
                    valueKey -210 -0.866025
                    valueKey -200 -0.939693
                    valueKey -190 -0.984808
                    valueKey -180 -1
                    valueKey -170 -0.984808
                    valueKey -160 -0.939693
                    valueKey -150 -0.866025
                    valueKey -140 -0.766044
                    valueKey -130 -0.642788
                    valueKey -120 -0.5
                    valueKey -110 -0.34202
                    valueKey -100 -0.173648
                    valueKey -90 6.12323e-17
                    valueKey -80 0.173648
                    valueKey -70 0.34202
                    valueKey -60 0.5
                    valueKey -50 0.642788
                    valueKey -40 0.766044
                    valueKey -30 0.866025
                    valueKey -20 0.939693
                    valueKey -10 0.984808
                    valueKey 0 1
                    valueKey 10 0.984808
                    valueKey 20 0.939693
                    valueKey 30 0.866025
                    valueKey 40 0.766044
                    valueKey 50 0.642788
                    valueKey 60 0.5
                    valueKey 70 0.34202
                    valueKey 80 0.173648
                    valueKey 90 6.12323e-17
                    valueKey 100 -0.173648
                    valueKey 110 -0.34202
                    valueKey 120 -0.5
                    valueKey 130 -0.642788
                    valueKey 140 -0.766044
                    valueKey 150 -0.866025
                    valueKey 160 -0.939693
                    valueKey 170 -0.984808
                    valueKey 180 -1
                    valueKey 190 -0.984808
                    valueKey 200 -0.939693
                    valueKey 210 -0.866025
                    valueKey 220 -0.766044
                    valueKey 230 -0.642788
                    valueKey 240 -0.5
                    valueKey 250 -0.34202
                    valueKey 260 -0.173648
                    valueKey 270 -1.83697e-16
                    valueKey 280 0.173648
                    valueKey 290 0.34202
                    valueKey 300 0.5
                    valueKey 310 0.642788
                    valueKey 320 0.766044
                    valueKey 330 0.866025
                    valueKey 340 0.939693
                    valueKey 350 0.984808
                    valueKey 360 1
                    valueKey 370 0.984808
                endValueKeys
            valueOpTimes
                Figure 1
                BODY:1
                CTRLArmOrbitR
            strength 1.000000
            }
        valueParm CTRLArmOrbitFront-BackL
            {
            name ArmOrbitFront-BackL
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min -3//-2.2//-2
            max 3//2.2//2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpKey
                Figure 1
                BODY:1
                CTRLArmPhaseL
            strength 1.000000
                beginValueKeys
                    valueKey -370 -0.173648
                    valueKey -360 2.44929e-16
                    valueKey -350 0.173648
                    valueKey -340 0.34202
                    valueKey -330 0.5
                    valueKey -320 0.642788
                    valueKey -310 0.766044
                    valueKey -300 0.866025
                    valueKey -290 0.939693
                    valueKey -280 0.984808
                    valueKey -270 1
                    valueKey -260 0.984808
                    valueKey -250 0.939693
                    valueKey -240 0.866025
                    valueKey -230 0.766044
                    valueKey -220 0.642788
                    valueKey -210 0.5
                    valueKey -200 0.34202
                    valueKey -190 0.173648
                    valueKey -180 -1.22465e-16
                    valueKey -170 -0.173648
                    valueKey -160 -0.34202
                    valueKey -150 -0.5
                    valueKey -140 -0.642788
                    valueKey -130 -0.766044
                    valueKey -120 -0.866025
                    valueKey -110 -0.939693
                    valueKey -100 -0.984808
                    valueKey -90 -1
                    valueKey -80 -0.984808
                    valueKey -70 -0.939693
                    valueKey -60 -0.866025
                    valueKey -50 -0.766044
                    valueKey -40 -0.642788
                    valueKey -30 -0.5
                    valueKey -20 -0.34202
                    valueKey -10 -0.173648
                    valueKey 0 0
                    valueKey 10 0.173648
                    valueKey 20 0.34202
                    valueKey 30 0.5
                    valueKey 40 0.642788
                    valueKey 50 0.766044
                    valueKey 60 0.866025
                    valueKey 70 0.939693
                    valueKey 80 0.984808
                    valueKey 90 1
                    valueKey 100 0.984808
                    valueKey 110 0.939693
                    valueKey 120 0.866025
                    valueKey 130 0.766044
                    valueKey 140 0.642788
                    valueKey 150 0.5
                    valueKey 160 0.34202
                    valueKey 170 0.173648
                    valueKey 180 1.22465e-16
                    valueKey 190 -0.173648
                    valueKey 200 -0.34202
                    valueKey 210 -0.5
                    valueKey 220 -0.642788
                    valueKey 230 -0.766044
                    valueKey 240 -0.866025
                    valueKey 250 -0.939693
                    valueKey 260 -0.984808
                    valueKey 270 -1
                    valueKey 280 -0.984808
                    valueKey 290 -0.939693
                    valueKey 300 -0.866025
                    valueKey 310 -0.766044
                    valueKey 320 -0.642788
                    valueKey 330 -0.5
                    valueKey 340 -0.34202
                    valueKey 350 -0.173648
                    valueKey 360 -2.44929e-16
                    valueKey 370 0.173648
                endValueKeys
            valueOpTimes
                Figure 1
                BODY:1
                CTRLArmOrbitL
            strength 1.000000
            }
        valueParm CTRLArmOrbitFront-BackR
            {
            name ArmOrbitFront-BackR
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min -3//-2.2//-2
            max 3//2.2//2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
                valueOpKey
                Figure 1
                BODY:1
                CTRLArmPhaseR
            strength 1.000000
                beginValueKeys
                    valueKey -370 -0.173648
                    valueKey -360 2.44929e-16
                    valueKey -350 0.173648
                    valueKey -340 0.34202
                    valueKey -330 0.5
                    valueKey -320 0.642788
                    valueKey -310 0.766044
                    valueKey -300 0.866025
                    valueKey -290 0.939693
                    valueKey -280 0.984808
                    valueKey -270 1
                    valueKey -260 0.984808
                    valueKey -250 0.939693
                    valueKey -240 0.866025
                    valueKey -230 0.766044
                    valueKey -220 0.642788
                    valueKey -210 0.5
                    valueKey -200 0.34202
                    valueKey -190 0.173648
                    valueKey -180 -1.22465e-16
                    valueKey -170 -0.173648
                    valueKey -160 -0.34202
                    valueKey -150 -0.5
                    valueKey -140 -0.642788
                    valueKey -130 -0.766044
                    valueKey -120 -0.866025
                    valueKey -110 -0.939693
                    valueKey -100 -0.984808
                    valueKey -90 -1
                    valueKey -80 -0.984808
                    valueKey -70 -0.939693
                    valueKey -60 -0.866025
                    valueKey -50 -0.766044
                    valueKey -40 -0.642788
                    valueKey -30 -0.5
                    valueKey -20 -0.34202
                    valueKey -10 -0.173648
                    valueKey 0 0
                    valueKey 10 0.173648
                    valueKey 20 0.34202
                    valueKey 30 0.5
                    valueKey 40 0.642788
                    valueKey 50 0.766044
                    valueKey 60 0.866025
                    valueKey 70 0.939693
                    valueKey 80 0.984808
                    valueKey 90 1
                    valueKey 100 0.984808
                    valueKey 110 0.939693
                    valueKey 120 0.866025
                    valueKey 130 0.766044
                    valueKey 140 0.642788
                    valueKey 150 0.5
                    valueKey 160 0.34202
                    valueKey 170 0.173648
                    valueKey 180 1.22465e-16
                    valueKey 190 -0.173648
                    valueKey 200 -0.34202
                    valueKey 210 -0.5
                    valueKey 220 -0.642788
                    valueKey 230 -0.766044
                    valueKey 240 -0.866025
                    valueKey 250 -0.939693
                    valueKey 260 -0.984808
                    valueKey 270 -1
                    valueKey 280 -0.984808
                    valueKey 290 -0.939693
                    valueKey 300 -0.866025
                    valueKey 310 -0.766044
                    valueKey 320 -0.642788
                    valueKey 330 -0.5
                    valueKey 340 -0.34202
                    valueKey 350 -0.173648
                    valueKey 360 -2.44929e-16
                    valueKey 370 0.173648
                endValueKeys
            valueOpTimes
                Figure 1
                BODY:1
                CTRLArmOrbitR
            strength 1.000000
        }
        valueParm CTRLArmsRoll
            {
            name ArmsRoll
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -2
            max 2
            trackingScale 0.05
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmsScissor
            {
            name ArmsScissor
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -4
            max 4
            trackingScale 0.1
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmsSwivel
            {
            name ArmsSwivel
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -2
            max 2
            trackingScale 0.05
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmsTwist
            {
            name ArmsTwist
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1.4//-1.1
            max 0.8
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmsUp-Down
            {
            name ArmsUp-Down
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -2
            max 2
            trackingScale 0.05
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLArmUp-DownL
            {
            name ArmUp-DownL
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -2
            max 2
            trackingScale 0.05
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsUp-Down
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsRoll
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmOrbitUp-DownL
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLArmUp-DownR
            {
            name ArmUp-DownR
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -2
            max 2
            trackingScale 0.05
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsUp-Down
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsRoll
            strength -1.000000
            deltaAddDelta -1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmOrbitUp-DownR
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLShouldersShrug
            {
            name ShouldersShrug
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.0833333
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLShoulderShrugL
            {
            name ShoulderShrugL
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.0833333
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLShouldersShrug
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpTimes
                Figure 1
                BODY:1
                ShrugFactorL
            strength 1.000000
            }
        valueParm CTRLShoulderShrugR
            {
            name ShoulderShrugR
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.0833333
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLShouldersShrug
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpTimes
                Figure 1
                BODY:1
                ShrugFactorR
            strength 1.000000
            }
        valueParm CTRLCollarsFront-Back
            {
            name CollarsFront-Back
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -4
            max 3
            trackingScale 0.1
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLCollarFront-BackL
            {
            name CollarFront-BackL
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -4
            max 3
            trackingScale 0.1
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLCollarsFront-Back
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLCollarFront-BackR
            {
            name CollarFront-BackR
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -4
            max 3
            trackingScale 0.1
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLCollarsFront-Back
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm CTRLCollarsTwist
            {
            name CollarsTwist
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -4
            max 3
            trackingScale 0.1
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLElbowsBend
            {
            name ElbowsBend
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.25
            max 1.5
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLElbowBendL
            {
            name ElbowBendL
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.375
            max 1.5
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLElbowsBend
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLElbowsScissor
            strength -1.000000
            deltaAddDelta -1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmFoldL
            strength 0.020000
            deltaAddDelta 0.020000
            }
        valueParm CTRLElbowBendR
            {
            name ElbowBendR
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.375
            max 1.5
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLElbowsBend
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLElbowsScissor
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmFoldR
            strength 0.020000
            deltaAddDelta 0.020000
            }
        valueParm CTRLElbowsScissor
            {
            name ElbowsScissor
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1.5
            max 1.5
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLElbowsSwivel
            {
            name ElbowsSwivel
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1.4//-1.1
            max 1.4//1.1
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandsBend
            {
            name HandsBend
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.65
            max 0.7
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandsSide-Side
            {
            name HandsSide-Side
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.25
            max 0.2
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandsTwist
            {
            name HandsTwist
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 1//0.7
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandsRoll
            {
            name HandsRoll
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.7
            max 0.7
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandsScissor
            {
            name HandsScissor
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.25
            max 0.25
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandsSwivel
            {
            name HandsSwivel
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1//-0.7
            max 1//0.7
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLPalmsTwist
            {
            name PalmsTwist
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.1
            max 0.1
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandGrasp
            {
            name Grasp
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandSpread
            {
            name Spread
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 1
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLFingersRoll
            {
            name FingersRoll
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 1
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLFingersScissor
            {
            name FingersScissor
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 1
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLFingersSwivel
            {
            name FingersSwivel
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 1
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLFingersYaw
            {
            name FingersYaw
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.15
            max 0.15
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLThumbOppose
            {
            name ThumbOppose
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min 0
            max 1.5
            trackingScale 0.0125
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLThumbSpread
            {
            name ThumbSpread
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1.5
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLThumbGrasp
            {
            name ThumbGrasp
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.5
            max 1
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLIndexGrasp
            {
            name IndexGrasp
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLMiddleGrasp
            {
            name MiddleGrasp
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLRingGrasp
            {
            name RingGrasp
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLPinkyGrasp
            {
            name PinkyGrasp
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLHandClaw
            {
            name Claw
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLThumbClaw
            {
            name ThumbClaw
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -0.5
            max 1
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLIndexClaw
            {
            name IndexClaw
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLMiddleClaw
            {
            name MiddleClaw
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLRingClaw
            {
            name RingClaw
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm CTRLPinkyClaw
            {
            name PinkyClaw
            initValue 0
            hidden 0
            enabled 1
            forceLimits 1
            min -1
            max 2
            trackingScale 0.02
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        valueParm PlusArmOrbitR
            {
            name PlusArmOrbitR
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 2.2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmOrbitR
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm MinusArmOrbitR
            {
            name MinusArmOrbitR
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 2.2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmOrbitR
            strength -1.000000
            deltaAddDelta -1.000000
            }
        valueParm AbsArmOrbitR
            {
            name AbsArmOrbitR
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 2.2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                PlusArmOrbitR
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                MinusArmOrbitR
            strength 1.000000
            deltaAddDelta 1.000000
            // Prevent divide by zero error when used as divisor for sign determination
            valueOpKey
                Figure 1
                BODY:1
                CTRLArmOrbitR
            strength 1.000000
                beginValueKeys
                    valueKey -1e-06 0
                    valueKey 0 1
                    valueKey 1e-06 0
                endValueKeys
            }
        valueParm PlusArmOrbitL
            {
            name PlusArmOrbitL
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 2.2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmOrbitL
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm MinusArmOrbitL
            {
            name MinusArmOrbitL
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 2.2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmOrbitL
            strength -1.000000
            deltaAddDelta -1.000000
            }
        valueParm AbsArmOrbitL
            {
            name AbsArmOrbitL
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 2.2
            trackingScale 0.01
            masterSynched 1
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 1
                BODY:1
                PlusArmOrbitL
            strength 1.000000
            deltaAddDelta 1.000000
            valueOpDeltaAdd
                Figure 1
                BODY:1
                MinusArmOrbitL
            strength 1.000000
            deltaAddDelta 1.000000
            // Prevent divide by zero error when used as divisor for sign determination
            valueOpKey
                Figure 1
                BODY:1
                CTRLArmOrbitL
            strength 1.000000
                beginValueKeys
                    valueKey -1e-06 0
                    valueKey 0 1
                    valueKey 1e-06 0
                endValueKeys
            }
        valueParm ShrugRatioR
            { // If Orbiting, returns 1 if arms fully up or -1 if arms fully down, else 0
            name ShrugRatioR
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min -2.2
            max 2.2
            trackingScale 0.01
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            // Quotient ranges between +Divisor and -Divisor so output between +1 and -1
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmOrbitUp-DownR
            strength 1.000000
            deltaAddDelta 1.000000
            // Divisor protected from ever being exactly zero (1 added when |x| < 1e-6)
            valueOpDivideBy
                Figure 1
                BODY:1
                AbsArmOrbitR
            strength 1.000000
            }
        valueParm ShrugRatioL
            { // If Orbiting, returns 1 if arms fully up or -1 if arms fully down, else 0
            name ShrugRatioL
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min -2.2
            max 2.2
            trackingScale 0.01
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            // Quotient ranges between +Divisor and -Divisor so output between +1 and -1
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmOrbitUp-DownL
            strength 1.000000
            deltaAddDelta 1.000000
            // Divisor protected from ever being exactly zero (1 added when |x| < 1e-6)
            valueOpDivideBy
                Figure 1
                BODY:1
                AbsArmOrbitL
            strength 1.000000
            }
        valueParm ShrugFactorR
            { // Scale CTRLrShoulderShrug to zero as the arm orbits to the horizontal
            name ShrugFactorR
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 1
            trackingScale 0.01
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpKey
                Figure 1
                BODY:1
                ShrugRatioR
            strength 1.000000
                beginValueKeys
                    valueKey -1 1
                    valueKey 0 0
                    //valueKey 0 0.5
                    //valueKey 1 0
                endValueKeys
            // Apply full shrug when orbit amplitude is zero (off)
            valueOpKey
                Figure 1
                BODY:1
                CTRLArmOrbitR
            strength 1.000000
                beginValueKeys
                    valueKey -1e-06 0
                    valueKey 0 1
                    valueKey 1e-06 0
                endValueKeys
            // Apply full shrug when CTRLArmsEnableShrug is 1 (on)
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsEnableShrug
            strength 1.000000
            deltaAddDelta 1.000000
            }
        valueParm ShrugFactorL
            { // Scale CTRLlShoulderShrug to zero as the arm orbits to the horizontal
            name ShrugFactorL
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 1
            trackingScale 0.01
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            valueOpKey
                Figure 1
                BODY:1
                ShrugRatioL
            strength 1.000000
                beginValueKeys
                    valueKey -1 1
                    valueKey 0 0
                    //valueKey 0 0.5
                    //valueKey 1 0
                endValueKeys
            // Apply full shrug when orbit amplitude is zero (off)
            valueOpKey
                Figure 1
                BODY:1
                CTRLArmOrbitL
            strength 1.000000
                beginValueKeys
                    valueKey -1e-06 0
                    valueKey 0 1
                    valueKey 1e-06 0
                endValueKeys
            // Apply full shrug when CTRLArmsEnableShrug is 1 (on)
            valueOpDeltaAdd
                Figure 1
                BODY:1
                CTRLArmsEnableShrug
            strength 1.000000
            deltaAddDelta 1.000000
            }
        }
    }
}



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


an0malaus ( ) posted Thu, 27 June 2019 at 12:20 AM · edited Thu, 27 June 2019 at 12:20 AM

Oh, I should note that the file was a work in progress, so none of the ERC linking the BODY master controls to the other actors has been added yet, though the concept has been fully tested.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


tonyvilters ( ) posted Thu, 27 June 2019 at 5:37 AM

There is also PhilC's Pz3 editor lite that is available here on renderosity. https://www.renderosity.com/mod/freestuff/pz3editor-lite/64262


vholf ( ) posted Thu, 27 June 2019 at 5:15 PM

Thanks for the info!

I have another question for you. What is your workflow for creating such a file? do you code it manually (hope not!) or do you set all the master parameters in poser and then extract it somehow (python?) ?

I would actually pay for a script that would take list of master parameter names and would extract them to a pz2 file to be injected in other figures.

an0malaus posted at 6:13PM Thu, 27 June 2019 - #4354941

Hioushi & thoennes, yes, this is eminently doable. The trick is simply to put the normal contents of a character CR2 file within a pose PZ2 file. In other words, you include all of the name, limit and especially ERC and delta (if you're adding morphTargets) information that would be in a CR2 and is usually left out of a PZ2 file.

I've created such a thing for adding extra master parameters to PE. Additionally, where a CR2 would make reference to a figureResFile, in its place, you put the PZ2 targetFIgure line which identifies which figure the pose is intended for. The targetFigure value is basically just the name of the OBJ file that the figureResFile would refer to, but without the full path and .OBJ extension.

The pose only needs to refer to the actors which you're adding master channels or valueOperations (ERC) to, and doesn't need a figure block at all.


unrealblue ( ) posted Fri, 28 June 2019 at 12:10 AM

I'll have to look at that file closer, this weekend.

I'm ready for this part of my "la femme facial expression making" project :)

Couldn't find an easier way to do what I just did... I go out to the last frame, and setup the facial chips into a pose. For symmetric expressions, I can just do one side and mirror.

This script takes those face chip settings (x,y,x rot and trans) at lastframe and wires them into a master (as valueops)

For me, it's a convenient way to make a bunch of master controlled facial expressions using the dizzying array of facial chips.

You give the script a master name. If that master exists, it replaces it. Dangerous. It only wires chip parms that where value@lastframe != initvalue

Seems to work. I made her smile :D

The next step is making each master an injectable "pose" to add it to a La Femme figure.

Then I can post those injectable masters.


unrealblue ( ) posted Fri, 28 June 2019 at 8:13 AM

Well, nuts. I managed to create a file that injects the slaves. And each has the correct actor (BODY) and the correct value. But they're not finding the master parameter. Can a new master not be injected into the body???? This is the code (from the saved CR2 that has the new master. I removed everything else and saved as pz2. For brevity, I removed the slaves since they work. I feel I'm missing something obvious. Writing a file that will inject the slaves is simple enough; the file is not very complex. As an aside, when I use the GUI to add the missing master (that the pz2 didn't add), it's all wired and good to go. And wow, it's beautiful to watch that heap of dependencies work smoothly together to make her smile using a single dial :)

{

version
    {
    number 11
    build 35540
    }

actor BODY
    {
    channels
        {
        valueParm Smile
            {
            name Smile
            initValue 0
            hidden 0
            enabled 1
            forceLimits 0
            min 0
            max 1
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        }
    }

Figure
    {
    }

}


vholf ( ) posted Fri, 28 June 2019 at 8:21 AM

Is there documentation about this file formats somewhere? or is it all worth of mouth and forums posts? There are lines there I don't know what they do, like trackingScale.


unrealblue ( ) posted Fri, 28 June 2019 at 4:57 PM

Tracking scale, I think is the sensitivity you see in the GUI for settings of a parameter. It's the sensitivity of the "dial". I don't know of any official documentation on any of the file formats. There are people who've written editors that certainly must know more. But I'm not sure if any of them are still involved with Poser and where they got their information from.

I would sure like a wiki of what does what, and (better, maybe) how to do X with Y. I've been using these:

http://docs.daz3d.com/doku.php/artzone/wiki/user/rbtwhiz/technotes/content/erc/start https://www.renderosity.com/mod/forumpro/?thread_id=2735605

And over at SM forums, there's talk of the need to preserve the data in their retiring Poser forums, specifically because there are so many gems in them. I could certainly host a wiki. And I've already probed their API to find that I can dump entire threads as JSON, which is easy to load into any database and present however.


vholf ( ) posted Fri, 28 June 2019 at 6:09 PM

Oh that thread is gold, thank you!


unrealblue ( ) posted Sat, 29 June 2019 at 8:55 AM

You're welcome ^.^


unrealblue ( ) posted Mon, 01 July 2019 at 6:06 PM

Ah, got it. I missed putting in:

createFullBodyMorph Smile

Now I have a nice Master Control "Smile" for La Femme in a pz2 file that can be added to any LF based character.

Okay, now I need modify the Python that combines all the face chips with non-InitValues@lastframe into a single master and have it write that to a pz2. Then I can make expressions all day.

Here is the final working pz2. It makes a master called "Smile" in the BODY, with dependencies in a bunch of facial chips. I think this is the minimal pz2 to accomplish this:

{

version
    {
    number 11
    build 35540
    }

createFullBodyMorph Smile

actor BODY
    {
    channels
        {
        valueParm Smile
            {
            name Smile
            initValue 0
            hidden 0
            enabled 1
            forceLimits 0
            min 0
            max 1
            trackingScale 0.01
            masterSynched 0
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0
            }
        }
    }

actor uLip
    {
    channels
        {
        rotateX xRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -2.000000
            deltaAddDelta -2.000000
            }
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000400
            deltaAddDelta 0.000400
            trackingScaleMult 0.100000
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000400
            deltaAddDelta -0.000400
            trackingScaleMult 0.100000
            }
        }
    }

actor dLip
    {
    channels
        {
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000400
            deltaAddDelta -0.000400
            trackingScaleMult 0.100000
            }
        }
    }

actor rdLip
    {
    channels
        {
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000400
            deltaAddDelta 0.000400
            trackingScaleMult 0.100000
            }
        }
    }

actor ldLip
    {

    channels
        {
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000400
            deltaAddDelta 0.000400
            trackingScaleMult 0.100000
            }
        }
    }

actor ruLip
    {
    channels
        {
        rotateZ zRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -5.000000
            deltaAddDelta -5.000000
            }
        rotateY yRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.027000
            deltaAddDelta 0.027000
            }
        rotateX xRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.071900
            deltaAddDelta -0.071900
            }
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000200
            deltaAddDelta -0.000200
            trackingScaleMult 0.100000
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000800
            deltaAddDelta -0.000800
            trackingScaleMult 0.100000
            }
        }
    }

actor luLip
    {
    channels
        {
        rotateZ zRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 5.000000
            deltaAddDelta 5.000000
            }
        rotateY yRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.027000
            deltaAddDelta -0.027000
            }
        rotateX xRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.071900
            deltaAddDelta -0.071900
            }
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000200
            deltaAddDelta -0.000200
            trackingScaleMult 0.100000
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000800
            deltaAddDelta -0.000800
            trackingScaleMult 0.100000
            }
        }
    }

actor rLip
    {
    channels
        {
        rotateZ zRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -10.000000
            deltaAddDelta -10.000000
            }
        translateX xTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000800
            deltaAddDelta -0.000800
            trackingScaleMult 0.1
            }
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.001100
            deltaAddDelta 0.001100
            trackingScaleMult 0.100000
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000400
            deltaAddDelta -0.000400
            trackingScaleMult 0.100000
            }
        }
    }

actor lLip
    {
    channels
        {
        rotateZ zRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 10.000000
            deltaAddDelta 10.000000
            }
        translateX xTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000800
            deltaAddDelta 0.000800
            trackingScaleMult 0.1
            }
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.001100
            deltaAddDelta 0.001100
            trackingScaleMult 0.100000
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000400
            deltaAddDelta -0.000400
            trackingScaleMult 0.100000
            }
        }
    }

actor nose
    {
    channels
        {
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000100
            deltaAddDelta 0.000100
            trackingScaleMult 0.100000
            }
        }
    }

actor rNostril
    {
    channels
        {
        rotateZ zRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 5.000000
            deltaAddDelta 5.000000
            }
        rotateY yRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -1.000000
            deltaAddDelta -1.000000
            }
    }

actor lNostril
    {
    channels
        {
        rotateZ zRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -5.000000
            deltaAddDelta -5.000000
            }
        rotateY yRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 1.000000
            deltaAddDelta 1.000000
            }
        }
    }

actor luCheek
    {
    channels
        {
        rotateX xRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -5.000000
            deltaAddDelta -5.000000
            }
        translateX xTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000800
            deltaAddDelta 0.000800
            trackingScaleMult 1
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000800
            deltaAddDelta -0.000800
            trackingScaleMult 0.100000
            }
        }
    }

actor ruCheek
    {
    channels
        {
        rotateX xRotate
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -5.000000
            deltaAddDelta -5.000000
            }
        translateX xTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000800
            deltaAddDelta -0.000800
            trackingScaleMult 1
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000800
            deltaAddDelta -0.000800
            trackingScaleMult 0.100000
            }
        }
    }

actor rdCheek
    {
    channels
        {
        translateX xTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength -0.000800
            deltaAddDelta -0.000800
            trackingScaleMult 1
            }
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000400
            deltaAddDelta 0.000400
            trackingScaleMult 0.100000
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.001100
            deltaAddDelta 0.001100
            trackingScaleMult 0.100000
            }
        }
    }

actor ldCheek
    {
    channels
        {
        translateX xTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000800
            deltaAddDelta 0.000800
            trackingScaleMult 1
            }
        translateY yTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.000400
            deltaAddDelta 0.000400
            trackingScaleMult 0.100000
            }
        translateZ zTran
            {
            valueOpDeltaAdd
                Figure
                BODY
                Smile
            strength 0.001100
            deltaAddDelta 0.001100
            trackingScaleMult 0.100000
            }
        }
    }

}

This should be pretty simple to write to a file from dial settings.


FVerbaas ( ) posted Tue, 02 July 2019 at 12:05 AM
Forum Coordinator

Very useful info, but one suggestion:

At the top of the PoserPython forum there is a notice saying:

You can now attach text files to your posts to pass around scripts. Just attach the script as a txt file like you would a jpg or gif. Since the forum will use a random name for the file in the link, you should give instructions on what the file name should be and where to install it. Its a good idea to usually put that info right in the script file as well.

I assume this works also for Poser content files.


an0malaus ( ) posted Tue, 02 July 2019 at 1:07 AM

FVerbaas ah, thanks for the tip. Still getting reacquainted with the forum software here and missing the convenience of @username citations and colour-coded, triple-quoted text blocks with a scrolling window.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


unrealblue ( ) posted Tue, 02 July 2019 at 6:23 AM

an0malaus posted at 9:14PM Tue, 02 July 2019 - #4355789

FVerbaas ah, thanks for the tip. Still getting reacquainted with the forum software here and missing the convenience of @username citations and colour-coded, triple-quoted text blocks with a scrolling window.

Oops, Me too. ?

(Had been away from Poser until I read about La Femme a couple of months ago, when cleaning up an old unused email account. Was intrigued. She's fun!)


unrealblue ( ) posted Tue, 02 July 2019 at 6:24 AM

And wow, I didn't realize how long that code post was (sorry) ^///^


vholf ( ) posted Tue, 02 July 2019 at 11:47 AM

Thank you all for the help. I went the other way around while using your code as a reference. I edited the cr2 with all the master parameters and stripped it of everything else, it was faster than manually writing the file for every actor. I was able to create the INJ file and it works.

I'm sure this could be automated with python but I don't currently have the time to get to it. This will do for now. Thanks!


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.