This How To describes and goes through the steps to the HTC-Vive, Oculus Quest, and/or Oculus Rift working with Ventuz.

IntroductionMGPU: , Cluster:

Ventuz has built-in support for Head Mounted Displays (HMD), including the HTC-Vive, Oculus Quest and Oculus Rift. VR controllers can also be used to interact with Ventuz scenes using the standard Ventuz Touch Nodes.

Requirements

The minimum System Requirements for Ventuz must be met.

Ventuz uses OpenVR managed on each machine by Steam.

Depending on which HMD being used, additional software may be needed from the manufacturer of the HMD.

Minimum Requirements Oculus Rift

GPU NVidia GTX 970 / AMD R9 290 or higher
CPU Intel i5-4590 or higher
RAM 8GB +
Video Output Compatible HDMI 1.3
USB Ports 3x USB 3.0 1x USB 2.0
OS Windows 10 64bit


Minimum Requirements Samsung Odyssey VR

Windows Mixed Reality (60fps) Windows Mixed Reality Ultra (90fps)
GPU Intel HD Graphics 620 or greater GPU with DX12 support NVidia GTX 1050/AMD RX 460 or greater
CPU Intel Core i5 (7th generation), Intel Hyper-Threading, AVX Intel Core i5 (6th generation) or 4 or more cores, AVX
RAM 8GB+ DDR3
Video Output 1x Compatible HDMI 1.4 or Displayport 1.2
USB Ports 1x USB 3.0 and Bluetooth or 2x USB
OS Windows 10


Minimum Requirements HTC-Vive

GPU NVidia GTX 1060 / AMD RX 480 or higher
CPU Intel i5-4590 or higher
RAM 4GB +
Video Output Compatible HDMI 1.4 or Displayport 1.2
USB Ports 1x USB 2.0
OS Windows 7 SP1 64bit


Requirements are taken from the Official Sites of the HMD manufacturers, please check them regularly for any changes.

It is possible to test whether or not a machine is likely to support VR using different benchmark tools.

Supported Hardware

Occulus Rift and Rift S

Occulus Quest 1

HTC Vive

Valve Index

Setup

To be able to use Ventuz with any of the HMD, the HMD software must be installed and configured in their application before configuring them in Ventuz. All of the HMDs need Steam VR installed as Ventuz uses the OpenVR SDK to work.

Ventuz Configuration

Device Configuration

After the necessary steps have been followed above:

  1. Open the Ventuz Configuration Editor.
  2. Create a new Device configuration by  clicking the + New Button.
  3. Name the new Configuration and click Create.


  1.  Drag&Drop the OpenVR into the Video Outputs Field of the window.



  1. Save the configuration and activate it.
  2. Start Ventuz Designer and load a Project and Scene.
  3. Press shift +  F8 to open the Stage Editor.
  4.  Click Enable Physical Outputs to enabled it.


VR related Nodes

Several Nodes are available for use in the VR-Experience. All VR related nodes can be found in the Toolbox in the category VR/AR.

VR/AR Nodes

Tracked Device This node can be configured to provide tracking information for connected HMD's, Controller and References
Tracked HMD This node provides the tracking information of a connected Head Mounted Display
Tracked Vive This node provides the tracking information and button presses of a connected HTC Vive Controller or Samsung Odyssey Controller
Tracked Oculus This node provides the tracking information and button presses of a connected Oculus Touch Controller
Tracked Reference This node provides the tracking information for all reference elements i.e HTC Vive Light Houses
Draw Tracked Device This node can be configured to provide the meshes for connected HMD's, Controller and References
Draw HMD This node provides the meshes of the connected Head Mounted Display
Draw Vive This node provides the meshes of the connected Oculus Touch Controller
Draw Oculus This node provides the meshes of the connected HTC Vive Controller
Draw Odyssey Controller This node provides the meshes of the connected Samsung Odyssey Controller
Draw Reference This node provides the meshes of the connected references i.e HTC Vive Light Houses
Draw Touch Ray This node draws the ray of the referenced controller regarding its Touch Method.

Camera Properties with VR

By default, Ventuz uses the HMD's tracking information. The default Camera in Ventuz will react to the HMD's movement and orientation automatically.

The Camera Node can be used to adjust settings such as Near and Far planes, to relocate the user in 3D Space or to set different offsets as required.

To use a Camera Node for VR:

Create a simple VR Experience

  1. In Ventuz Designer, in the top Menu Bar,  click Scene
  2.  Click New Scene
  3.  Click New Simple Scene (With the rotating "V")
  4. Create a Camera Node in the Hierarchy Editor panel.
  5. Select the Camera in the Hierarchy Editor panel.
  6. In the Properties Panel switch the Projection and View by selecting Tracked in the drop down menu.



From here, the Camera properties can be adjusted for the VR-Camera. The camera position is directly in the center of the scene inside of the rotating "V". The Offset of the Camera must be set for the HMD to correctly view the scene.

  1. Select the Camera and in the Properties Panel
  2.  Click the + and select Offset.
  3. Change these position values to relocate the HMD in 3D space until the desired position is set.
  4. Type in [X,Y,Z] Values and the rotating "V" should appear in front of the User.

If an Axis Node is used in front of your 3D Scene, Specular Reflections, Cubemaps, and so on, would look incorrect.

Use Controllers for Interaction

The HTC Vive and Oculus Touch supports controllers that can use the basic Ventuz Interaction Nodes to create immersive interaction in a VR Scene.

With VR Systems other than the HTC Vive or Oculus with Touch, the interaction will need to created using a Joystick Node.

In this example, the HTC VIVE controllers are used, the same can be achieved with the Oculus and the Oculus Touch controllers.
In order to add interaction in a Scene, the controllers are needed inside of the Scene.

  1. Add a Tracked Vive Controller Node to the Hierarchy.
  2. In order to add the second controller, a second Tracked Vive Controller Node and change its Id property to 1.

If your second controller isnt working then you probably forgot to set the ID. The left Controller is usually ID 0 and the right ID 1

By changing the Touch properties, the Touch Behavior of the controller can be changed, including the Method of the Interaction, Trigger Button, length of the Touch Ray, or the Gravity that is affecting the Parabolic Touch Ray.

To interact with objects, an Object Based Interaction Node placed in front of the desired objects in your Hierarchy such as a Touch Button or Touch Transformation Node.

Stationary Virtual Reality may not be desired or interesting.
To enable a User to move around the 3D Ventuz Scene, the Touch Teleport Node is used.

Change the Controllers appearance

The appearance of the controllers can be changed. The Tracked Vive Controller Node draws the whole Controller and can be affected by a Material to apply textures or color the controller.

The Draw Vive Controller Node enables more finite control of the drawn controller by changing the controller mesh or by editing the existing controller mesh.
Place the Draw Vive Controller Node behind the Tracked Vive Controller Node

A Draw Touch Ray Node draws a Ray from the controller(s).
Use the same Id as the desired controller.
A Material can be placed in front of this node to customize its appearance.

Using VR with a Previs scene

When using a HMD in conjunction with a Previsualization Scene, there are some required changes to the configuration of Ventuz.

A Render Setup is needed to map the Previs to an output, otherwise the engine will not render to a HMD.

  1. Import the Previs scene into the Render Setup Editor.
  2. Open the Mapping Mode
  3. Assign the screen called "Previs" to an output
  4. Save and activate the Render configuration.

If the correct Device and Render configuration are loaded, the Previs scene should be displayed on the HMD.

Displaying content on the HMD can be achieved without a Render Setup; however, this leaves you with less control over your outputs. Ensure there is a Camera inside of your previs scene that is set to 'Tracked!'

If the Previs screens aren't rendered in the HMD, it's possible that there isn't a camera looking in the direction of the content, or the HMD could be 'inside' of the object(s) in your scene.

When using VR, Ventuz assigns the Default Camera to the HMD, this is also the Camera used inside of the Previs scene. In order to see anything on the Previs screens ensure there is a camera inside of the Previs Content layer as laid out in the steps above.

Conclusion

It is essential that the camera is correctly setup inside of Ventuz to use a Head Mounted Display.
To relocate the User, modify the offset of the camera using a Tracked Camera. If an Axis Node is used, undesired visual issues will occur.
Setting up a Head Mounted Display with a Professional Graphics Card can be challenging. This process will require some "Trial and Error" as the Adapter configuration may work on one machine but not another. A Gaming Graphics Card may be the best way to use a Head Mounted Display.

Limitations

Using VR with multiple GPU'S will not work correctly in Runtime, inside of a Cluster Setup, or with multiple GPUs. These kind of setups should be avoided.
Because of the way that Head Mounted Displays are used, it is not possible to synchronize HMDs across multiple GPUs, or multiple Machines in a Cluster.

See also:

« Previous:
» Index «
Next: »