PrimaPlayer is a hologram video player with haptic feedback and hologram video actors whose bodies react to the touch of VR controllers. PrimaPlayer works with Oculus Rift, HTC Vive, and other OpenVR-compatible VR headsets, as well as standard 2D displays.

Upon running PrimaPlayer.exe, the software automatically detects if you have a Leap Motion, a VR headset, or neither installed, and renders the video accordingly.

Recommended Hardware

Intel Core i5 and GeForce GTX 970, or equivalent AMD hardware.

VR Headset And Controller Instructions

HTC Vive and Oculus Touch users need the SteamVR application that can be downloaded from Steam:
http://store.steampowered.com/

Oculus Rift users need to install Oculus Home application:
https://www.oculus.com/setup/

The "Unknown Sources" option from the General tab of Oculus Home Settings must be enabled for PrimaPlayer to work with Oculus Rift:
http://www.howtogeek.com/wp-content/uploads/2016/06/img_5761a86168132.png

SteamVR is required for Oculus Touch and other OpenVR-compatible VR controllers. The haptic feedback is optimized for HTC Vive controllers, but it also works with Oculus Touch. In the current version the virtual Oculus Touch controller buttons do not have labels on them, so you  need to memorize their functionality (see the below 'Controls' guide).

VR headsets require a Windows 7, 8.1, or 10 operating system, and a DX11 compatible graphics card.

Nvidia recommends that VR headset owners with an Nvidia GPU use GeForce driver version 361.91 or later. We have tested that at least version 368.69 works:
http://www.geforce.com/drivers

AMD recommends that VR headset owners with a Radeon GPU use Radeon Software Crimson Edition 16.3.2 or later:
http://support.amd.com/en-us/download

Leap Motion VR Setup

PrimaPlayer supports Leap Motion only in the VR setup, where Leap Motion is attached to a VR headset:
https://developer.leapmotion.com/vr-setup

You need to have the latest Leap Motion 3.1.3+ software (Orion) installed. Make sure that the "Allow Images" option is enabled in General tab of Leap Motion Control Panel. Plug the Leap Motion device into your computer's USB port, and not in the VR headset's USB extension port. We recommend that you acquire the "Universal VR Dev Mount" for Leap Motion, which comes with a 15 foot USB extension cable:
https://store.leapmotion.com/

Leap Motion is only used to increase immersion by allowing you to see your own hands in the virtual world. It is not used for interactive video or navigation controls.

While the Leap Motion sensor is connected, any VR controllers such as those of HTC Vive will not affect the bodies of the hologram actors, so that computing resources are spared.

If the hand images appear upside down in PrimaPlayer, you can turn off the "Auto-orient Tracking" and apply Reverse Orientation from Leap Motion Control Panel. Generally the auto-orientation works quite well.

For best finger tracking results, perform the Leap Motion recalibration:
https://www.youtube.com/watch?v=AXHH-QXqzlI

You could also use the Leap Motion Control Panel Visualizer and try to setup your workspace so that there is a clear contrast between your hands and the background like in this video:
https://www.youtube.com/watch?v=lJ4twi6jaSk

The Leap Motion overlay mode of PrimaPlayer 0.7 is not present in this version, because the latest Leap Motion SDK has temporarily removed the means to implement it. If you want to use the overlay mode, you can do so with Oculus Rift DK1 or DK2 by downloading and running PrimaPlayer 0.7:
https://f001.backblazeb2.com/file/Primavirtual/PrimaPlayer07win.zip

Controls
 Rotate view  Vive controller: rotate (Grip) button

Oculus Touch: hand (grip) trigger

Click and drag with right mouse button

 Move view  Vive controller: move (Menu) button

Oculus Touch: Y / B button

Click and drag with left mouse button

Scroll mouse wheel

Arrow keys, WASD-keys

 View height  Q- and E-keys
 Pause / Play  Vive controller: pause/play button

Oculus Touch: thumb stick button (stick pointing down)

SPACE

 Fast forward / Step frame forward  Vive controller: fast forward button

Oculus Touch: thumb stick button (stick pointing right)

. (period)

 Rewind / Step frame backward  Vive controller: rewind button

Oculus Touch: thumb stick button (stick pointing left)

, (comma)

 Vibrate & jiggle holograms locally  Vive controller: trigger button

Oculus Touch: index finger trigger

 Show / Hide help menu  F1
 Show / Hide FPS display  BACKSPACE
 Show / Hide control panel  Vive controller: hide/show button

Oculus Touch: thumb stick button (stick pointing up)

RETURN

 Enable / Disable edge blur effect  F4
 Toggle main window rendering (VR headset required)  F8
 Enable / Disable interactive skin (Leap Motion or VR controllers)  F11
 Enable / Disable haptics (HTC Vive controllers required)  F12
 Change Leap Motion hand color  H
 Switch between 2D and hologram mode  P

Gamepads, such as the wireless Xbox 360 controller, are also supported.

VR Headset Issues

If your CPU or GPU do not meet the recommended hardware setup, you might see black tearing. You could also experience so called "judder", where the view inside the VR headset does not animate smoothly when you move your head.

You can try remedying these issues by disabling edge blur effect with F4-key. Disabling interactive skin (F11-key) and haptics (F12-key) will also increase the frame rate and reduce judder.

PrimaPlayer should be displayed correctly in VR headsets with all up-to-date versions of SteamVR (for HTC Vive and other OpenVR-compatible VR headsets) and Oculus Home (for Oculus Rift). We have tested that at least SteamVR build from September 7th 2016 (version 1473196558) and Oculus App Version 1.8.0.277202 work properly.

Troubleshooting

If you have multiple GPUs, connect your VR headset HDMI cable to your main GPU display port. Keep SLI turned off.

If the VR headset screen remains black upon starting PrimaPlayer, try restarting SteamVR. You can also try restarting your computer.

If PrimaPlayer freezes upon start-up, bring up Task Manager with CTRL-ALT-DEL, go to "Processes" tab, and end the "PrimaPlayer.exe" process. Restart the application and it should work.

When you run into problems that you can't solve, contact us at
contact@primavr.com