Roland Bruggmann — Portfolio

Personal Pages

« Back to Main Page

Unreal Engine Project: Sensorimotor Lab

Version: v2.0.1
Author: Roland Bruggmann


Screenshot of Project Content

A project based on UE Display Cluster template aka ‘nDisplay’ providing with Institute of Sport Science ISPW related maps, more precise for the sensorimotor laboratory with its five sided CAVE. The laboratory integration is enabled by a messaging layer which is used to interact with an enterprise service bus ESB or the laboratory’s experiment management system repectively. This project was elaborated in TPF approved project ‘Distributed Game Engine DGE’ and subsequent projects.



Important Notes

Table of Contents

1. Usage

1.1. Dependencies

The project was developed using

The project makes use of plugin ISPW and its depepndencies (cp. package diagram):

Package Diagram:

Package Diagram

1.2. Installation

Download the project using git – the plugins are included as git submodules:

git clone --recursive
cd SensorimotorLab
git submodule update --recursive

2. Project Settings

Screenshot of Project Settings, Plugin ESBMessaging:

Screenshot of Project Settings for Plugin ESB Messaging

Hint: See also documentation of Plugin ISPW, Handedness and Units.

2.1. Handedness

2.2. Units

2.3. IPs

3. Maps

3.1. Map ISPW Cave 3D Demo

The map ISPW_Cave_3D_Demo which is a copy from plugin ISPW is intended to demonstrate the real-time rendering of 3D content in mono but also in stereo mode and the perception of the same using shutter glasses in the ISPW SenorimotorLab CAVE:

Screenshot of Map ISPW_Cave_3D_Demo:

Map ISPW_Cave_3D_Demo

3.2. Map ISPW Cave 360DegVideo

The map ISPW_Cave_360DegVideo which is a copy from plugin ISPW provides with lab integration enabled by a newly developed messaging layer which allow VR-objects to be controlled by the lab’s experiment management system and CAVE-specific content to be rendered:

Screenshot of Map ISPW_Cave_360DegVideo:

Map ISPW_Cave_360DegVideo

4. Display Cluster

4.1. nDisplay Configurations

Edit nDisplay config file *.cfg (host IPs, master etc.) using a text editor of choice. For further information see plugin ‘ISPW’.

4.2. Packaging

Brief instruction for packaging a shipping build (cp. Unreal Engine Documentation, Packaging Projects):

  1. In Project Settings set ISPW_Cave_360DegVideo as Game Default Map
  2. File > Package Project > Build Configuration > Shipping
  3. File > Package Project > Windows (64-bit)
  4. Point to a folder of your choice

In the folder of your choice a folder ‘WindowsNoEditor’ is created containing the executable file (*.exe).

4.3. nDisplay Launcher

Brief instruction to run an ISPW-CAVE game unwrapped locally on your machine (cp. Unreal Engine Documentation, nDisplay Quick Start):

  1. Find and launch nDisplay Listener and nDisplay Launcher (folder ‘C: \Program Files \Epic Games \UE_4.26 \Engine \Binaries \DotNET’ or similar)
  2. In nDisplay Launcher, Tab ‘Launcher’, List of Applications > Click Button ‘Add’: Point to the shipping build executable ‘*.exe’ in folder ‘WindowsNoEditor’
  3. In nDisplay Launcher, Tab ‘Launcher’, Config Files Dropdown > Click Button ‘Add’: Point to a Display Config, e.g., ‘\WindowsNoEditor \SensorimotorLab \Content \DisplayClusterConfigs \Dev \CAVE-5_-_3DMode-Off_-_Camera-Static_-_Projection-Simple_-_unwrap.cfg’
  4. Click Button ‘Run’

Screenshot nDisplay Launcher:


Screenshot nDisplay Listener:


Screenshot of nDisplay Unwrap:


4.3.1. Load Non Default Map

To load a map other than the default one, e.g., map “ISPW_Cave_3D_Demo”, in nDisplay Launcher enter the custom command line argument /Game/Maps/ISPW_Cave_3D_Demo (cp. Unreal Engine Documentation, Command Line Arguments).

Screenshot of nDisplay Unwrap, map ISPW_Cave_3D_Demo:


4.3.2. Test Pattern

To load a test pattern make use of Cluster Events (cp. Unreal Engine Documentation, Test-Patterns).

5. Integration

For testing purpose plugin ISPW provides with Jupyter Notebooks:

Please in folder ISPW/Testing find instructions on how to install Anaconda and setup Jupyter Notebook.

Screenshot of Jupyter Notebook ISPW ZeroMQ Publish:

Screenshot of Jupyter Notebook ISPW ZeroMQ Publish

A. References

« Back to Main Page