Notch Notch Manual 0.9.23
 Light | Dark
Optimisation tools for Virtual Production

Optimisation tools for Virtual Production

Freeze Geometry #

Just like using Lego, the best way to create most virtual production scenes is by using modular building blocks. By using smaller blocks, you gain much greater flexibility on-set and during the creation process.

However, GPUs aren’t very performant when dealing with lots of small pieces of geometry. Instead, they like small geometry blocks combined into fewer big pieces of geometry.

So how do you do this without losing creative & on-set flexibility? That’s what the Freeze geometry node does for you. By attaching your smaller objects to a Freeze geometry node, it reduces the number of meshes the GPU has to process separately. It also reduces the number of ‘Bake Lighting Nodes’ needed as you can bake lighting on the “Freeze Geometry” node rather than all the child objects underneath.

The combination of combined geometry and higher-level baked lighting brings significant CPU & GPU performance savings.

Once your scene has been finalised, and all materials and baked lightmaps are working:

  • Connect groups of the 3D object nodes that you wish to optimise to the input on the Freeze geometry node.
  • The meshes hooked up to the Freeze geometry node will be combined as one object
  • Then add a baked lightmap to the Freeze geometry node and bake lighting as normal

To ‘unfreeze’ disable the “Freeze geometry” node.

See: Freeze Geometry for more details.

Download the “Freeze Geometry example dfx here”:freezegeo-arch.

Bake Lighting #

No matter what tool you’re working with, baking in a scenes static lighting is a vital part of getting performant & high fidelity outcomes.

Baking static lighting allows you to pre-compute very high-end lighting techniques like multi-bounce path tracing in a real-time setup. Once the lighting is baked, there is a negligible overhead in real-time render performance as the lighting will be baked into the scene using textures instead of being rendered on the GPU.

One of the key advantages of Notch is that you can re-bake selections or all of your scenes lighting at run-time & on-set via our live network editing functionality. As a result, you can adjust any aspect of your scene as per the director’s requests.

Light baking requires your 3D assets to have a well-formed UV map (lightmap), so the lighting can be baked down into a texture and uses the Bake Lighting to Object node.

See Bake Lighting for more details.

Reflections #

Notch provides multiple ways of achieving reflection.

Raytraced Mirror reflections Screen Space reflections Pathtraced reflections
rtmirrorreflections ssreflections pathtracedreflections

Raytraced Mirror reflections #

RT mirror reflections provide excellent one bounce raytraced reflection. Reflections can be rendered at full or half resolution allowing for performance optimisation as required.

The RT Mirror reflection node contains specific features to reflect alpha-blended geometry, which makes it great for use with the Chroma key node. In green screen setups, this enables high-quality reflection of your presenter/talent on stage floors and more.

See Raytraced Mirror reflections for more details.

Screen Space Reflection #

Screen Space Reflection (SSR) is a reasonably cheap technique for producing fairly realistic reflections. There are, however, are a few limitations of this technique. Specifically: SSR will not show up on alpha-blended surfaces.

See Screen Space Reflection for more details.

Path traced reflections #

While Pathtraced reflections provide the highest quality and most realistic of reflections (with handling for multi-bounce and transparency), they are not generally performant enough for real-time applications. As GPU performance increases, path traced reflections may become a part of the real-time (60fps) toolkit.

See Pathtraced reflections for more details.

Cache Materials #

One of the powerful features of Notch to generate or alter the textures that drive materials procedurally. However, once you’ve locked in your material, you may not want to chew up performance on those upstream input nodes.

‘Cache Material’ essentially caches the materials texture inputs, removing the performance overhead of the upstream nodes.

Once you have created a material, you can cache the material by right-clicking on the material and selecting either ‘Cache Material’, ‘Cache all Materials’ or ‘Cache Selected Materials’. The nodes feeding into the material will be unhooked (and can be deleted). New textures will be generated directly into the material node.

See Cache Materials for more details.

FX Player host application #

FX Player is a small application that can open & run Notch blocks to test the performance on your hardware/media server.

  • The application is included as part of the Notch Builder install and can be found at C:\Program Files\Notch\FXPlayerHostD3D11_x64.exe
  • Once you’ve opened your block, you can choose the target resolution you wish to render at
  • When running, you can see the time to render on the GPU in milliseconds and an ’effective framerate’ if only the Notch block was consuming GPU time.
Please note this application is best run with all other applications turned off to give a more accurate performance profile.