A CAVE is a large system, with ultra-high resolution displays (just one in case of a powerwall) which displays stereoscopic 3D images. Coupled with a tracking system, it provides an immersive virtual reality experience.
VRPN - Virtual-Reality Peripheral Network (VRPN) is a device-independent, network-based interface for accessing virtual reality peripherals in VR applications.
WIP Lien vers le notre hosté chez nous ?
NDisplay Launcher - NDisplay is an UE4 plugin which allows you to start your project on several PCs arranged in a cluster. It also supports a cluster made up of only one device.
To get the NDisplay Launcher, you need to download Unreal Engine. Then it can be found in the UE4 directory:C:\Program Files\Epic Games\UE_[version]\Engine\Binaries\DotNET\nDisplayLauncher.exe
The NDisplay documentation can be found here
To run Skyreal in NDisplay mode, it must be started with the NDisplay Launcher. Only on PC of the cluster needs the NDisplay Launcher.
The NDisplay Listener will listen the requests send by the NDisplay Launcher and act accordingly.
It can be found in the same directory as the Launcher:C:\Program Files\Epic Games\UE_[version]\Engine\Binaries\DotNET\nDisplayListener.exe
It has to be copied and started on every PC of the cluster.
Visual C++ redistributable
They can be found here
Interaction Devices - To interact with Skyreal in Cave mode, interaction devices are needed. They must be trackable by the ART captors and have preset buttons execute actions in Skyreal (navigate, use commands …).
We recommend you to use the VenomX or the Flystick. Both have enough buttons for Skyreal. The Flysick is more precise but more expensive and the VenomX need to be set up with some reflective balls to be trackable.
Launching an unreal application over a cluster of PCs with the NDisplay Launcher will in fact launch an instance of the same project on every PC. Hence, it is mandatory that the project and configuration file are located in the same directory on every PCs of the cluster. The paths must also contain no spaces. For the moment, using a shared network directory in which will be copied the files it is not supported by NDisplay.
Don't forget to maintain the same files on each PC when your do modifications.
If this is the first time you are running a Unreal application on your device, we recommend you to first run the NDisplay Default Project provided by Unreal. This is the most efficient way to verify that the mandatory elements (3D space configuration, tracking etc) are well set up and working properly before running Skyreal.
You can either dowload this project here (WIP lien vers un paquet hosté par nous) to test it immediately, or you can generate it.
To do so, you need to download Unreal Engine on your PC and create the NDisplay Default Project: IMAGE CREATION WIP
The project need to be packaged to then be run properly, to so you will need to download Visual Studio. When it is downloaded and installed, follow these steps: IMAGE GENERATION DU PAQUET WIP
You can find more information in the Unreal documentation
When the package is downloaded or generated, copy it on every PC of your cluster.
The NDisplay Default Project contains template configuration files. We recomment to create your own config file from one of them. They can be foud here:
The configPowerwall.cfg contains the configuration options for the VR space and devices in NDisplay. Maybe abandonner ce file WIP
Not all settings must be redefined for a standard use of Skyreal. For a more precise description of these settings and their effects, please refer to the NDisplay documentation.
The IP address of the cluster_node must be redefined. Use the addresses of the PCs you will be running the simulation on.
Each window configuration defines a set of properties for the main window of an instance of your Unreal Engine application.
It might happen that the fullscreen mode doesn't work. In this case the parameters ResX and ResY become mandatory.
A window can contain multiple viewports:
Each window configuration described above refers to one or more viewport configurations, each of which defines a rectangular area of the game window that nDisplay should fill with a rendered view of the scene. Adjust the resolution.
It defines the projection type and the screen to render. It doesn't require any modifications.
You must define the size of the screen. Leave location and rotation to zero, it is placed by the display_1 scene node. Adjust the size.
Attach the standard camera to the head tracker in order to follow the head movement. Be careful to use the correct id and channel (it is the index of the tracker in the ART tracker list).
A scene node is a 3D point which represents the location and rotation of one of your 3D elements (origin, screens, tracker etc). The scene nodes corresponding to screens are placed in the center of them.
SkyReal needs its EyesCenter scene node and one HandController scene node to work properly:
You can also add the following lines to remap input trackers to the other body parts:
To connect the input devices to SkyReal, connect all of the devices to VRPN and use the [input] tag.
In the example bellow, three kinds of input devices have been connected: Analog, Buttons and Tracker.
Set the correct IP addresses, tracking origin and tracking axis. The axis orientatin in this example is the default orientation of the ART axis.
To remap all inputs coming from VRPN to the SkyReal inputs, use the [input_setup] tag. This tag will link all of the inputs to Unreal events.
In the example below, the channel 28 coming from the input SkrKeyboard declared before, is connected to the SkyReal input nDisplay Button 0. To know which is the channel corresponding to a key, use the VRPN StartTest.bat (see VRPN paragraph below).
Because of an issue with NDisplay configuration, you must write "nDisplay Button 1" to bind the input "nDisplayButton1"
By default, these inputs are declared in the
Here are the default connection between Buttons and Actions:
Note that the DefaultInput.ini file can be modified if needed, to reverse an axis for example.
The rest of the file doesn't require any modifications.
In the VRPN config file vrpn.cfg, the used port needs to be defined (by default, it is 5000).
In VRPN, the VenomX device is managed as a keyboard. Hence, if a VenomX is used, a vrpn_Keyboard must be added too.
The StartServer.bat (located in the VRPN directory) launches the VRPN server.
The StartTest.bat (located in the VRPN directory) allows you to see which data is being received by the server.
Start the NDisplay Launcher.
In Applications, add and select the SkyReal executable (1). In Config Files, add and select the config file (2).
Skyreal supports command line arguments for the NDisplay mode, allowing for an easier configuration of the base parameters. Click here for more information.
WARNING In the case of a CAVE, the "Simulation" parameter is mandatory. Be careful that the simulation is located at the same place on every PC. We also recommend using the "Local = true" parameter to get the license file. Don't forget to copy the license file on every PC at this location:
VenomX inputs can be mapped using a dedicated software, which can be downloaded here.
To reassign inputs, go to the PC tab, click on the button you wish to remap and hit the new key you wish to assign to that button.
When 2 VenomX's are used, one of them must be disconnected before you can configure the other.
Your setup should now be complete. To start using SkyReal with your powerwall, follow the following steps:
- Start the Dtrack record
- Start the VRPN server
- Start the NDisplay Launcher
- Start the NDisplay Listener on every cluster PC
- Click on the Run button
Skyreal should now start on your system, and your trackers should be tracked.
- Unreal Engine is not compatible anymore with OpenGL. You must use a render mode compatible with DirectX.
- In the Window configuration,
fullscreen=truecan produce an error. You must set the parameter to false and set the window size with
- If Skyreal is blocking on the standard interface or on the loading screen, make sure all the files (project, simulation, config file, licenses) are identical on every PC and copied in the exact same location.
- If you have created a custom VR interface, don't forget to copy the file on every PC of the cluster at this location:
If you are having other issues with your system configuration, please contact the SkyReal support team.