Motion Camera Effects

Motions in VR can often cause the user of the application to feel discomfort because the movement happens only in the virtual space, and there is no indication of physical displacement in the actual world. A common approach for reducing this discomfort is to provide camera effects that either limit peripheral vision or even make the entire device screen black for a short period during the movement. Telerik XR Motions provides both camera effects, and you may find them in the package as CameraTunnelVision and CameraFadeoutOverlay.

CameraFadeoutOverlay Class

This class is used by both camera effects. It is used to set the _Fade parameter of a mesh material. The difference in the effects is that they are using different meshes and different material shaders to achieve the specific effect.

CameraFadeoutOverlay Effect

This effect may be found as a child of the XR Camera object in the XR Rig hierarchy. It uses a Quad mesh and custom shader called UnlitCameraFadeOverlay. The result is that when its fade value is greater than zero, the overlay effect is drawn over the entire screen.

CameraTunnelVision Effect

This effect may be found as a child of the XR Camera object in the XR Rig hierarchy. It uses a TunnelVision mesh and a custom shader called UnlitCameraTunelVision. The result is that when its fade value is greater than zero, the peripheral vision gets limited as this is the zone with most view differences during the movement.

Camera Effect Settings

Both camera effects are referenced by the Locomotion script attached to the XR Rig root object. This script also references the LocomotionUserSettings asset and based on the chosen settings it decides whether to use the camera effects for the specific movement scenario. The CameraFadeoutOverlay effect is activated when the Movement mode is set to Blink, while the CameraTunnelVision effect is activated by the Tunnel Vision setting value, which may be Off, Rotation, or Rotation and Movement.

In this article
Not finding the help you need?