
How a VR Experience is Created

How a VR Experience is Created
Introduction
Creating a VR experience is a complex and fascinating journey. Our goal is to give you a behind-the-scenes look at what goes into making a virtual reality experience come to life. This section is designed for both potential and current customers who are curious about the intricate process involved.
From Idea to Design
Every great VR experience begins with an idea. For our B2B projects, these ideas are developed in close consultation with our clients to ensure we meet their specific needs. We then use Miro, a powerful collaborative visualization tool, to bring these ideas to life. Here, we brainstorm, sketch, and plan the initial concepts.
Creating 3D Models
Once the concept is solidified, we move on to 3D modeling, primarily using Maya. The types of models we create can vary widely, from excavators for construction simulations to intricate nanofabricators for semiconductor manufacturing.
The modeling process involves several key steps:
Conceptualization: Generating ideas and initial sketches.
Planning: Detailed planning of the models.
Modeling in Maya: Creating the 3D models.
UV Mapping: Preparing models for texturing.
Texturing: Applying textures to models.
Light Baking: Baking light into the scene to ensure realistic lighting.
Optimization: Enhancing performance for smooth operation.
Light Baking
Light baking is a critical step in making our VR scenes look realistic. Essentially, it's the process of "baking" the lighting into a scene so that it looks real without putting too much strain on the computer's resources during real-time rendering. In Unity, we use techniques like Global Illumination and Baked Lighting to achieve this.
Watch this video if you really want to dive into the art of light baking. By @TheUnityWorkbench on Youtube
Texturing and UV Mapping
Texturing is where we add the visual details that make our models come alive. We use tools like Substance Painter and Photoshop to create these textures. The process starts with UV mapping, which prepares the model by creating a 2D representation of its surface.
Here’s how we do it:
UV Mapping: Preparing the model with a UV layout.
Texturing in Photoshop: Creating textures by painting directly on the UV map, using layers and effects to add realism.
Exporting: Exporting these textures from Photoshop.
Applying in Unity: Importing and adjusting the textures in Unity to fit perfectly on the 3D models.
Interactivity and Programming
The interactivity in our VR experiences is powered by Unity and programmed using C#. This is where the magic truly happens, and it's one of the most labor-intensive aspects of VR development. Imagine a scene where you spawn in an elevator at a gravel pit, step out onto a platform, and start interacting with various controls. You can press buttons, pick up a tablet to start processes, and all this happens in a multiplayer environment where everyone can see and interact with the same elements.
Creating such an interactive environment involves a complex series of steps:
Designing Interactions: Defining how users will interact with every element in the VR world.
Coding: Writing extensive scripts in C# to ensure each interaction works seamlessly.
Networking: Setting up the multiplayer environment so that multiple users can interact in real-time without lag or synchronization issues.
Testing: Conducting rigorous user testing to gather feedback on the intuitiveness and realism of the interactions.
Iterating: Continuously refining the interactions based on feedback to achieve the closest possible approximation to real-life experiences.
Each interactive element must be meticulously programmed and tested. For example, when a user presses a button in VR, it isn't just about making the button visually depress. The system must also trigger a series of events, provide haptic feedback through the controller, and ensure that the action is visible to all users in a multiplayer setting. This requires deep expertise in both software engineering and user experience design.
To ensure these interactions are intuitive and realistic, we conduct regular user testing and gather feedback, always aiming to make the virtual interactions as close to real-life as possible. This iterative process of coding, testing, and refining is incredibly detailed and time-consuming, but it is essential for creating a truly immersive VR experience.
Sound Design and Integration
Sound is a vital part of any immersive VR experience. We source our sounds from Splice, a comprehensive sound library, and then redesign them in Reaper. Whether it's background music, sound effects, or ambient noises, we aim to replicate real-world audio environments as closely as possible.
Here’s our sound design process:
Importing Sounds: Bringing sound clips into Reaper.
Editing: Adjusting and refining the sounds.
Exporting: Exporting the final sound clips.
Integrating in Unity: Creating Audio Sources in Unity, assigning the sounds to these sources, and adjusting settings like volume, spatiality, occlusion, and reverb. Testing and fine-tuning are crucial here to ensure the best audio experience.
Optimization for VR
Optimization is key to ensuring that our VR experiences run smoothly, especially on standalone VR headsets. This involves several techniques:
LOD Models: Creating multiple levels of detail for models depending on their distance from the camera.
Optimizing Textures and Meshes: Reducing the number of polygons and using smaller textures for distant objects.
Baked Lighting: Using light baking to reduce the load on real-time rendering.
We use tools like Unity Profiler and techniques like Occlusion Culling to achieve these optimizations. The most challenging part of optimization is reducing the number of triangles in a model without compromising its visual quality, a task that often requires both automated and manual adjustments by our skilled 3D artists.
Example Scene: Interactive Tour
One of our standout projects involved creating an interactive tour where the user is guided by Swedish astronaut Christer Fuglesang on the planet Mars. Users spawn inside a Mars rocket and need to solve a problem with the Mars rover on the surface of the planet. The user must call for a lift to get down to the surface and start various processes by interacting with buttons and hand scanners. The user then steps out onto a platform which will take them down. This experience is designed to be interactive and exhilarating.
Our new breathtaking Mars Quest VR experience is the perfect introduction to VR
Conclusion and Summary
Creating a VR experience is a meticulous and labor-intensive process. We hope this overview has given you a better understanding of the dedication and expertise involved. It's not just about coding and graphics; it's about creating a seamless, immersive world where every detail matters. Our aim is to educate without condescension, leaving you with a deeper appreciation for the art and science of VR development.