Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...

https://youtu.be/DTAW0i7NSoo

Why Use nDisplay over the Unreal Toolkit Plugin

There are some inherent problems with the Unreal toolkit that are difficult to overcome. These include:

  • Slow performance with large complex, or optimized models.

  • No-post processing available

  • Issues with Lumen lighting engine not rendering correctly

  • Miss matched colours compared to the console view.

  • Limited to cubemap output, that only works in ICE.

nDisplay removes all of these issues, and adds even more features which include:

  • Clustering for complex and highly detailed models.

  • Large scale resolutions

  • True to life colours

  • Optitrack and VRPN support

  • Doesn’t require an external plugin

  • Doesn’t require an update from Igloo every time there’s a new Unreal update.

Warning

The only current issue with nDisplay is the lack of a method to input warps generated by the Igloo system. Requiring the use of scalable to do curved screens at this stage.

Setting up nDisplay within Unreal

Prerequisites

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.

    Image Modified

Info

You will be asked to restart your editor upon selection. I would recommend saving your work and doing this straight away. Grab a coffee, and wait for it to recompile.

...

Info

The computer you are using to calibrate the display is automatically assigned to the system with the name LocalHost. If the Calibration PC will not be driving a display, remove LocalHost from the Display clients assigned to the system list.

  1. Click to highlight one of the clients in your system.

  2. Click Assign > to move the clients into the system.

  3. Repeat for all remaining clients.

Scalable Display Manager will by default output a scalable mesh file, if instead you would like to directly apply the warp and blend in the graphics driver check the option Apply Warp & Blend in Graphics Driver.

...

Note

Wrong Number of Projectors or Incorrect Resolution

If the number of projectors or their resolution is different from the actual system, manually choose or enter the resolution of a single projector under custom resolution.

  1. Click resolution per projector drop down.

  2. Select the Width and Height to the resolution of a single projector in pixels (e.g. 1920 x 1080)

    1. OR Select Custom.

    2. Set the Width and Height to the resolution of a single projector in pixels.

    3. Click OK

  3. Click Redetect Displays.

...

To help with making sure that the projectors reach about an overlap value of 15-20% you can click Show Overlap Pattern. There are 3 sections Yellow,Green, and White. Having the edges of the bands touch will result in the level of overlap it represents.

...

Enter the Projector Arrangement

  1. Select the physical arrangement of the projectors: Tiled, if the projectors are next to each other, or Stacked, if the projectors are on top of each other.

  2. Select the number of projectors in a row.

  3. Select the number of projectors in a column.

  4. Click Redetect Displays to save the settings.

Order the Display Clients

...

Next, two images will be displayed on each projector, starting again with the first projector and going in order to the last.  The first image will be a 5-dot pattern which is used to determine the center of the projected image. The second image displayed is the grid pattern which is used to map where the pixels are falling on the screen.

White Pattern

5 Dot Pattern

Grid Pattern

Image ModifiedImage ModifiedImage Modified

What to do if an Error Occurs

...

The software can not discern the difference between a projected image that does not fill the screen and one that fills the screen but spills off. 

End Calibration: In this case, the calibration should be stopped so that the camera can be re-positioned to see the entire projected image.

Image Modified

Ignore and Continue: The error action is expected and triggered because the projector is overshooting the screen. Continuing will not cause any issues.

Image Modified

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

...

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.

    Image Modified

    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

    Image Modified


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

    Image Modified

    Click Share…

    Image Modified

    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.

    Image Modified


    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.

    Image Modified

    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’

It is advised that all of these methods have their drawbacks, and only the config file doesn’t have any issues being accessed from multiple places.

...

The Launcher looks like this, with 3 main fields:

...

  1. Add your packaged Project .exe file to the Applications list.
    Click Add under the Applications list, then browse to and select the .exe file you packaged for your Project. The nDisplay Launcher will add your new application to the list. Click its name to select it. This must be the same location on all the machines in the cluster. The addresses must match.

  2. Specify your configuration file. Again, this must be a shared location, with the same address for all machines.

  3. Make sure your application is highlighted, it will say ‘no application is selected’ otherwise. Then click Run

As long as your configuration is correct, you will see it send a run command to all the PC’s on the network.

...