lesbentley opened this issue on Mar 31, 2008 ยท 137 posts
lesbentley posted Mon, 31 March 2008 at 7:57 PM
OK, here are some example pz2 (pose) files.
Make actors INVISIBLE:
{
version
{
number 3
}
actor leftEye
{
off
}
actor rightEye
{
off
}
actor head
{
off
}
Figure
{
}
}
Make actors VISIBLE: {
version
{
number 3
}
actor leftEye
{
on
}
actor rightEye
{
on
}
actor head
{
on
}
Figure
{
}
}
Lock actors: {
version
{
number 3
}
actor hip
{
locked 1
}
actor abdomen
{
locked 1
}
actor chest
{
locked 1
}
Figure
{
}
}
The pz2 file to unlock actors is exactly the same, except it uses "locked 0" in place of "locked 1". - - - - - -
A pz2 to scale the BODY actor to 200%. {
version
{
number 3
}
actor BODY
{
channels
{
propagatingScale scale
{
keys
{
k 0 2
}
}
}
}
Figure
{
}
}
NOTES: - - - - - -
Most figures use "propagatingScale" for the channel type in the BODY actor, and "scale" in all the other actors. Note the upper case "S" in "propagatingScale". - - - - - -
A pz2 to scale the 'head' actor to 150%. {
version
{
number 3
}
actor head
{
channels
{
scale scale
{
keys
{
k 0 1.5
}
}
}
}
Figure
{
}
}
Note that in a scale channel the number on the left of the decimal point represents hundreds, the number on the right of the point represents ten's. So "0.9" would be a scale of 90%, and "0.0525" would be a scale of 5.25%. The default value of a scale channel is "1.0" which is 100%. - - - - - -
**Forcing Limits.**In Poser's Figure menu you have an option to "Use Limits", when this option is turned on all channels in the scene are constrained between the values set by the 'min' and 'max' lines in the particular channel. "Use Limits" is a global switch, when turned on it applies to everything in the document (scene). You could use a pose to set this switch:
{
version
{
number 3
}
doc
{
useLimits 1
}
}
There is little point in the above pose, as you can easily turm the feature on or off from the Figure menu. However some times you may want to set limits for some channels but not for the whole document. For this you can use the 'forceLimits' line in the individual channels, a value of 1 turns it on a value of 0 turns it off. Lets take an example. Say you have a figure with an alien head morph. The eyes have had to be moved to fit the morphed position of the eye sockets. All is well until you come to apply a stock pose to the figure. Because the stock pose contains data for the translate channels, it resets the translations of the eyes to zero. How can you prevent this? One way is to force the limits on the translate channels, as in the pz2 below (I will show a different way to overcome this problem later).
A pz2 to force limits for translations of a figure's eyes:
{
version
{
number 3
}
actor leftEye
{
channels
{
translateX xtran
{
forceLimits 1
min 0.002
max 0.002
}
translateY ytran
{
forceLimits 1
min 0
max 0
}
translateZ ztran
{
forceLimits 1
min 0.00311
max 0.00311
}
}
}
actor rightEye
{
channels
{
translateX xtran
{
forceLimits 1
min -0.002
max -0.002
}
translateY ytran
{
forceLimits 1
min 0
max 0
}
translateZ ztran
{
forceLimits 1
min 0.003125
max 0.003125
}
}
}
Figure
{
}
}
The pose files in the examples each tend to do one thing, but there is nothing to stop you mixing and matching, you can carry out many functions in a single pose file. I hope to add some more examples of pz2 files soon.