VR or virtual reality is a technology that allows you to immerse yourself in a previously simulated three-dimensional environment.
How developers create VR environments:
- Model it with a three-dimensional graphics editor (for example, through the game engine is configured so that the user can move around in the form of a virtual camera);
- Create it with a three-dimensional cube, the walls of which are stretched 360 panorama (photo, video or render).
If you want to use such an environment in a virtual reality format, you need to use additional equipment. As a rule, these are virtual reality headsets – standalone or wired.
Types of headsets:
-
Wired virtual reality headsets
-
Standalone virtual reality headsets
-
Standalone virtual reality headsets for mobile devices.
Virtual reality headset
HMD (head-mounted display). It consists of a frame, usually plastic, in which the display is mounted. The display is divided into two parts by software or hardware to show a picture for each eye separately.
Also, such devices are usually equipped with a gyroscope and accelerometer to track the rotation of the head. Additionally, the devices can track the user’s displacement and broadcast this displacement to the virtual environment. In this way, the user, while turning his head in reality, also turns it in the virtual scene.
The most common virtual reality helmets:
- Oculus Quest (2)
- Oculus Rift S
- HTC Vive (PRO, Pro 2)
- Vive focus (2, 3)
- HP reverb
- Pico Neo Pro (2, 3)
- PlayStation VR (2)
The most common virtual reality helmets for mobile devices:
- Gear VR
- Google Cardboard.
Content types and methods of content preparation for virtual reality
In most cases, virtual reality is presented in the form of applications for the Windows or Mac iOS platform or for Android and iOS mobile platforms. It can also be a WebGL web page with implemented functionality for virtual reality.
Unity and Unreal Engine game engines are used to develop virtual reality applications. Initially for the game application content is created, usually three-dimensional graphics. Also created effects, animations for three-dimensional graphics, sound series, two-dimensional graphics for the interface and so on. All of this content is loaded into the engine and a game level is set up. Then, some scenario consisting of a sequence of events (animations, sounds, etc.) is programmed.
Opportunities in virtual reality applications
Today almost all devices on the market (HTC Vive and HTC Pro, Vive Space, Vive Focus, Oculus V1, Oculus Quest) have 6DoF tracking (6 degrees of freedom), i.e. tracking movement in 6 planes or tracking movement with Six degrees of freedom.
The movement of the helmet and usually 2 controllers can be tracked in space, that is, the user can move in a certain zone. The size of this zone depends on the size and method of constructing the workspace and what device is used.
The workspace can be created by external sensors, which limit its perimeter, or by Inside Out-tracking, which is implemented based on a neural network that recognizes the plane. On this plane, it is possible to mark the zone in which the user will move, and during the entire work process, helmet cameras see the recognized zone and know where we are relative to it.
Due to such tracking of the user and controllers, it is possible to implement various interactivity: interaction with other players or objects in the virtual scene. For example, the user can walk up to a door, grab the handle, turn it, and open the door. Or you can launch a script, for example, find the light switch on the wall and press it to turn on the light.
It is also possible to implement multiplayer virtual reality applications: games (game scenarios, shooters, MOBA, RPG), simulator with different roles, where the user can be trained or, conversely, can be a teacher who tests the trainees.