Forum: Poser - OFFICIAL


Subject: Several questions about the contents of .pz2 files

ElZagna opened this issue on May 17, 2011 · 18 posts


ElZagna posted Tue, 17 May 2011 at 8:18 PM

I've been trying to figure out what's going on inside certain Poser files, in particular .pz2 files, and in even more particular the .pz2 files that inject body morphs into V4. The first thing I noticed is that different vendors take vastly different approaches to creating their characters. That's one question, but I'll get to it later. First I want to look at the injection pose file for FRAD's Jessie called !!!Jessie INJ.pz2, and its sister !!!Jessie REM.pz2.

It starts off with 33 readScript commands like this:

    readScript ":Runtime:libraries:!DAZ:Victoria 4:Deltas:Morphs++:InjDeltas.FBMBodyBuilder.pz2"
    readScript ":Runtime:libraries:!DAZ:Victoria 4:Deltas:Morphs++:InjDeltas.FBMDefinition.pz2"
    readScript ":Runtime:libraries:!DAZ:Victoria 4:Deltas:Morphs++:InjDeltas.FBMFitness.pz2"
    ...

These call DAZ scripts that are just other .pz2 files, and these scripts load the morph targets that Jessie will be using. (I think I'm using the terminology right.)

The next thing are 33 valueParms for the BODY actor which correspond exactly to the 33 readScript lines. These basically turn the dials to the settings that make Jessie look like Jessie. Like this:

actor BODY { channels {
    valueParm FBMBodyBuilder            { keys { k 0 0.1 } }
    valueParm FBMDefinition             { keys { k 0 0.3 } }
    valueParm FBMFitness                { keys { k 0 0.5 } }
    ...

(I've taken some liberties with the formatting to get things on one line.)

So far, so good. Next comes "dial turning" for specific body parts like hip, abdomen, rCollar, rHand, etc. Here is the one for hip:

actor hip { channels {
    targetGeom PBMHipsCrest            { keys { k 0 -0.3 } }
    targetGeom PBMHipsSize             { keys { k 0 0.3 } }
    targetGeom PBMGenitalCrease        { keys { k 0 0.8 } }
    targetGeom PBMGluteCreaseR         { keys { k 0 0.1 } }
    targetGeom PBMGluteCreaseL         { keys { k 0 0.1 } }
    targetGeom PBMGlutesDimpleDepth    { keys { k 0 0.2 } }
    targetGeom PBMCC_50                { keys { k 0 0,  k 0 1,  k 0 1 } } } }

Notice that now you are setting targetGeoms instead of valueParms, and notice that the last one is PBMCC_50 and that the key settings are not like the rest. PBMCC_50 is always the last one for each of the specific body part actors except for three - the neck which is PBMCC_70 and rHand and lHand which don't have a PBMCC_ target.

Finally there are 13 settings for the actor bodyMorphs:

actor bodyMorphs { channels {
    targetGeom FBMBodyBuilder          { keys { k 0 0.1 } }
    targetGeom FBMDefinition           { keys { k 0 0.5 } }
    targetGeom FBMFitness              { keys { k 0 0.5 } }
    targetGeom FBMYoung                { keys { k 0 0.2 } }
    targetGeom FBMVoluptuous           { keys { k 0 0.1 } }
    targetGeom PBMArmSize              { keys { k 0 0.2 } }
    targetGeom PBMBicepsFlex           { keys { k 0 0.3 } }
    targetGeom PBMForearmsThickness    { keys { k 0 0.1 } }
    targetGeom PBMTorsoThickness       { keys { k 0 -0.3 } }
    targetGeom PBMThighsTone           { keys { k 0 0.2 } }
    targetGeom PBMShinsThickness       { keys { k 0 0.2 } }
    targetGeom PBMFeetArch             { keys { k 0 0.5 } }
    targetGeom PBMFeetForShoe          { keys { k 0 0.8 } } } } }

Each of these targetGeoms corresponds to one of the 33 readScripts and valueParms for the BODY actor, but that leaves 20 that aren't covered. Furthermore most of the 13 key settings match up with their corresponding BODY settings, but not always. E.g., for FBMDefinition the bodyMorph key is set to {k 0 0.5} while for BODY the key is set to {Key 0 0.3}. 

OK, now for the questions.

  1. What's the difference between valueParm and targetGeom?

  2. What's up with the PBMCC_50 stuff?

  3. What's up with the bodyMorphs actor? Why are some of the targets for the BODY actor left out? Why do some of the keys not match up?

Well, that's enough for now. I'll save the other questions for another thread.



OS: Windows 10 64-bit, Poser: 10