nDisplay 3D Config Editor

Configure your system's nDisplay Config Asset using the 3D Config Editor

Windows
MacOS
Linux

You define most aspects of the nDisplay system in a single configuration asset, the nDisplay Config Asset, through the nDisplay 3D Config Editor. This asset defines the computers that make up your network, the characteristics of the windows and viewports you want the Unreal Engine to render on each computer, the parts of the virtual world each viewport should render, the types of input devices you want to accept, and more.

This page describes all the settings available in the nDisplay 3D Config Editor.

Click image to enlarge

  1. Toolbar, located in the top left of the Editor.

  2. Components, located on the left below the Toolbar.

  3. Preview, located in the middle of the Editor to the right of the Components panel.

  4. Details, located on the right of the Editor next to the Preview panel.

  5. Cluster, located on the left of the Editor below the Components panel.

  6. Output Mapping, located in the middle of the Editor below the Preview panel.

  7. Compiler Results, located in the bottom right of the Editor below the Details panel.

Toolbar

The 3D Config Editor toolbar

The Toolbar in the 3D Config Editor shares most of the buttons with the Toolbar in the Blueprint Editor. The following are the two buttons unique to the nDisplay 3D Config Editor:

  • Import: Imports an nDisplay configuration file (.ndisplay, .cfg) from the local computer.

  • Export: Exports the nDisplay settings to a configuration file (.ndisplay) on the local computer.

See Toolbar for more details on the other options.

Components

nDisplay cluster components

The Components panel defines the physical display, tracking, and in-camera setup for the nDisplay cluster. Adding components to the inherited Root Component is the first step in designing an nDisplay network. You can pick from a predefined list of Displays, Transforms, and default Camera Actors, or add any available UE components.

To use nDisplay with real-world tracking systems, add a Live Link Component to the Components panel. See Live Link for more on how to configure this for your setup.

The following sections describe the nDisplay-specific components that can be added to your setup.

Screen

Each different output display that uses the Simple projection type renders the scene from the current camera's position using a frustum that is defined by a rectangle with a defined size and placement in the 3D VR space. Each of these rectangles is defined by a screen configuration. Usually, each of these projection screens has the same dimensions in space as the physical screen that you'll use to render it.

The pivot point of a screen is always in its exact midpoint.

Click image to enlarge

Xform

By default, the parent of all objects is the Root Component origin: an arbitrary point in 3D world space where the X, Y, and Z axes have their zero point. You can also configure specific named transforms in 3D space, called Xforms, which can act as parents for one or more components. This can help simplify the spatial layout of your screens, cameras, and other components. Xforms include a visualization mesh and the ability to scale the component in the Details panel.

Click image to enlarge

You can use UE's standard Scene Components instead of Xforms to act as a parent for one or more components, but they will not have the visualization mesh or the ability to control their size in the Details panel.

View Origin

The component for the nDisplay setup that defines the origin for what's rendered in the viewports. You can have multiple View Origins in your configuration file and bind them to different viewports and displays. The View Origin also contains the settings for Stereo Rendering with nDisplay.

nDisplay View Origin

ICVFX Camera

This is a Cine Camera Component where you can reference or link to an external camera placed within your level or project. This component creates the inner frustum necessary for in-camera VFX projects.

nDisplay ICVFX Camera

Cluster

nDisplay cluster

For each different instance of your Unreal Engine application that you'll use in your nDisplay network, you need to define a Cluster Node. Each Cluster Node is a representation of an application instance, and defines the hostname or IP address of the computer that will run that application instance. You may set up a different physical computer for each Cluster Node, or you may have multiple Cluster Nodes that run on the same host.

Each Cluster Node can contain a list of Viewports, which define the window in the 3D world. The following table describes the elements that can be added to the Cluster.

Nodes

Description

Cluster

Hosts a group of PCs forming one nDisplay cluster. Only one can be created per nDisplay Config asset.

Host

Representation of a PC with a unique IP address. Customize the color signature to differentiate one PC from another. The color is also used in the Output Mapping panel.

Node (Application Instance)

An instance of UE. Typically there is one Application Instance per PC but more is allowed for specific use-cases. The application instance window is configured in the Details panel for this node.

Viewports

Defines a window in the 3D world. Container for the Projection Policies, Cameras, and target Displays.

Cluster Configurations

To access the Cluster settings:

  1. Select Cluster in the Cluster panel to open its Details panel.

    Select your cluster

  2. In the Details panel, expand the Configuration section.

    Expand the Configuration section in the Details panel

In the Cluster settings, you can set the ports, network, and sync policies for the cluster. For more details on changing the Port, Network, and Synchronization settings, see Changing nDisplay Communication Ports and Synchronization in nDisplay.

Output Mapping

Click image to enlarge

The Output Mapping panel effectively maps Viewports defined in the Cluster panel to 2D application windows. In the Output Mapping panel, you can:

  • View the relationship between the host computer, the Cluster Node (UE application instance), and the viewport.

  • Visualize, edit, and map 2D viewports inside an application instance window.

  • Translate and rotate viewports.

Use the following tools, located in the top left corner of the Output Mapping panel in left to right order, to modify the windows and viewports for your nDisplay cluster:

Output Mapping tools

Button

Shortcut

Description

Dropdown

You can enable or disable the following options:

  • Tint Selected Viewports

  • Host Arrangement

Window Information

W

Enabling this option shows window information, such as the resolution and IP address.

Window Corner Image

E

Enabling this option shows the window corner image.

Show Viewports Outside Window

R

Enabling this option shows any viewports that are outside the application window.

Zoom to Fit

Z

Automatically zoom to fit the panel view.

View Scale

Set the scale for the windows and viewports.

Positioning Settings

Settings for how nodes are positioned. You can enable or disable the following options:

  • Allow Cluster Item Overlap

  • Keep Cluster Nodes inside Hosts

  • Lock Cluster Nodes in place

  • Lock Viewports in place

Node Snapping

Options for how nodes snap together. You can enable or disable the following options:

  • Toggle Adjacent Edge Snapping

  • Adjacent Edge Padding

  • Toggle Same Edge Snapping

  • Snap Proximity

Window Configurations

Each window configuration defines a set of properties for the main window of an instance of your Unreal Engine application. You use it to configure details like the starting size and placement of the window when nDisplay launches your application, and whether or not the window should take up the full screen.

You also provide one or more viewport configurations, which identify specific areas within the main application window that nDisplay will fill with renderings of your scene.

In the nDisplay 3D Config Editor, you can configure the window by selecting the Cluster Node in the Output Mapping panel and modifying its size, or changing the settings in the Window section of the Cluster Node's Details panel.

Modifying the size of a Cluster Node

Output Remapping

With Output Mapping, you can specify how Viewports are rendered in terms of position and scale within the Application Window. Output Remapping extends this functionality by allowing custom transforms such as rotation that are defined in the provided mesh's UV channel.

For example, you can translate, rotate, and scale parts of the output image so that they appear in different regions of the application window.

Click image to enlarge

This feature requires you to provide either a Static Mesh or an external .obj file that contains a planar geometry with a custom UV mapping set up. nDisplay will use the UV channel set for your plane to determine how the output image is mapped to each part of the application window.

The input mesh can be of unit size and will be applied to the whole application window. This is because nDisplay uses the final render buffer as an input GPU Texture Sampler to a final post process shader applied to the mesh with an arbitrary UV space.

Click image to enlarge

When you apply rotation to the nDisplay render with Output Remap, you must manually resize the App Window resolution to accommodate for the rotation, otherwise the render will appear stretched.

To enable Output Remap in your Project:

  1. In the Cluster panel, select a Node to open its Details panel.

  2. In the Details panel, expand the Output Remapping section.

    The Output Remapping section in the Details panel

  3. Enable Output Remapping.

    Enabling the Output Remapping checkbox

  4. Choose which Data Source you want to use: Static Mesh or External File.

    Choose the Data Source using the dropdown

  5. For Static Meshes: Browse to a Static Mesh in your project.

    Browse to a Static Mesh

  6. For External Files: Enter the path on disk to an .obj file.

    Enter the path to an .obj file

In order to use a Static Mesh with Output Remapping, Allow CPUAccess must be enabled for the Static Mesh. To do this:

  1. Double-click the Static Mesh in the Content Browser to open it in the Static Mesh Editor.

  2. In the Details panel, expand the General Settings. You may need to click the downward facing arrow at the bottom of the section to show the hidden settings.

  3. Enable Allow CPUAccess.

  4. Save the Static Mesh Asset to keep your changes.

    Enable the Allow CPU Access setting

Viewport Configurations

Each window configuration refers to one or more viewport configurations, each of which defines a rectangular area of the window that nDisplay should fill with a rendered view of the scene.

Usually, a viewport starts at the upper left corner of the application window, and its width and height are set so that they fill the parent window. However, in some cases you may need to offset the viewport within its parent application window. For example, you might want to do this if you need to set up two projectors that partially overlap, or if you need one application window to host multiple separate viewports at different positions.

Each viewport configuration described above refers to a projection configuration, which is responsible for defining the rendered image that needs to be drawn in the viewport.

In most common situations, you will use the Simple projection type, which renders the virtual world from the current Unreal camera's position using a frustum that is defined by a screen configuration section elsewhere in your nDisplay configuration file.

Industry-specific projection types, such as MPCDI, EasyBlend, VIOSO, and DomeProjection, use other methods to define the rendered content for the viewport, and may introduce additional corrections or apply additional rendering techniques before rendering the image to the rectangular viewport. For example, the projection may squash, stretch, or distort the image so that it will look natural when displayed on a curved or an arbitrary shaped surface.

For more details on projection types and their configurations, see Projection Policies in nDisplay.

Texture Share

With TextureShare, you can share the viewport texture with another application, or receive a texture from another application and display it in the specified viewport.

To enable texture sharing for a viewport:

  1. In the 3D Config Editor, select the viewport to view its Details panel.

  2. In the Details panel, enable Shared Texture.

    Enable Shared Texture in the Details panel

  3. You can now use the viewport in your external application to send or receive a texture.

See Texture Share for more details on how to set up your external application.

3D Viewport

nDisplay 3D Viewport

With the 3D Viewport, you can visualize the display, camera, and tracking setup of your nDisplay cluster. This panel is a 3D editing tool that provides the means for you to visualize and edit the following:

  • Display topology and projection policies.

  • The tracked camera location.

  • The tracked user location.

Use this view to ensure:

  • Your displays are properly set up.

  • The preview render looks correct from the camera vantage point.

  • Viewports are properly mapped to the screens.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss