Free Stuff‎ > ‎


Parmatic Version 2
by Bagginsbill
(Note: The text here is also in the Parmatic2ReadMe.txt file inside the zip)

These scripts are in the public domain. Do whatever you want with them or any part of them!

These scripts will scan your materials in a figure or prop, create actor parameters for them, then update *ALL* the materials as you adjust the parameters IN REAL TIME!

Nodes in your shader tree that are to be parameterized must be named a special way. The name must begin with PM: and be followed by a node name. Following the node name, separated by another :, is an optional list of input names. Input names should be separated by commas. If you want all numeric inputs, use a * for the input list.

Some examples:

This creates a parameter with the name PM:Foo

Same as before, because Value_1 is assumed if not supplied.
This is the most common way to parameterize a math node.

On a blend node, this would create a parameter PM:Makeup:Blending for the blend strength.

On an hsv node, this would create parameters for PM:HSV:Hue, PM:HSV:Saturation, PM:HSV:Value. The * is often needed because Poser seems to limit a nodes name to 29 characters.

On a specular node, this would expose those two inputs as Parmatic parameters.

NOTE: Because Poser parameters can only be numbers, not colors, Parmatic can ONLY manage numeric node parameters.


Unzip the the files directly into your MAIN RUNTIME. Python scripts don't work in other runtimes. Don't compress the parmatic folder - Python scripts don't work when compressed.

Verify that the files end up in your runtime in this location:

Poser X:Runtime:Python:parmatic

In that folder you should find the following files:

The file is a Python buttons window menu. Run it to load the parmatic buttons.

--- USE

To use, load a prop or figure. Select the prop or figure containing the parameterized materials, and run the Parmatic Updater. (Using the Python window button).

The updater installs the parmatic callback functions and creates parameter dials on your prop or figure. If using a figure, the dials always go to the BODY actor.

You do not need to run the updater over and over. You need only run it once per Poser session.

When you restart Poser, you must run the updater at least once.

The updater will learn what parameters your materials define, and create parameter dials for you, copying the current value into each.

After that, just spin the dials and render!

If you change materials and the parameters aren't the same, reselect the right actor and run the script again to relearn the parameters.

Any old parameters no longer used by the newest material will be deleted.

When you load materials, the current dials don't change. If you want to load materials and discard your current dial settings (taking values from the material instead) then you should use the Delete Parameters script. This will remove them from your prop or figure. Then run the updater again to learn the current values from the materials.

Parmatic can create pz2 files (mat pose files) for you with the current dial settings saved in the file. Then later, you can recover those dial settings by double clicking the saved pz2 from your pose library.

Select the prop or figure and run Save Parameters. You will be prompted to pick a save file folder and name. (The prompt save "Scene" but its really just your parmatic parameters.)

Select a folder in your pose library, type in a file name (or click an existing one) and hit OK.

You don't need to add .pz2 to the name - parmatic will do that if you type a name in with no periods.

The saved pz2 file does not have a preview icon - if you want to make one, do a render with a size of 91 by 91 pixels, and save it as a png with the same name as the pz2, in the same folder. Then refresh your library window.

Parmatic records the last folder you saved into in the file lastSavePath.txt - and the next time you save parameters, it will go back to that folder.

Ted Czotter,
May 5, 2009, 12:52 PM