image-20240919-105201.png

The Control Parameter plug-in works with function plug-ins, and is a very flexible plug-in that can be used to control properties that are not exposed in a specific plug-in, and requires some knowledge in the Viz Artist command language. The parameter to control must be identified by its command path relative to the container Control Parameter is located at. To find the correct command path, open the Show Commands window (button in the lower left corner in Viz Artist) and make changes to the parameter to control. The command path is shown among the commands. For instance if the value to be changed is the alpha value in an alpha editor the command window shows the following: receive <-1 SCENE*noname*TREE*#805*ALPHA*ALPHA SET 99.0>

#805 is the internal name for the container and the part needed to expose the alpha parameter (ALPHA * ALPHA). The SET part is added by Control Parameter. To expose the alpha parameter for a container write ALPHA * ALPHA in the Parameter section in the plug-in and then set the correct data type which in this case is “Float”.

Another example would be to use Control Parameter to expose and control additional values like controlling both Pie Max and Max Value. These parameters are dependent on each other, but both values are not exposed unless the Control Parameter is used. Adjusting the Pie Max value gives the following: receive <5679 SCENE*noname*TREE*#378*FUNCTION*PieValues*DATA GET>

In this case, the FUNCTION*PieValues*DATA is the parameter that exposes the object property Pie Max so it can be controlled through a template.

Note: This plug-in is located in: Plugins -> Container plug-ins -> Control

Control Parameter Properties

  • Parameter: Sets the parameter path to the property to enable control for.

  • Input Value: Shows the current input value.

  • Data Type: Sets correct data type depending on the type of parameter to enable control for.

  • Normalize: Enables normalization options, to normalize the input range for the Viz Trio user.

  • Minimum Input: Sets the minimum allowed input value.

  • Maximum Input: Sets the maximum allowed input value.

  • Minimum Value: Sets the minimum value, which is set relative to the minimum input value.

  • Maximum Value: Sets the maximum value, which is set relative to the maximum input value.

  • Prefix: Adds a prefix to all values that are sent to the renderer. This can be used to show specific text or it can be used to add a path to an object pool for instance.

  • Control Parent: Controls the parent container when enabled.

Shared Memory Placeholders

Control Parameter supports Shared Memory placeholders. Placeholders can be described by ${shm_key}, where shm_key is the name of a Global Shared Memory Map. You can also define a default value by adding a pipe and the value. For example: ${shm_key,1.0}, where "1.0" is used as default value if the Shared Memory Map is empty or does not exist.

Shared memory maps can be accessed and changed in various ways, like an external command, script etc...

Example

This applies a value to the Y scaling of the container with 1.0 as default value. By sending GLOBAL*MAP SET_DOUBLE_ELEMENT my_scale 2.0,the scaling changes to 2.0.

See Also