Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

About nDisplay

The Unreal Engine supports advanced Igloo structures through a system called nDisplay. This system addresses some of the most important challenges in rendering 3D content simultaneously to multiple displays:

...

The image above shows a possible nDisplay network. Like all nDisplay networks, one of its PCs acts as the master node. This master node accepts input into the system from a VRPN server, which relays signals that come from spatial tracking devices and other controller devices. The network also contains several other PCs that run other instances of the Unreal Engine Project. Each of these cluster nodes drives one or more display projectors.

Setting up nDisplay within Unreal

Prerequisites

  • Unreal Version 22 or newer.

  • A computer with more than 1 screen, in an extended configuration.

  • The computer should be capable of running Unreal Engine, based on these recommended specifications.

A New Project

Epic games have kindly given us a template that sets everything up for you. If this is your first time using nDisplay, Igloo highly recommends creating a new project using this template, and experimenting with the config file.

...

Info

It’s a good idea to create the project within a location that is easy to share on a network. This makes it a lot easier to create the cluster further into the nDisplay pipeline.

Existing Project

  1. Open your project, and navigate to the Plugin’s window. Search for nDisplay and Enable the nDisplay plugin. This plugin is included in Unreal 2.46 and newer.

...

The Advanced Camera Configuration allows the user to grab a subset of the total cameras and arrange the order based on serial numbers.

...

Data Collection

...

Adjust the Camera Settings

...

Choice

Description

Remember this action for this projector for session

Do not stop the calibration for this error on this projector until the software is restarted

Remember this action for this projector forever

Never stop the calibration for this error on this projector

Remember this action for all projectors for session

Do not stop the calibration for this error on any projector until the software is restarted

Remember this action for all projectors forever

Never stop the calibration for this error on any projector

Projector Visibility

Be careful when editing

Removing a projector from the visibility list for a camera can result in unwanted warp and blends and often cause the system stop calibrating

...

Scalable setup within nDisplay

Exporting Data to Unreal

Once your screen has been calibrated using the Scalable system, the master machine will have saved the DataSet to it’s C:/ drive, in the following folder:

...

The rest of the settings are explained in more detail within the example files. 99% of the time the defaults are perfect.

Creating a network storage

...

solution

Making nDisplay extremely easy to update and configure requires the use of a NAS (network accessible storage) device. Without it, you would need to manually update each machine with a new version of the Unreal build, and configuration. Instead, all the machines can work from one file, on one machine, that is shared with all of them.

...

Expand
titleCreating a shared drive (Windows 10)
  1. Make sure that all computers on the network can see each other. This is possible in the network rollout within the explorer window. As long as all machines are visible, they should have access to the shared drive.

    If you cannot see any other computers in this window, you will need to Enable network discovery. This can be done by doing the following:
    - Open Start
    - Type ‘Control Panel’
    - Click Control Panel
    - Click Network and Sharing Center (you may need to click the Network and Internet heading
    - Click Change Advance sharing settings in the upper left side.
    - Check “Turn on network Discovery”
    - Check “Turn on file and printer sharing”
    - Click Save Changes and continue.

    You will need to repeat this process on every machine in the cluster, so they can all see and talk to each other.

  2. On the Master machine, locate the folder you wish to share with all the other machines. The items you will need to share are:
    - The Unreal build in it’s entirety
    - The Unreal nDisplay config file
    - The Scalable data (should be near the config file)
    - The nDisplay Listener.exe (and it’s config files)

    I created a folder in my D drive called ‘nDisplayBuild’ and placed everything in that folder, like so.
    Test1, and Test2 are the names of my Unreal Builds


  3. Right click the folder you would like to share, and click Properties and click on the Sharing tab.

    Click Share…

    Your name will be in the list, but you need to add Everyone if it’s not already present. Then add a Read/Write permission level (Read would be fine, but it stops the ability to write Log files)

    Click the Share button, and accept the warning that pops up. The folder will now be shared across all the machines. Provided the have access credentials to the master machine. This is usually just the username and password you use to log into it.

  4. The next step is to add the shared folder we just created as a drive with the same location on all the machines. The first step is to identify a drive letter that is not present on all the machines. E is usually free, as most modern machines will have two drives. C and D however, if that is not present pick one further up the alphabet. It has to be the same location on all machines.

    When ready, on each machine (including the master) Open the explorer window, and Right Click This PC, then select Map Network Drive
    This window will pop up.


    Pick your drive letter, and then click browse to bring up the Browse for Folder window, select the root folder that you created earlier, and click OK

    You also have the option to connect at Sign-in, and connect using different credentials. Both of which are extremely important for all the machines (except credentials for the master, as they will be the same). These settings allow for autonomous restarting of the machines without issues.

    Once done, click Finish and you will have a network drive underneath your local drives on the This PC menu. It will have a drive letter, and provide a universal location for all machines to access the same files, at the same exact file path when added to all of them.

    This is a very common process, and if you run into any issues, there is lots of support online by searching for ‘Windows 10 add shared drive’

nDisplay Launcher

Once you have your Project deployed successfully to all the computers you've identified in your configuration file, you can use the nDisplayLauncher application to start the Project on all computers simultaneously. You should only run this on your master machine, or a console machine (it doesn’t have to be a machine with the unreal project on, it just needs to be on the same subnet. )

...