What is a powerwall ?
A powerwall is a large, ultra-high-resolution display which displays stereoscopic 3D images. Coupled with a tracking system, it provide an immersive virtual reality experience.
DTrack is the software provided with ART tracking captors. It will record and transmit the data of your tracked devices.
VRPN is an interface which can recieve data from a software and expose it to another.
Ndisplay is an UE4 plugin which allows you to start your project on several PC arranged in cluster. It is also working for a cluster of only one device.
The NDisplay documentation can be found here.
To be able to run Skyreal in Powerwall mode, it must be started with the NDisplay Launcher.
It can be found in the UE4 directory :
C:\Program Files\Epic Games\UE_4.20\Engine\Binaries\DotNET\nDisplayLauncher.exe
To be able to interact in Skyreal set in Powerwall mode, interaction devices are needed. They must be trackable by the ART captors and preset buttons to do actions in Skyreal (navigate, use commands …).
We recommend you to use the VenomX device which has enough buttons and on which reflective balls can be added to make the device trackable.
Go to Calibration, then Room.
Hit Calibrate button.
Go to Calibration, then Room adjustment.
Make sure the axis are Up : Z, Forward : Y, Right : X.
Go to Settings, then Body administration.
Increase the number of body to the needed number.
Go to Calibration, then Body.
Make sure the coordinate system is set to “due to room” and hit Calibrate button.
You can try to recognize your body (Target Library), or calibrate it directly (Custom).
You can then rename your bodies in the Body Administration window.
The devices expected by Skyreal are 1 Head Tracker, 1 Right Hand Tracker, and 1 optional Left Hand Tracker. These trackers need to be ordered like this (Head first, then Right Hand and then Left Hand).
Go to Settings, then Output.
Define the UDP port to 5000.
In the config file “vrpn.cfg”, the used port need to be defined, by default it is 5000.
In VRPN, the VenomX is managed as a keyboard. And so, if a VenomX is used, a vrpn_Keyboard must be added too.
# start vrpn test for DTrack vrpn_Tracker_DTrack DTrack 5000 vrpn_Keyboard Keyboard
The StartServer.bat (located in the VRPN directory) launchs the VRPN server.
The StartTest.bat (located in the VRPN directory) allows you to see which data are received by the server.
NDisplay Configuration File
The “configPowerwall.cfg” contains the configuration of the VR space and devices for NDisplay.
Not all settings must be redefined for the standard use of Skyreal but for a more precise description of this file please refer to the NDisplay documenation.
The IP address of the cluster_node must be redefined. Use the address of the test PC.
[cluster_node] id=node_1 addr=127.0.0.1 screen=screen_1 viewport=vp_1080 port_cs=41001 port_ss=41002 master=true sound=true
The size of the screen must be redefined.
[screen] id=screen_1 loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=1.435,Y=0.85" parent=display_1
The Z component of the location may need to be redefined.
In this example, Z=-0,043 because the room calibration tool used was 0,043 m high.
[input] id=SkrTrackers type=tracker addr=DTrack@127.0.0.1 loc="X=0,Y=0,Z=-0.043" rot="P=0,Y=0,R=0" front=Y right=X up=Z
You need to redefine the locations of the nodes.
- The Z component of cave_origin
- All the components of display_1 (center of the screen) : X is the distance between the screen and the origin, Z is the distance between the floor and the center of the screen
[scene_node] id=cave_origin loc="X=0,Y=0,Z=-0.043" rot="P=0,Y=0,R=0" [scene_node] id=display_1 loc="X=2.51,Y=0,Z=1.485" rot="P=0,Y=0,R=0"
Start the NDisplay Launcher.
Add and select the project (1) and add and select the config file (2).
Starting 1.7, Sky Real support command line arguments for the powerwall, enabling easier configuration of the base parameter. The following parameter are supported :
- to configure the license options
- -Local=”xxxx” : True if the license if on the computer where SkyReal is run, False if there is a license server
- -IpServer=”xxx.xxx.xxx.xxx”: the ip adress of the license server
- -PortServer=”xxxx”: the port of the license server
- -Type=”xxxx” : the type of licence (Full or Trial)
- to configure the collaborative options :
- -IsCollab=”xxxx”: Determine if the session will be collaborative (true) or not (false)
- -IsServer=”xxxx”: Set this session as the server for the collaborative session
- -Alias=”xxxx”: Set the alias of the user for the collaborative session
- -CollabServerAdress=”xxx” : the server adress
- to load immediately a map :
- -Simulation=”xxx” : Path to load the map
In case some option are absent, the default option will be used.
Also the selection of a file go through the window selection picker.
The VenomX inputs can be mapped with a dedicated software which can be downloaded here.
To reassign inputs, go to the PC tab and click on the button to remap. Hit then the new key. When 2 VenomX are used, one of them must be disconnected to configure the other.
Remaping in the NDisplay config file
In VRPN, the VenomX is managed as a keyboard. Each key pressed will send a “pressed” event with a specific scane code corresponding to that key.
To let users be able to freely choose which key they want to use, Skyreal use standard scan codes to map the possible actions :
255 Right MenuButton 254 Right ActionButton 253 Right MoveForwardButton 252 Right MoveBackwardButton 251 Right StrafeRightButton 250 Right StrafeLeftButton 249 Right IncreaseSpeedButton 248 Right DecreaseSpeedButton 247 Left MenuButton 246 Left ActionButton 245 Left MoveForwardButton 244 Left MoveBackwardButton 243 Left StrafeRightButton 242 Left StrafeLeftButton 241 Left IncreaseSpeedButton 240 Left DecreaseSpeedButton
Users have to remap their used scan codes to the standard codes of Skyreal.
To know what is the scan code corresponding to the key pressed we recommend to use the script StartTest.bat in the VRPN directory. This script will display the scan codes of the pressed keys.
When the codes are known, they must be remaped in the NDisplay config file :
[input] id=SkrDevice type=buttons addr=Keyboard0@127.0.0.1 remap="255:30,254:44,253:18,252:19,251:16,250:31,249:32,248:33,247:21,246:22,245:23,244:24,243:35,242:36,241:37,240:38"
You setup should now be correct
- Start the Dtrack record
- Start the VRPN server
- Start the NDisplay launcher
- Hit the start listeners button
- Hit the run button
Skyreal should start on your powerwall and your trackers should be tracked