This How To shows you how to get the HTC-Vive and/or Oculus Rift working with Ventuz.
The main differences between the two HMD's is actually a Seated experience for the Oculus Rift, while the HTC-Vive offers also a Room Experience. It is possible to move around in a small area when using the Oculus Rift (around 1-2meters).
We introduced built-in support for Head Mounted Displays (HMD) such as HTC-Vive and Oculus Rift. You can also make use of the controllers to interact with the Ventuz scenes using the standard Ventuz Touch Nodes. All you need besides the HMD is a High-End Graphics card (see the requirements listed below). To watch your scenes through the HMD you would only need to setup Ventuz Audio Video Configuration to Open VR output.
Besides the System Requirements of Ventuz you must match at least the following requirements.
Please bear in mind that you will need a GPU with native HDMI output or at least an active adapter to make the HMD's work properly. Vive can also be used with a native Display Port connection.
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 7 SP1 64bit |
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, please check them regularly for changes.
To be able to use Ventuz with any of the HMD's you would have to install their software and follow the routines to configure and setup the HMD's.
For the HTC-Vive you should have run the Room Setup at least once.
To output Ventuz content on the HMD's you would need to open the Ventuz Configuration Editor and create a new Audio Video Configuration by clicking the + Button. Name your newly created Configuration and click Create. This will open the AVConfig.
In the Top Bar of the AV Config you can find the OpenVR Output. Drag and Drop drag the OpenVR into the Output Field of the window. Depending on the connected HMD you will see an Oculus or Vive logo.
If you now start your Ventuz Designer or Ventuz Runtime the default output device for your graphics will be the HMD.
Before we test our VR-Experience in Ventuz, you should know about the Nodes used for the VR-Experience. All VR related nodes can be found in the Toolbox in the category VR/AR.
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 | |
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 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. |
Per default Ventuz will use the HMD's tracking information and the default Camera will immediately react to the HMD's movement and orientation. To be able to use the HMD's tracking information correctly and adjust settings such as Near- and Farplane or relocate the User in 3D Space by setting an Offset in the VR world you would have to create a Camera and set it to a Tracking Camera. See the next Part of this document Test your VR Experience.
Create a New Simple Scene (With the rotating "V") and create a Camera. Select the Camera and in the Properties Panel switch the Projection and View by selecting Tracked in the drop down menu.
Now the Camera properties can be adjusted for the VR-Camera.
Since our position is now directly in the center of the rotating "V" we need to set an Offset for the HMD.
Select the Camera and in the Properties Panel Click the + and select Offset. If you now change the values, therefore the position, you are relocating the HMD in 3D space correctly.
Type in [X,Y,Z] Values and the rotating "V" should be in front of you. If not, just look around.
If you would simply use an Axis in front of your 3D Scene, your Specular Reflections, Cubemaps and so on, would look incorrect
The HTC Vive supports controllers that can use the basic Ventuz Interaction Nodes to create immersive interaction in your VR Scene.
With VR Systems other than the HTC Vive you would need to create your interaction using a Joystick Node.
In order to add interaction in your scene you will first need to use the controllers in it. Add a Tracked Vive Controller Node to your Hierarchy. Now you should be able to see one Controller when you have the HMD on and hold the Controller in front of you. In order to add the second controller as well you would need a second Tracked Vive Controller Node and change its Id property to 1.
By changing the Touch properties you can affect the Touch Behavior of the controller. This includes the Method of the Interaction, the Trigger Button, the length of the Touch Ray or the Gravity that is affecting the Parabolic Touch Ray. How to be able to see the different types of touch rays will be explained in the next category.
Now to be able to interact with objects you only need to place an Object Based Interaction Node in front of the desired objects in your hierarchy: Touch Button or Touch Transformation Nodes.
Standing on the exact same position all the time might become very boring over time in a Virtual Reality. In order to enable your user to move around the world you can use the Touch Teleport Node. It can be placed in front of objects that should function as a walkable ground. Whenever a single tap event is triggered on an object behind the Touch Teleport the camera will be moved to that position immediately.
Other Interaction Nodes like the Touch Paint or the Web Browser Nodes will work in your Virtual Reality as long as you disable their Screen Aligned property.
Lastly you can change the Appearance of your controllers. The Tracked Vive Controller Node draws the whole Controller and can be affected by a Material to apply textures or simply color the controller. In order to do this more sophisticated you can add a Draw Vive Controller Node. Here you can turn on and off several subsets of the provided controller mesh and use different Materials and Textures for each of them. Make sure to place the Node behind the Tracked Vive Controller Node.
You can add a Draw Touch Ray Node in order to make the Ray visible. Use the same Id as the controller which you want to draw the ray of. You can again place a Material in front of this node to customize its appearance.
The most important thing when using a HMD is the correct camera setup. Keep in mind to set your Camera to a Tracked Camera and if you want to relocate the user, modify the offset values to the desired position instead of modifying an axis.
We had extreme trouble to get the HMD's setup with Pro Graphic Cards. Its really "Trial and Error", since the one Adapter configuration might work on one machine, but not for the other. The best way to go is using a Gamer Graphics Card.