Reference/Release Notes/2.83/Virtual Reality

Blender 2.83: Virtual Reality

2.83 is the first Blender release to include some native virtual reality (VR) support. The feature set is focused on specific use cases for scene inspection, so it is intentionally limited. The development team considers this to be the first milestone and base for more feature rich VR support.

(a22573e243d7, 3b1ef223bad5, dc2df8307f41, 406bfd43040a, 636b4ca23dbe)

First Milestone: Scene Inspection

Blender sharing a realtime viewport with the Windows Mixed Reality Platform

The scene inspection milestone refers to the ability to inspect the scene in VR, without interacting with content. Essentially this means head-mounted display (HMD) support as well as some simple settings (controllable from outside the VR view) to control the experience.


Use-cases that should be enabled through this milestone:

  • VR as a way for directors or clients to inspect scenes and give feedback to artists
  • Pre-visualization for artists working on VR games
  • Samsung GearVR/Google Cardboard movie making and app development



Supported Platforms

Blender sharing a realtime viewport with the Oculus Platform

The VR backend uses OpenXR, a new standard for virtual, augmented and mixed reality. Given that it is new, there's no production ready platforms for it yet. There are however well working development previews for Windows Mixed Reality and Oculus available. Unfortunatly, HTC/Valve/SteamVR devices do not work with OpenXR yet.


A Linux OpenXR runtime is also being developed: Monado. It needs to be compiled from source though and requires additional setup. It's not recommended to try this with little experience with compiling on Linux.



Platform Setup

A few simple steps are needed to use VR in Blender, they are explained in the manual.

VR Scene Inspection Add-on

The user interface for the VR features is managed through an add-on, which is disabled by default. It can be activated in the Preferences, as any other add-on. The new options are placed in the Sidebar of 3D Views.

Features

Main features include:

  • VR Viewport
    Support for rendering viewports to an HMD and using positional and rotational information from the device to move in the virtual space.
  • VR Mirror
    Each regular 3D View can act as a VR mirror, which will make it follow the perspective of the VR viewer.
  • Landmarks
    A system to store an arbitrary amount of cameras as viewer base poses. The location and rotation of the active landmark camera is used to determine the base location and rotation of the viewer. The camera icon in the list defines which landmark is currently used to define the viewer base pose of the VR session.
  • VR Camera Gizmo
    Each regular 3D View has the option Show VR Camera as part of the VR settings. It will draw a camera object like shape to indicate the current location and rotation of the viewer in the virtual space.
  • Positional Tracking Toggle
    Keeps the current position (calculated based on the VR eye center pose) when enabled while a VR session is running.
  • Debugging Tools
    New --debug-xr and --debug-xr-time command-line options.
  • Python-API
    BPY additions to manage VR settings and query session state information (bpy.types.XrSessionSettings, bpy.types.XrSessionState).
  • Helpful Error Reporting
    In cases like when no HMD is plugged in, or no OpenXR compatible runtime is found, errors are reported. The error handling was carefully designed to be reliable and to provide useful messages to the user.