UnrealReader (Beta Feature)

The UnrealReader node connects NukeX to an Unreal Editor session. It makes it quick and easy for compositors to work with pixels coming out of Unreal Editor by breaking objects into rendering layers, pulling AOVs, building environment maps, and making tweaks to shot framing.

Inputs and Controls

Connection Type

Connection Name

Function

Input

Camera

An optional input to add a render camera so that the Unreal scene is rendered using the input camera's translation and rotation and not the camera inside the Unreal sequence.

Note:  You can only override translation and rotation from Unreal, the other camera values are unaffected.

This is a non-destructive process, the render camera does not overwrite the camera in Unreal Engine.

Control (UI)

Knob (Scripting)

Default Value

Function

UnrealReader Tab

Server

Host Name

clientHostName

127.0.0.1

If Unreal Editor is running on a remote machine, enter the IP address of the machine here.

If Nuke and Unreal are running on the same machine, the default address is correct.

Port

clientPort

9000

If Unreal Editor is running on a remote machine, enter the port the machine is listening on here.

If Nuke and Unreal are running on the same machine, the default port is correct.

Fetch Latest

fetchLatestBtn

N/A

Click to retrieve the latest updates from the Nuke Server and populate the following fields:

Maps

Sequences

Linked Camera Output

Available Object ID Passes

Server Version

serverVersion

none

Displays the version of Nuke Server you're running under.

Project Path

projectPath

none

Displays the file path to the Unreal Editor project you're working with currently.

Map

map

none

Selects the map to use for rendering in Unreal Editor.

Sequence

sequence

none

Selects the sequence to use for rendering in Unreal Editor.

General

Image Format

imageFormat

dependent on Project Settings

Sets the resolution of the script in Nuke.

Overscan

overscan

0

Sets the number of pixels to render outside Nuke's bounding box.

Scene Units

sceneUnits

nuke

Sets the unit of measure for objects in the scene, either Nuke standard or Unreal Editor.

Frame Range

startFrame

-1

The first frame of the Unreal Editor sequence.

beforeStartFrame

hold

Sets the behavior of frames before the startFrame:

hold - the first frame in the sequence is held until the startFrame frame is reached.

loop - plays a clip loop until the startFrame frame is reached..

bounce - substitutes a reversed equal number of frames, creating a clip bounce until the startFrame frame is reached.

black - frames are black until the startFrame frame is reached.

endFrame

-1

The last frame of the Unreal Editor sequence.

afterEndFrame

hold

Sets the behavior of frames after the endFrame:

hold - the last frame in the sequence is held until the endFrame frame is reached.

loop - plays a clip loop until the endFrame frame is reached..

bounce - substitutes a reversed equal number of frames, creating a clip bounce until the endFrame frame is reached.

black - frames are black until the endFrame frame is reached.

Render Settings

Render Mode

renderMode

full image

Sets whether the full image or stencil layers are rendered. Setting Render Mode to stencil layers displays the Stencil Layers tab in the Properties panel, allowing you to select which layers you want from Unreal Editor.

render as cube maps

renderAsCubeMap_T

disabled

When enabled, the selected passes are rendered as cube maps producing six renders per pass.

Note:  Cryptomatte is not currently supported with cube maps.

accumulator includes alpha

accumulatorIncludesAlpha_T

disabled

When enabled, multiple temporal or spatial sample accumulation includes an alpha channel.

To use this control, r.Postprocessing.propagateAlpha must be set to 1 or 2 in Unreal Editor.

Note:  Enabling this control increases processing time considerably.

disable multisample effects

disableMultisampleEffects_T

disabled

When enabled, effects that blend pixels together, such depth of field and temporal anti-aliasing, are enabled.

use 32 bit post process materials

use32BitPostProcessMaterials

disabled

When enabled, post process materials are written to a 32-bit render target instead of 16-bit.

Stencil Layers (this tab is only displayed when Render Mode is set to stencil layers)

Update Channel List

updateStencilChannels

N/A

Click to add the selected stencil layers to the Nuke script. You can view the new channels by selecting them in the Viewer channels dropdown.

Note:  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

[stencil layers]

stencilLayers

none

Select the stencil layers from the list of layers imported from Unreal Editor. Click the Update Channel List button to add the selected channels to the Nuke script.

Render Passes

Update Channel List

updateRenderPassChannels

N/A

Click to add the selected render passes to the Nuke script. You can view the new channels by selecting them in the Viewer channels dropdown.

[render passes]

renderPasses

none

Select the render passes from the list of passes imported from Unreal Editor. Click the Update Channel List button to add the selected channels to the Nuke script.

Advanced Tab

Anti-aliasing

Spatial Sample Count

spatialSampleCount_T

1

Sets the number of frames used to create one overall sample.

Higher values increase anti-aliasing quality at the expense of processing time.

Temporal Sample Count

temporalSampleCount_T

1

Sets the number of frames used to produce each output frame by blending the value of sub-steps specified.

Higher values increase anti-aliasing quality at the expense of processing time.

Anti-aliasing Method

antiAliasingMethod_T

use UE4 setting

Sets the anti-aliasing method to use:

use UE4 setting - anti-aliasing uses the method selected in Unreal Engine.

none - no anti-aliasing is applied to the output frames.

FXAA

Temporal AA

MXAA

Render Warm Up Count

renderWarmUpCount_T

0

Sets the number of frames rendered and then discarded to set up a temporal history for effects such as anti-aliasing.

If you're not using anti-aliasing or other temporal effects, you can use a low number of warm-up frames.

use camera cut for warm up

useCameraCutForWarmUp_T

disabled

When enabled, the excess frames in the camera cut are use to determine engine warm up.

Engine Warm Up Count

engineWarmUpCount_T

0

Sets the number of frames at the start of each shot that are run through without rendering. Engine warm-up frames can be used to make sure that things such as particle systems have enough time to process before rendering the frames in Nuke.

render warm up frames

renderWarmUpFrames_T

disabled

When enabled, the warm-up frames are processed on the GPU.

Generally, Nuke renders and responds better with this control disabled, but some processes, like GPU particle systems, need this enabled to process their warm-up as expected.

Camera

Shutter Timing

shutterTiming_T

frame center

Sets a timing bias on the shutter angle:

frame open - the motion to produce a frame represents the time from when the frame is rendered and onwards.

frame center - the motion to produce a frame represents half the time before the frame and half the time after the frame is rendered.

frame close - the motion to produce a frame comes from before and up to the frame being rendered.

Color

disable tone curve

disableToneCurve_T

disabled

When enabled, the Filmic Tone Curve is applied to the output.

Disable this control if you want to write out linear .exr files.

Game Override

cinematic quality

cinematicQuality_T

enabled

When enabled, the engine is automatically set to the Cinematic Scalability quality for renders.

Texture Streaming

textureStreaming_T

disable streaming

Choose whether textures are disabled, loaded over time, or fully loaded up front to avoid blurring after camera cuts.

use LOD zero

useLODZero_T

enabled

When enabled, use the highest LOD setting for meshes and particles.

disable HLODs

disabledHLODs_T

enabled

When enabled, don't use hierarchical LOD and use the real meshes from Unreal Editor.

use high quality shadows

useHighQualityShadows_T

enabled

When enabled, shadow-related CVars (console variables) are replaced by high quality preset values.

Shadow Distance Scale

shadowDistanceScale_T

10

Sets the shadow distance in the scene. Higher values produce better quality shadows, but at the cost of increased processing time.

Shadow Radius Threshold

shadowRadiusThreshold_T

0.001

Sets the threshold at which shadow casters with small screen space bounding sphere values are discarded.

override view distance scale

overrideViewDistanceScale_T

enabled

When enabled, the MaxDrawDistance from Unreal is overridden.

MaxDrawDistance may have been reduced to improve in-game performance.

View Distance Scale

viewDistanceScale_T

50

When override view distance scale is enabled, scale primitive's MaxDrawDistance by this value.

High Res

Texture Sharpness Bias

textureSharpnessBias_T

0

Causes the engine to use a higher detailed texture if a texture's details were lowered due to screen size.

Negative values produce sharper images, up to the resolution of the texture, but may result in noisy images. You can reduce the noise by increasing the Spatial Samples Count.

override subsurface scattering

overSubsurfaceScattering_T

disabled

When enabled, more samples are used to improve SSS when no temporal history is available due to the tiling process.

Burley Sample Count

burleySampleCount_T

64

Sets the number of samples used by SSS when override subsurface scattering is enabled.

Motion blur

disable motion blur

disableMotionBlur_T

disabled

When disabled, motion blur is not calculated.

Camera Tab

Projection

projectionMode

perspective

 

Translate

camTranslate

0,0,0

Displays translation values from the Unreal Editor camera along the x, y, and z axes.

Rotate

camRotate

0,0,0

Displays rotation values from the Unreal Editor camera around the x, y, and z axes.

Focal Length

focalLength

50

Displays the focal length from the Unreal Editor camera.

Aperture x,y

aperture

24.58, 18.67

Displayed aperture information from the Unreal Editor camera.

Create Camera

createCameraBtn

N/A

Click to create a corresponding Camera node in Nuke with the same translate, rotate, and camera lens details.

The new camera does not affect the camera in Unreal Editor, but it is linked to it through an expression by default.

link output

linkOutput

enabled

When enabled, clicking Create Camera adds a Camera node to the Node Graph with an expression link to the Unreal camera.

When disabled, no link is created so the Nuke camera is totally independent from Unreal Editor.

Write Tab

File

file

none

Sets the file path to where the rendered files are stored.

File Type

fileType

exr

Sets the file format to render. Currently only .exr files are supported.

EXR Options

Data Type

datatype

16 bit half

Sets the bit depth of the rendered .exr files. Currently only 16 bit half bit-depth is supported.

Compression

compression

PIZ wavlet

Sets the compression type to apply to the rendered file:

none

ZIP

PIZ wavelet

Write to Disk

writeToDiskInUnrealMRQ

N/A

Click to send a render job to the Unreal Movie Render Queue. The files are written to disk on the machine running Unreal Editor, which could be local or remote.

create read node

createReadNode

enabled

When enabled, clicking Write to Disk automatically creates a Read node referencing the output from the Unreal Movie Render Queue.

Depending on your machine's specifications and the number of shots Unreal Editor is rendering, the Read node may be in an error state until the files are written to disk.

read file

reading

disabled

When enabled, the Read node references the files rendered from write operation, rather than from Unreal Editor.

Variables Tab

Verify Commands and Rerender

update

N/A

Click to verify any variables and commands and rerender the sequence.

[Console Variables]

consoleVariables

none

You can use this table to add console commands.

Add

createConsoleVariable

N/A

Click to add a console variable key/value pair.

Values are cached and restored after rendering.

Delete Selected

deleteConsoleVariables

N/A

Click to delete the selected console variable(s).

[Start Console Commands]

startConsoleCommands

none

You can use this table to add commands to run when the shot starts.

If you want to restore the command after the shot is started, add a corresponding command in the End Console Commands table.

Add

createStartCommand

N/A

Click to add a start console command to execute when this shot is started.

Delete Selected

deleteStartCommands

N/A

Click to delete the selected start console command(s).

[End Console Commands]

endConsoleCommands

none

You can use this table to restore values in the Start Console Commands table after the shot is finished.

Add

createEndCommand

N/A

Click to add an end console command to execute when this shot is finished.

Delete Selected

deleteEndCommands

N/A

Click to delete the selected end console command(s).

Step-by-Step Guides

Visualizing Unreal Scenes in NukeX (Beta)