Viz Artist User Guide
Version 5.0 | Published December 20, 2022 ©
GFX Channels
Graphics (GFX) Channels allow a designer to compose several independent scenes into a new scene. Utilizing a GFX Channel, a previously created scene can be added to the current scene as a DVE or Texture.
GFX Channel Media Assets can be nested. This means a scene with a GFX Channel Media Asset containing a scene, can be used as a scene placed within another GFX Channel Media Asset. However, nested scenes cannot use the same GFX Channels as the scene they are nested into. For example, if Scene 1 uses GFX channel 1, it cannot be nested within GFX Channel 1 of Scene 2. It can however be nested within GFX channel 2.
Also, note that cropping GFX channels have an impact on the render performance. You can see a detailed description of the functionality in the Media Asset Panel.
Scene Instances
When loading scenes into GFX Channels, multiple instances of a scene may be loaded in the scene pool. For each unique scene assigned to a GFX channel, Viz Engine loads the scene once from the Graphic Hub to a so-called "template instance". Then, this scene is cloned locally into a separate instance for this GFX channel. When the same scene gets assigned again to another GFX channel, the template scene is cloned again to a new separate instance for this GFX channel. The same scene can be assigned to multiple GFX channels without interfering with each other and additional multiple lookups to the Graphic Hub are prevented.
Thus, when accessing scenes in GFX channels using the normal communication port instead of dedicated GFX ports, its not enough to specify the UUID like:
SCENE*<
45263836
-8A7F-47AC-969C7BA08E7AADC1>*TREE DO_SOMETHING
// will access wrong scene instance!
Instead, the scene should be accessed by querying the object ID first:
// query object id first
MAIN_SCENE*GFX*
1
GET_OBJECT
returns <#
998
>
SCENE*#
998
DO_SOMETHING
Note: This means that there may be additional instances of the scene, even if a scene is only loaded into one GFX channel. Do not rely on the assumption that there is only 1 instance of a scene when working on scripts or plugins.
GFX Properties
By default, a GFX Channel automatically inherits the camera settings of the Scene it is applied to. In addition to the common Media Asset properties, GFX Channels also have the following properties:
-
Scene: Drag a scene, which should be rendered in the GFX channel.
-
Play Controls: Controls the animation of the set scene.
-
Controlled: Controls the GFX Channel animation using the main or parent Scene animation controls if active. For example, if the animation in the main Scene starts, it triggers the start of the GFX Channel Scene.
-
Force Key: Renders the entire Scene as keyed if the Scene does not have any keying information. If a GFX channel is rendered as Texture, it is in RGBA. Therefore, the Scene needs to have keying information for an alpha channel (the key scene setting is set to auto key or a key plug-in is used in the Scene Tree).
-
Keep Aspect: Renders the GFX Scene with its own aspect ratio (undistorted) if set to On. The Scene is scaled to fit the GFX channel size if set to Off.
-
Camera: Selects the camera view of the GFX Channel Scene. Auto means that the current camera setting of the loaded scene is used (may also change due to animations within the loaded scene).
-
MAIN_SCENE: Inherits the camera from the main scene.
-
AUTO: Uses the camera from the local scene and supports animations in the local (nested) scene.
-
1-16: Overrides camera view (fixed).
-
-
Resolution: Defaults the GFX Channels to the resolution configured for the current Output Format in the Viz Engine configuration. To change the current resolution, click the Default Resolution button to make the Resolution X and Y fields available for input, and enter the desired resolution setting. Clicking the Default resolution again resets the resolution for the GFX Channel, as well as disable the Resolution X and Y input fields. If the Default Resolution button is in a pressed state, and the Resolution X and Y fields are dimmed, the default resolution is in use.
Note: The resolution setting only applies to GFX Channels in Texture mode.
Performance Considerations for GFX Channels
Rendering a GFX channel means typically that a second scene has to be rendered in multiple render passes. To get the best performance out of this, please consider a few hints:
-
GFX channels can be rendered in three internal modes (from fastest to slowest):
-
The scene is directly rendered on top of the main scene, using the correct size as needed.
-
The scene is rendered in a temporary texture (using the correct size) and this texture is blended into the main scene (needed when render sequence of nested scene is Overlay, or resulting texture is used with alpha < 1.0 in main scene).
-
The scene is rendered in a temporary texture (using full render size) and this texture is blended and scaled down into the main scene (needed when inner scene contains Defocus, Glow, or a Magnifier).
-
-
This leads to two main performance tips:
-
If your nested scene is a fullscreen scene, make sure that you are using render sequence Fullscreen instead of using Overlay.
-
Consider if you really need postprocessing effects Defocus, Magnifier or Glow in your nested scene, especially if the GFX channel is scaled down in your main scene.
-
Info: Some post effects in the Viz Classic Render Pipeline are only available if the GFX channel has the same size as the render output, otherwise they are disabled automatically.