Visualizing Unreal Scenes in NukeX (Beta)

The UnrealReader node connects NukeX to Unreal Editor using the Nuke Server plug-in. UnrealReader makes it quick and easy for you to generate live renders from Unreal Engine and control the results in NukeX, by breaking objects into layers, separating passes, building environment maps, and tweaking shot framing.

All images courtesy of Epic Games Subway Sequencer project, available in Unreal Editor from the Epic Games Launcher.

UnrealReader synchronizes NukeX with a sequence in your Unreal Map and streams render passes directly into NukeX. UnrealReader connects over a TCP/IP connection, allowing Unreal Editor to be running on the same machine as NukeX or on another machine, even across different operating systems. Under the hood, UnrealReader incorporates Unreal’s Movie Render Queue system to provide an interactive compositing-oriented workflow directly inside the NukeX toolset.

In order to use UnrealReader, you require a NukeX or Nuke Studio license. You must also first install a plug-in called Nuke Server.

Installing Nuke Server to Connect Unreal Engine and NukeX

To install the Nuke Server and connect Unreal Editor to NukeX, follow along with this short installation video or scroll down for step by step guidance.

  1. Download the Nuke Server plug-in for your operating system from https://www.foundry.com/products/nuke/download/unreal-nuke-server

  2. Note:  You must be using Unreal Engine version 4.27.1.

  3. Extract the contents of the archive and copy the Foundry subfolder to your Unreal plug-ins location. The default Unreal Engine installation locations are:

  4. Windows

    C:\Program Files\Epic Games\UE_4.27\Engine\Plugins

    macOS

    Macintosh HD/Users/Shared/Epic Games/UE_4.27/Engine/Plugins

    OR

    /Applications/Epic Games/UE_4.27/Engine/Plugins

  5. Open your Unreal Engine project, then use the search functionality to find and then enable the Nuke Server plug-in under Edit > Plugins.

  6. Enable the plug-in and restart Unreal Engine if requried.

  7. Open the Nuke Server panel in Unreal Editor from Window > Nuke Server.

  8. Click Start Server in the Nuke Server panel to start the server connection to Nuke.

  9. Note:  You can change the port number here if required, but make sure that you use the same port number in the UnrealReader node.

  10. In Nuke, create an UnrealReader node and connect it to your running Unreal Editor session using the same port number.

  11. Note:  If you're running NukeX and Unreal on the same machine, the default values connect automatically.

    The Unreal Engine project is now connected to NukeX.

Choosing Unreal Maps and Sequences in NukeX

Nuke Server gives you the choice of which Map and Sequence to view from the live Unreal Editor session. You can select individual shot sequences or a master sequence to bring into Nuke's Viewer.

Selecting Unreal Maps in NukeX.

Selecting Unreal Sequences in NukeX.

Loading the Render Passes You Need

In the node Properties panel on the Render Passes tab, select which passes to bring in from Unreal and then click Update Channel List to bring in the channels you need for your work. If you need to add or remove channels, check and uncheck the required Unreal passes and click Update Channel List to update the channels in the NukeX script.

Matching and Overriding Unreal Cameras

You can create a linked or unlinked camera that matches the Unreal sequence camera to integrate new elements into the scene, visualize the scene through point clouds, and enable comp of elements in 3D. In the node Properties panel on the Camera tab, click Create Camera to add the camera to the scene.

Note:  Linked cameras allow you to update the camera in NukeX with any changes applied in the Unreal Editor session when you click UnrealReader > Fetch Latest in the node Properties. Unlinked cameras do not update, they retain the camera settings as they were when the Camera node was created.

If you want to render from a certain angle in NukeX without updating the Unreal Editor project, you can override the Unreal camera’s translation and rotation at render time, directly from Nuke, by connecting a Nuke Camera node to the UnrealReader's Camera input. This is a non-destructive override that does not persist in the Unreal Editor project file.

Loading Stencil Layers

You can render individual Unreal actors in their own layers to remove occluding foreground elements, use dynamic shadows, and select which render passes are generated with stencil layers. This gives you the flexibility to generate mattes for specific objects, or to layer up objects, piece-by-piece, as you would in a traditional composite.

To get alpha channels that match your stencil passes, you must enable the following setting in Unreal:
Edit > Project Settings > Engine - Rendering > Postprocessing > Enable alpha channel support in post processing (experimental) > Linear color space only.

Note:  You must restart Unreal Editor for this option to take effect.

To add stencil layers to the Nuke script, in the node Properties panel on the UnrealReader tab, set the Render Mode to stencil layers.

Next, in the node Properties panel on the Stencil Layers tab, select which layers to bring in from Unreal and then click Update Channel List to bring in the channels you need for your work. If you need to add or remove channels, check and uncheck the required Unreal layers and click Update Channel List to update the channels in the NukeX script.

Rendering Using Unreal Movie Render Queue from NukeX

NukeX uses the Unreal Engine Movie Render Queue from within the Write tab to render your shots, but UnrealReader creates a Read node that references the render automatically by default. Files are written to a location on the machine running Unreal Editor, specified by the File control in the node Properties > Write tab.

Important Information on Running Nuke Server

UnrealReader requires a NukeX or Nuke Studio license with valid maintenance.

The Nuke Server plug-in supports Windows and macOS and Unreal 4.27.1.

Article:  If you are running a customized build of Unreal Engine and have issues loading the Nuke Server plug-in, please see this article for more information:
https://support.foundry.com/hc/en-us/articles/4410634179858

You can connect multiple Unreal sessions to Nuke using several UnrealReader nodes. Connecting Unreal to Nuke between two separate machines and connecting multiple Unreal sessions simultaneously has not been tested for all combinations of operating systems.

The UnrealReader does not work when Unreal Editor is in Play Mode.

To get alpha channels that match your stencil passes, you must enable the following setting in Unreal:
Project Settings > Engine - Rendering > Postprocessing > Enable alpha channel support in post processing (experimental) > Linear color space only

The extended stencil layer output is still experimental and some minor bugs are known. More refinements will be added in a future release.