This feature is currently in Beta due to the technology that it uses. This functionality makes use of WebXR or WebVR dependant on browser version. These browser features are not yet widely supported. Check WebXR and WebVR support for more information.
The VR Camera entity lets you add a VR camera to a DriveWorks 3D scene. The VR Camera entity is specifically developed for VR headsets and phones. It will only become active if you have a supported device.
The VR Camera entity, when in use, will create two displays of your 3D scene, one for the left eye and one for the right eye. When this is used in a VR device, it creates a virtual reality experience inside your 3D model.
WebXR is overtaking WEBVR as the web standard for virtual reality. Although the browser support for WEBXR is currently lower, it will increase as browsers adapt their technology to facilitate user demand.
The following list of devices, currently work with VR:
Device | Browser | API |
---|---|---|
Oculus Quest | Oculus Browser (native) | WebXR & WebVR (Soon to be deprecated) |
Chrome Android | Chrome (Version 79+) | WebXR |
HTC Vive | Firefox Desktop | WebVR (Soon to be deprecated) |
Please note, in the case of WebVR, as browsers update and change this feature may be deprecated.
With a node selected and the VR Camera entity added to the node, the following will be displayed in the Information Panel:
Camera Enabled
Enable and disable the VR Camera using this property. TRUE enables the Camera, FALSE disables it.
Display Sky Box
Enable and disable the Sky Box in this VR Camera. The Sky Box is the sky environment that appears around models. TRUE enables the Sky Box and FALSE disables it.
Background Color
Allows a Background Color to be set on the Camera. This background is independent from other Cameras and the Default Camera on the Preview Control.
Enter a number from 0 to 255.
Enter a number from 0 to 255.
Enter a number from 0 to 255.
Enter a number from 0 to 255. Controls the transparency of the Cameras Background Color.
Override Default Camera Effects
By default, all Camera Entities will use the main Default Cameras effects. This option will override that and allow you to switch individual Camera effects on or off on each Camera Entity.
Bloom Enabled
Enable and disable Bloom on the VR Camera entity. Disabling Bloom means it won't display the VR Camera. TRUE enables the effect, FALSE disables it.
Radius
This is the distance between blur samples on the actual image. This can be considered as the amount of light spread created by the Bloom effect.
Intensity
Intensity is a flat multiplier on the Bloom effect. Increasing this value makes the Bloom effect brighter.
Threshold
Areas of the model brighter than this threshold will receive blooming and blurring. Threshold is the brightness at which to start the Bloom effect.
Downsampling
Bloom creates a texture and applies it to the final rendered image. Downsampling controls the size of this texture.
Downsampling is the number of times to divide the texture size that Bloom is performed at. For example:
Lower values are less performant because it creates a higher resolution image but produces higher quality renders. Higher values are more performant but will reduce the final render quality.
Using the VR Camera entity is quite straight forward. To make it work with VR headsets and phones you will need to use the VR Camera entity along with the XR Orientation entity and the Raycast entity. The VR Camera provides the image whilst the XR Orientation entity provides the movement and Raycast provides click interaction. The two entities must be combined to create virtual reality with movement.
As well as this, the XR Orientation entity is used to create two hand controllers, left and right. This entity is combined with a model and the Raycast entity to create controllers that can select models in the scene.
The resulting node structure looks like the following:
VR Camera requires little effort to setup, you add it to a Node with the XR Orientation entity and it will work. Make sure it is enabled and added to the same Node as the VR Orientation entity.
The XR Orientation entity can take one of three values. These are headset, left or right. Headset is the head mounted VR display orientation, left is the left hand controller orientation and right is the right hand controller orientation.
The Raycast entity is also straight forward to setup. Each Raycast entity takes a button Id or a list of button Ids. In most circumstances you can simply enter 0|1 into the Gamepad Button Ids property on the Raycast entity. This will cause the Raycast to trigger when the buttons with Ids 0 and 1 are pressed.
The hand model can be simple cubes or more complex models if you want to add them to your 3D scene. These are just to identify where the users hands are and the direction they are facing.
Lastly, ensure that the Enable VR property on the 3D Preview Control is set to TRUE. This enables the VR button on the control. This button lets you enter VR mode when visiting a DriveWorks Live website in a browser.