What do you know about VR?
Tags: vr, development, virtualmachine, programming
Published: 2024-02-10 13:08:02

On a particular day, amidst the bustling confines of our office, my colleague embarked on an intriguing discourse about virtual reality. To my chagrin, I realized that I had missed the very zenith of its evolution. Thus, determined to make amends for lost time, I resolved to delve deep into this realm, acquainting myself with its nuances and intricacies. Moreover, I pledged to craft my own virtual reality application, an endeavor through which I shall share my triumphs and insights with the world.

**Virtual reality (VR)** is a simulated experience that employs pose tracking and 3D near-eye displays to give the user an immersive feel of a virtual world. It is a computer-generated environment with scenes and objects that appear to be real, making the user feel they are immersed in their surroundings. VR enables a person to interact with an artificial three-dimensional environment, providing an experience that can be used for work, play, education, and more.

## Key Takeaways
- Virtual reality (VR) is a simulated experience using pose tracking and 3D near-eye displays.
- It creates an immersive feel of a virtual world, making the user feel they are present in the environment.
- VR can be used for various purposes such as gaming, education, medical training, and more.

## Types of Virtual Reality
Virtual reality has undergone significant evolution, resulting in various types, each boasting distinct features and applications. Among the most pioneering forms of virtual reality that presently exert substantial influence and promise to shape the future are the following:

**1. Non-Immersive Virtual Reality**

Non-immersive virtual reality encompasses computer-based simulations where users exert control over characters or activities within the software, yet the environment does not directly engage with them. Alongside desktop computers, powerful laptops equipped for virtual tasks and portable productivity are increasingly sought after by consumers. In response to the growing demand for mobility, manufacturers engineer robust systems packaged in compact forms.

For instance, in gaming scenarios like World of Warcraft, players manipulate characters endowed with distinct movements and attributes. While technically interacting with the virtual environment, users remain secondary to the focal point of the game. All actions and features within the virtual landscape revolve around the characters embedded within it, maintaining a degree of separation from direct user engagement.

![Non-Immersive Virtual Reality](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nfbsw69sl9vat9285jlg.jpeg)
_The picture shows a computer monitor with an image of a virtual world on the screen. Next to him is a person who controls the characters or actions in this virtual world using a keyboard and mouse. However, there is no physical interaction or immersion between it and the virtual world, and the user still remains in the real world while sitting at the computer._

**2. Fully Immersive Virtual Reality**

In contrast to non-immersive virtual reality, fully immersive virtual reality offers an unparalleled sense of realism within the digital realm. Users are enveloped in a convincing virtual environment, experiencing events as if they were unfolding in real-time. This advanced VR format demands specialized equipment such as helmets, gloves, and sensor-laden body connections, all intricately linked to high-performance computers.

Within the virtual landscape, intricate sensors capture and reflect users' emotions, reactions, and even subtle movements like a blink of an eye, enhancing the sense of immersion. An illustrative example involves being equipped in a confined space with requisite hardware to engage in immersive experiences such as virtual shooter games, where the boundaries between reality and simulation blur seamlessly.

![Fully Immersive Virtual Reality](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2975qwjryr1x2rw8msxy.jpeg)
![Fully Immersive Virtual Reality 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rbct5ogx3nin5vkm3ku5.jpeg)
_The pictures show a person wearing a specialized virtual reality headset, gloves and connected to a computer. It is surrounded by a convincing virtual environment with various objects and scenes. The figure also shows how the sensors on the user’s equipment react to his movements, emotions and reactions. Thus, it is clear that the user is completely immersed in the virtual space and interacts with it, experiencing events as if they were happening in real time._



**3. Semi-Immersive Virtual Reality**

A semi-immersive virtual reality encounter amalgamates elements from both fully immersive and non-immersive VR experiences. Utilizing a computer screen or VR headset, individuals can explore independent 3D spaces or virtual worlds. Within these environments, all interactions are directed towards the user, albeit without substantial physical movement beyond visual perception. Navigation in virtual realms occurs via conventional input methods such as mouse control on computers or finger gestures and swipes on mobile devices.


![Semi-Immersive Virtual Reality](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3k4jr6k264ejax9muw0t.jpeg)
_The picture shows a man using a computer monitor and a virtual reality headset. He is in a virtual environment, but is not completely immersed in it. Some objects and the scene around him show that he is exploring independent 3D spaces or virtual worlds. All interactions are directed towards the user, although physical movements are limited and limited to visual perception. To navigate the virtual world, standard control methods are used, such as the mouse on a computer or finger gestures on mobile devices._

**4. Collaborative VR**

Collaborative Virtual Reality (VR) epitomizes a digital realm where individuals scattered across various locations communicate through avatars or 3D personas. This technology enables multiple users to converge within a shared virtual space simultaneously, fostering real-time interaction, dialogue, and collaborative engagement on diverse undertakings.


![Collaborative VR](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aricrpcq1ifwqzc26t75.png)
_The picture shows a virtual space where several people in different places interact with each other through their avatars or 3D characters. Around them are elements of the virtual environment, such as interfaces, objects, as well as areas of communication and collaboration. Avatars can be shown in various poses, communicating or working together on a project. The background may contain futuristic elements reflecting the digital nature of virtual reality._

**5. Augmented Reality**

Augmented Reality (AR) represents a cutting-edge technology seamlessly blending real-world settings with computer-generated elements. By integrating virtual objects into physical environments, AR empowers users to engage with digital content within their tangible surroundings.


![Augmented Reality](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rs7eb5c6qbzp3pvart1e.png)
_The picture shows a scene from the real world, for example, a cityscape, a street. This scene may contain people, buildings, cars, and other real-world objects. But besides this, the picture also contains virtual elements that are added to the real picture using AR technology. These could be, for example, virtual information panels, navigation signs, or even virtual creatures or objects that interact with the real environment. This image demonstrates the idea of how AR combines the virtual and real worlds, creating a unique and interactive experience for users_

**6. Mixed Reality**

Mixed reality (MR) stands at the forefront of technological innovation, blending the realms of reality and virtuality to craft immersive environments. This cutting-edge technology intertwines virtual elements with the physical world, forging a seamless and dynamic user experience.


![Mixed Reality](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9e79gywabecbjhonf61k.jpeg)
_In the visual portrayal, a gentleman is depicted adorned with an augmented reality apparatus, notably a helmet. Encircling him are tangible articles of reality: a table, chairs, and various environmental components. Additionally, virtual entities and elements coalesce seamlessly with the corporeal realm, either intermingling with tangible objects or seamlessly integrating into the ambient surroundings, blurring the line between the virtual and the authentic world._

As I embark on exploring this topic, my commitment lies in comprehending its intricacies thoroughly. Additionally, I aspire to develop a VR application, for which I will require a specific set of knowledge and skills. 

- **Programming Languages**: Depending on the VR platform you choose (e.g., Oculus, HTC Vive, PlayStation VR, Google Cardboard, Samsung Gear VR), you may need to know different programming languages. For instance, Unity with C# or JavaScript is commonly used for Oculus Rift and HTC Vive, while PlayStation VR development might require knowledge of C++ using the PlayStation VR SDK.

- **SDKs and Frameworks**: It's important to learn and utilize the appropriate Software Development Kits (SDKs) and frameworks for VR development. For example, Unity offers a dedicated package for VR development, providing tools and resources for creating VR projects.

- **Graphic Design and 3D Modeling**: Creating virtual worlds and objects will require skills in graphic design and 3D modeling software such as Blender, Maya, 3ds Max, among others.

- **Performance Optimization**: Since VR applications demand high performance, understanding how to optimize code and resources to achieve stable frame rates and minimize latency is crucial.

- **Experience with VR Hardware**: Understanding how VR hardware works (such as headsets, controllers, motion trackers) and how to interact with it in your application is also important.

- **Testing and Debugging**: Being able to test and debug VR applications on various devices and platforms will help identify and fix performance and compatibility issues.

- **Understanding VR User Interface**: Developing a user-friendly and intuitive user interface for VR applications requires an understanding of how users interact with virtual environments.

By learning these skills and gaining experience, I can start developing VR applications and explore this exciting and promising technology domain.

So, if this topic resonates with you and piques your interest, feel free to join in and also recommend any reading materials that can further delve into this subject.