Forum: Poser - OFFICIAL


Subject: A Compendium of PZ2 Techniques.

lesbentley opened this issue on Mar 31, 2008 · 137 posts


lesbentley posted Wed, 30 April 2008 at 10:31 AM

Hidden (Part 1).'hidden 1' and 'hidden 0'. Hide actors from menu, or dials from parameter pallet.

Loosely speaking we often use the word "hide" to mean hide an element from the scene. However, the hidden switch (or "flag") should not to be confused with the visibility switch. In Poser script the on/off switch is used to control visibility of actors (body parts or props) in the document (scene) window, and the 'displayOn' switch in the 'figure' section is used to turn visibility off or on for the entire figure.

The 'hidden' switch has a different purpose, it does not hide anything from the document window. The 'hidden' switch is used to hide actors or dials from the menus and pallets. 'hidden 1' is used to hide something, and 'hidden 0' to display it.


**The use of 'hidden' in channels.**This pz2 file will hide all the rotate dials in the hip from the parameters pallet, you may have to select some different actor, then reselect the hip to refresh the pallet and make the dials hidden:

version
    {
    number 3.00
    }

actor hip
        {
        channels
                {
                rotateY yrot
                        {
                        hidden 1
                        }
                rotateX xrot
                        {
                        hidden 1
                        }
                rotateZ zrot
                        {
                        hidden 1
                        }
                }
        }

figure
        {

        }
}

You will still be able to manipulate the rotate of the actors via the Rotate or Twist Tool and mouse. If you wanted to stop the influence of the mouse, you could force limits and set 'min' and 'max' to zero (or some other value). For P5 or above you can make generic hide or unhide poses that will work on any actor, prop, light, or camera, eg:

{
version
    {
    number 5
    }

actor $CURRENT
        {
        channels
                {
                translateX xtran
                        {
                        hidden 0
                        }
                translateY ytran
                        {
                        hidden 0
                        }
                translateZ ztran
                        {
                        hidden 0
                        }
                }
        }
}

In a figure, the translate channels of most actors are hidden, you can use the above pose to unhide them. You can do the same for scale channels. The file below may be useful for V4, where I hear that the scale channels are hidden by default.

{
version
    {
    number 5
    }

actor $CURRENT
        {
        channels
                {
                scale Scale
                        {
                        hidden 0
                        }
                scaleX xScale
                        {
                        hidden 0
                        }
                scaleY yScale
                        {
                        hidden 0
                        }
                scaleZ zScale
                        {
                        hidden 0
                        }
                }
        }
}

**The use of 'hidden' in actors.**The 'hidden' switch can also be used in actors, placed before the 'channels' section it will hide the entire actor from menus and pallets. When used in the actor 'hidden' performs the extra function of hiding the actor from the influence of the mouse in the document window. Here is a pose to hide the hip:

{
version
    {
    number 3
    }

actor hip
        {
        hidden 1
        }
}

Here is a generic version to hide the selected actor, prop, light or camera: { version { number 5 }

actor $CURRENT
        {
        hidden 1
        }
}

NOTES:
Poses will still work as normal when an actor or channel is hidden. When an actor or channel is hidden, it is still accessible through the Hierarchy Editor. Selecting a hidden actor in the Hierarchy Editor will force it to display in the parameters pallet and menus, selecting a hidden channel in the Hierarchy Editor (using 'Show All Parameters') will display the dial in the parameters pallet. When a different actor is selected the dial or actor will revert to its hidden status.

If some hidden actor was the selected part when a figure was saved, that actor will be unhidden when the figure is reloaded, but will revert to hidden as soon as some other actor is selected.

The 'targetGeom' (morph) channel is a special case. A pose file can hide a  'targetGeom'  channel for the current session, but if the channel contains deltas it will display again after a reload. If a 'targetGeom' channel that contains no deltas is hidden it will remain hidden. When Poser reads the deltas in a 'targetGeom' channel this will unhide the channel. There are a number of events that will cause reading of the deltas, and thus unhiding of the channel, these include:

Reloading a pz3.
Reloading a figure that was saved to a Figures pallet (same applies to a pp2).
Injecting deltas into the channel.

If you want a figure to load with morph channels hidden, you can place the 'hidden 1' at the very end of the channel, after the deltas, just above the closing brace for the channel, but any of the events above will still cause the channel to display.


To be continued...