Navigation

Ventuz Introduction

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Ventuz Products
  • Realtime Rendering
  • Frequently Asked Questions
  • Common Mistakes
  • Deploying a Ventuz Presentation
  • Scene Performance and Tweaks

Quick Guides

  • Quick Guide Index
  • Business Logic
  • 3D Art
  • 2D Art
  • Programming
  • System Engineer

General

  • Index
  • What's New
  • Ventuz System Requirements
  • Communication Protocol Overview
  • Configuration Editor
  • Audio / Video Configuration
  • Machine Configuration
  • Web Configuration Editor and License Manager
  • GPI Configuration for Runtime or Director
  • Supported Formats
  • Supported Hardware
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • Migrating Content to Ventuz 6
  • Migrating Content to Ventuz 5
  • Summary Shortcuts
  • Terminology
  • Manual Index

Ventuz Designer

  • Designer Indices
Introduction
  • Designer Introduction Index
  • Designer Overview
  • Realtime Rendering
  • Project Browser
  • Designer Interface
  • Designer Options
  • Working with Nodes
  • Hierarchy and Content Editors
  • 2D Workflow
  • 3D Workflow
  • Animation Workflow
  • Best Practices
  • Reading Data in Ventuz
  • Display Images and Movies
  • Scene Performance and Tweaks
  • Deploying a Ventuz Presentation
  • Render to Disk
User Interface
  • Designer User Interface Index
  • Designer Interface
  • Renderer Window
  • Layer Editor
  • Property Editor
  • Property Groups
  • Hierarchy Editor
  • Content Editor
  • Find and Replace
  • Toolbox
  • Animation Editor
  • Shader Editor
  • Text Editor
  • Message View
  • Scene Tree
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Performance Statistics
2D Workflow
  • 2D Workflow Index
  • 2D Workflow
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Hierarchy and Content Editors
  • Display Images and Movies
3D Workflow
  • 3D Workflow Index
  • 3D Workflow
  • Hierarchy and Content Editors
  • Renderer Window
  • Camera Navigation
  • Manipulate Objects with Gizmos
  • Layer Editor
  • Property Editor
  • Hierarchy Editor
  • Working with Nodes
  • Isolated Objects
  • Containers
  • Text Rendering
  • Character Sets
  • Geometry Import
  • Display Images and Movies
  • Particle System
  • Creating Realistic Reflections
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Logic Workflow
  • Logic Workflow Index
  • Hierarchy and Content Editors
  • Content Editor
  • Hierarchy Editor
  • Working with Nodes
  • Property Editor
  • Containers
  • Project and Scene Data
  • Reading Data in Ventuz
  • Display Images and Movies
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Animation Workflow
  • Animation Workflow Index
  • Animation Workflow
  • Animation Editor
  • Content Editor
  • Hierarchy Editor
  • Property Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Unreal Integration
  • Notch Integration
Project Structure
  • Project Structure Index
  • Annotations
  • Projects and Scenes
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Management
  • Scene Statistics
  • Scene Tree
  • Performance Statistics
How Tos
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To use the Vertex Integration
  • How To Control and Customize Ventuz
Reference
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • E2E Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Render Option Nodes
  • Slides Nodes
  • Sound Nodes
  • Text Nodes
  • Texture Nodes
  • VR Nodes
  • World Nodes
  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Ventuz Director

  • Index
  • Introduction
  • Environment
  • Show
  • User Interface
  • Assets
  • Taking Action
  • Property Editor
  • Shot Box
  • Project Data
  • Pages
  • Playlist
  • Timeline
  • Content References
  • Topology
  • Channels
  • Macros
  • Designing Templates
  • Plug-Ins
  • Shortcuts
  • Command Line Options
  • Application Settings
  • Glossary
  • GPI Configuration

Ventuz Runtime & Configuration

  • Runtime Index
  • Configuration Configuration Editor
  • Machine Configuration
  • Video/Audio Configuration
  • Web Configuration Editor and License Manager
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Machine Clustering
  • Supported Hardware
  • Director Mode
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to Use Head Mounted Displays
  • How to Setup Spout with Ventuz
  • How to Use Newtek NDI
  • How to Use a Mixed Frame Rate Cluster
  • How to Use Tracking

How To

Designer
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Runtime & Configuration
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to use Head Mounted Displays
  • How to setup Spout with Ventuz
  • How to use Newtek NDI
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Director
  • How To Control Multiple Graphics Independently From Each Other
  • How to use the Companion with Director

Ventuz Node Reference

ANIMATION
  • Mover
  • Alternator
  • Simple Control
  • Timeline Control
  • Anmation Rig
  • Keyframe Animation
  • Animation Group
COLOR/MATERIAL
  • Alpha
  • Fog
  • Ground Fog
  • Sky Box
  • Color to RGBA
  • HSLA to Color
  • RGBA to Color
  • Color Transformer
  • HLSL Shader
  • Color
  • Material
  • Color Picker
  • Substance Material
DATA
  • Database
  • Excel
  • JSON
  • RSS Feed
  • Resource Linker
  • Text File
  • XML
E2E
  • E2E Axis
  • E2E Data
  • E2E Control
  • E2E Layer
  • E2E Provider
  • E2E Node Overview
GEOMETRY
  • Rectangle
  • Rounded Rectangle
  • Gradient Rectangle
  • Overlay Rectangle
  • Cube
  • Circle
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Chart
  • Random Points
  • Mesh Loader
  • Geometry Import (Live)
  • Volume
  • Get Bounding Box
  • Arrow
  • Particle System
  • Path Renderer
  • Geometry Renderer
INTERACTION
  • Interaction Rect
  • Touch Button
  • Touch Excluder
  • Touch Marker
  • Touch Paint
  • Touch Pattern
  • Touch Proxy
  • Touch Ripples
  • Touch Transformations
  • Web Browser
  • Touch Teleport
  • Touch Simulator
INPUT/OUTPUT (I/O)
  • GPI
  • Joystick
  • Keyboard
  • MIDI
  • Mouse
  • Network
  • Open Sound Control
  • Serial
  • Timecode
  • DMX
  • HTTP
  • RamDiskWriter
LAYER
  • 3D Layers
  • 3D Layer Reference
  • 2D Layers
  • PSD Import Layer
  • E2E Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Text Splitter
  • Timer
  • Toggle
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
RENDER OPTIONS
  • Alpha Blending
  • Color Write
  • Alpha Testing
  • Clip Plane
  • Filter
  • Mask
  • Mirror
  • Effect
  • Render Cube Map
  • Draw Modes
  • Stencil
  • ZTesting
SOUND
  • Audio Clip
  • Sound
  • Volume Control
  • Audio Analysis
SLIDES
  • Slide Manager
  • Slide
  • Slide Port
  • Pivot
TEXT
  • Text Effects
  • Text Layouts
  • Text Rendering
TEXTURE
  • Background
  • Hatch
  • Image
  • Texture
  • SVG Loader
  • Gradient Texture
  • Live Video
  • Movie Stream
  • Movie Frame
  • Movie Clip
  • Texture Loader
  • Snapshot
  • Snapshot Framebuffer
  • Texture Saver
  • Video Source Selector
  • VIO Input
  • Spout Receiver
  • NDI Receiver
  • Substance Loader
  • QR Code
VR/AR
  • Tracked Devices
  • Draw Tracked Devices
WORLD
  • Axis
  • Billboard
  • GetWorld
  • SetWorld
  • Arrange
  • Ticker
  • Layout
  • Group
  • World Z Sort
  • YesNo
  • Switch
  • Spread
  • Filter Pass
  • Set Pass
  • Hierarchy Container
  • Scene Port
  • Content Container
  • Template Port
  • Container Info
  • Camera
  • Paths

Advanced and Development

  • Advanced and Development Index
  • Command Line Options
  • Ventuz IP Ports
  • Ventuz Machine Service
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz Extension API
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API
  • Lens Calibration File for FreeD
  • E2E Node Overview
  • Unreal Integration
  • Notch Integration
Remoting
  • Remoting Index
  • Remoting Overview
  • How To Control and Customize Ventuz
  • Remoting 4
  • Remoting 4 via Websockets
  • Remoting 4 via HTTP
  • Director Remoting
  • Deprecated Remoting
  • Remoting Machine Signature

Misc

  • Presets
« Previous:
» Index «
Next: »

How to Use Head Mounted Displays

Table of Contents

  1. Introduction
  2. Requirements
    1. Requirements Oculus rift
    2. Requirements Samsung Odyssey VR
    3. Requirements HTC-Vive
  3. Setup
    1. Ventuz Configuration
  4. VR related Nodes
    1. VR/AR Nodes
    1. Camera Properties with VR
  5. Create a simple VR Experience
    1. Use Controllers for Interaction
    2. Change the Controllers appearance
  6. Conclusion

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).

Introduction

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.

Requirements

Besides the System Requirements of Ventuz you must match at least the following requirements.

  • Ventuz 5.2.00 or newer, check the latest version ​here
  • Steam and SteamVR ​Download Steam here
  • If you are using the Oculus Rift, the related Software has to be installed, check ​here

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.


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 7 SP1 64bit


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 geeration), 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


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, please check them regularly for changes.


Setup

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.
  • For the Samsung Odyssey you must install Steam, Steam VR and Windows Mixed Reality for Steam VR to be able to use it in Ventuz.

Ventuz Configuration

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.


VR related Nodes

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.

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

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 simple 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

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 your VR Scene.

With VR Systems other than the HTC Vive or Oculus with Touch you would need to create your interaction using a Joystick Node.

In this example we are using the HTC VIVE controllers, the same could be achieved with the Oculus and the Oculus Touch controllers. 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.

Change the Controllers appearance

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.

Conclusion

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.

See also:
  • Ventuz Help Start Page
  • Introduction to Realtime Rendering
  • Getting Started
  • Ventuz User Interface
  • Nodes and Bindings
  • ​Oculus Rift Homepage
  • ​HTC-Vive Homepage

« Previous:
» Index «
Next: »
Copyright 2022 Ventuz Technology