Viz Artist User Guide

Version 5.2 | Published March 20, 2024 ©

Control Objects on Unreal Engine

This feature allows exporting several parameters (float, textures, string, etc.) on Unreal Engine through specialized Actors. These parameters can then be accessible through Viz Engine and updated using the ordinary Control Objects functionality. Currently, we support ControlAnimation, ControlImage, ControlText and ControlMaterial.

A sample Unreal Engine level is provided with the Vizrt Media plug-in. You can find it at /Plugins/VizrtMedia/Content/SampleScenes/ControlObjects.

The following instructions use the Viz Artist user interface, but control objects can also be used by Viz Trio using Tab Fields.

Setup Control Objects in Viz Engine

  1. Create a scene with a single container.

  2. Add a ControlObject plug-in.

  3. Enable Show Advanced > Bind with Unreal Engine.

    images/download/attachments/130568454/bind.PNG

Control Image

  1. In Unreal, add a Vizrt Control Image actor to the world.

    images/download/attachments/130568454/controlimage.PNG
  2. In the Content Browser, right click and create a Vizrt Texture. You can rename it to SampleTexture.

    images/download/attachments/130568454/newvizrttexture.PNG
  3. Select the newly created VizrtControlImage actor and go to Details.

  4. In Control > Field Identifier set a name. This identifies the control object Field name in Viz Engine. In Control > Textures add the VizrtTexture created before. Its Control > Location property receives the image location from the Viz Engine Control object.

    images/download/attachments/130568454/controlimagedetails.PNG
  5. In Viz Engine go to the Control tab. Select Control Objects.

  6. The control object for the Unreal ControlImage is shown. If not. click the Refresh UE Control Objects button in the Control Object plug-in.

    images/download/attachments/130568454/refreshcontrol.PNG
  7. Set the Value of the Location field of the control object to an image UUID or Graphic Hub path.

    images/download/attachments/130568454/controlobjectimage.PNG


    If the control objects are not visible click on the main button.

    images/download/attachments/130568454/main.PNG
  8. In Unreal, drag the VizrtTexture to an actor. For example, a cube.

    images/download/attachments/130568454/dragvizrttexture.PNG

Control Text

  1. In Unreal, add a Vizrt Control Text actor to the world.

    images/download/attachments/130568454/addcontroltext.PNG
  2. Select the newly created Vizrt Control Text actor and go to Details.

  3. In Control > Field Identifier set a name. This identifies the control object Field name in Viz Engine.
    In Control > Actors, specify an Unreal actor which receives the text from the control object. For example a Text3D actor. The Control > Text property receives the text from the Viz Engine Control Object.

    images/download/attachments/130568454/controltextdetails.PNG
  4. In Viz Engine, go to the Control tab. Select Control Objects.

  5. The control object for the Unreal ControlText is shown. If not, click the Refresh UE Control Objects button in the Control Object plug-in.

  6. Set the Value of the Text field of the control object.

    images/download/attachments/130568454/controlobjecttext.PNG
  7. The Unreal Text3D actor updates its text.

    images/download/attachments/130568454/text3dactor.PNG
  8. It's possible to limit the number of displayed characters using the MaxChars field of the control object.

    images/download/attachments/130568454/controlobjecttextmaxchars.PNG

Control Material

  1. In Unreal, add a Vizrt Control Material actor to the world.

    images/download/attachments/130568454/addcontrolmaterial.PNG
  2. Select the newly created VizrtControlMaterial actor and go to Details.

In Control > Field Identifier set a name. This identifies the control object Field name in Viz Engine. In Control > Actors, specify the Unreal actors which are to have their materials changed by the Control Object. For example, specify a Cube actor (in this case named CUBE TO SET).
images/download/attachments/130568454/controlmaterialdetails.PNG
In Control > Textures, specify images of type VizrtTexture which links to a parameter of type TextureSampleParameter2D in the actor material. The Texture Parameter field must have the same name as the material parameter in the target actor.
images/download/attachments/130568454/textures.PNG

To Setup the Unreal Material Parameter: To create the matching parameter in the material, double click the material applied to the target actor to open the material editor.
Create a TextureSample2D parameter by double clicking in the empty space of the material editor, searching for texturesampleparameter2d and selecting TextureSampleParameter2D
images/download/attachments/130568454/createtexture.PNG
Rename the parameter to match the Texture Parameter specified above. In this case it was named BaseColorTexture.
Drag the RGBA node of the parameter and connect it to Base Color in the material.
images/download/attachments/130568454/texturesample.PNG

In Control > Vectors specify a color/vector which links to a parameter of type Vector in the actor material. The Color Parameter field must have the same name as the material parameter in the target actor.
images/download/attachments/130568454/vectors.PNG

To Setup the Unreal Material Parameter: To create the matching parameter in the material, double click the material applied to the target actor to open the material editor. Create a Vector parameter by double clicking in the empty space of the material editor, searching for vector and selecting VectorParameter.
images/download/attachments/130568454/createvector.PNG
Rename the parameter to match the Color Parameter specified above. In this case it was named EmissiveColorVector. Drag the RGBA node of the parameter and connect it to Emissive Color in the material.
images/download/attachments/130568454/colorvector.PNG

In Control > Floats, specify a float number which links to a parameter of type float in the actor material. The Float Parameter field must have the same name as the material parameter in the target actor.
images/download/attachments/130568454/floats.PNG

To Setup the Unreal Material Parameter: To create the matching parameter in the material, double click the material applied to the target actor to open the material editor. Create a Scalar parameter by double clicking in the empty space of the material editor, searching for scalar and selecting ScalarParameter.
images/download/attachments/130568454/createfloat.PNG
Rename the parameter to match the Texture Parameter specified above. In this case, it was named EmissiveIntensityFloat. Drag the output node of the parameter and connect it to the rest of the graph. In this case it is connected to a Multiply node that scales the intensity of the emissive color parameter.
images/download/attachments/130568454/floatparameter.PNG

Note: Inspect the material M_Cube present in the sample scene /Plugins/VizrtMedia/Content/SampleScenes/ControlObjects for a material with parameters matching the steps above.

  1. In Viz Engine, go to the Control tab. Select Control Objects.

  2. The control object for the Unreal ControlMaterial is shown. If not, click the Refresh UE Control Objects button in the Control Object plug-in.

  3. Set the Value of the corresponding fields of the control object to an Unreal VizrtTexture name, a vector (in the form of a packed integer) and a float.

    images/download/attachments/130568454/controlobjectmaterial.PNG
  4. In Unreal, the target actor, in this case a cube, is updated.

    images/download/thumbnails/130568454/cube.PNG

Control Parameter

  1. In Unreal Engine, add a Vizrt Control Parameter actor to the world.

    images/download/thumbnails/130568454/image-2023-7-5_14-41-8.png
  2. Select the newly created VizrtControlParameter actor and go to the Details panel.

  3. In Control > Field Identifier set a name. This identifies the control object Field name in Viz Engine.

    images/download/attachments/130568454/image-2023-7-5_14-44-2.png
  4. In Viz Engine, go to the Control Objects panel.

  5. The control object for the Unreal ControlParameter is shown. If not, click the Refresh UE Control Objects button in the Control Object plug-in.

  6. In order to receive updates for ControlParameters on Unreal Engine, we need to setup a Blueprint script, either as a Level Blueprint or as a Blueprint Actor.

    Note: All the received key:value are logged into the screen. Therefore, you can use the new key:value to modify a specific property of a specific Actor you control.

    images/download/attachments/130568454/image-2023-7-5_15-5-14.png

  7. Set the Value field of the control object.

    images/download/attachments/130568454/image-2023-7-5_14-50-38.png
  8. Unreal will log the new value for the ControlParameter on screen.

    images/download/attachments/130568454/image-2023-7-5_15-3-20.png

Note: Instead of listening for all ControlParameter updates, you can listen to a specific Field Identifier.

The example below shows how this can be done, and use the received Value to set the Text property of an Actor.

images/download/attachments/130568454/image-2023-7-5_15-39-4.png
images/download/attachments/130568454/image-2023-7-5_15-47-9.png

Control Animation

The control object for the control animation is not yet available in Viz Engine.