0% found this document useful (0 votes)
19 views14 pages

21BLC1520 ARVR Lab8

The document outlines the fundamentals of Virtual Reality (VR), including its types, development processes, and popular platforms for creating VR applications. It details the steps involved in developing VR applications, such as concept planning, modeling, and testing, while also highlighting key tools and resources for Meta Quest development. Additionally, it provides examples of notable VR applications across various sectors, showcasing the technology's impact on gaming, education, and social interaction.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views14 pages

21BLC1520 ARVR Lab8

The document outlines the fundamentals of Virtual Reality (VR), including its types, development processes, and popular platforms for creating VR applications. It details the steps involved in developing VR applications, such as concept planning, modeling, and testing, while also highlighting key tools and resources for Meta Quest development. Additionally, it provides examples of notable VR applications across various sectors, showcasing the technology's impact on gaming, education, and social interaction.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

BECM302E – Augmented and

Virtual Reality

Experiment 8

Aim: VR Application

Name: Prashant Kumar


Register Number: 21BLC1520
Lab slot: L25+L26

Faculty : Dr. Sivakumar


Introduction
Virtual reality (VR) is a technology that creates a simulated
environment, allowing users to interact with a 3D computer-generated
world as though it were real. Using VR headsets, sensory gloves, or
other immersive devices, users can experience realistic sights, sounds,
and sometimes even touch. The goal of VR is to mimic a real or imagined
environment to the point that users feel present within it, a state known
as "presence."
There are several types of VR:
1. Non-Immersive VR: Limited interaction, typically accessed via a
computer screen (e.g., 3D simulations or virtual tours).
2. Semi-Immersive VR: Provides partial immersion using large
screens or 3D projectors, often used in educational and training
environments.
3. Fully Immersive VR: Uses a VR headset and other devices to
create a highly immersive experience, often with 360-degree
views and motion tracking for interactive, life-like experiences.
VR has applications across various fields, including gaming, education,
healthcare (e.g., training for surgeons), architecture, real estate, and
therapy, where immersive simulations can offer both training and
therapeutic benefits.
How are VR Applications developed
VR applications are developed using specialized software and hard-
ware that allow creators to build and simulate immersive virtual envi-
ronments. The development process involves various steps and tools:
1. Concept and Planning
• Define the purpose of the VR application (e.g., gaming, training,
education).
• Plan the interaction model (how users will interact within the en-
vironment) and the type of VR experience (non-immersive, semi-
immersive, or fully immersive).
• Identify the target VR platform (e.g., Oculus, HTC Vive, PlayStation
VR, or mobile VR like Google Cardboard).
2. Modeling and Design
• 3D Modeling: Create 3D assets for the environment and charac-
ters using software like Blender, Maya, or 3ds Max.
• Texturing and Lighting: Design textures and lighting to enhance
realism and immersion, typically done in the 3D modeling soft-
ware or directly within a game engine.
• Animation: Develop animations to bring objects and characters
to life, making interactions more realistic.
3. Game Engines and Development Tools
• Unity: One of the most popular engines for VR due to its VR SDK
compatibility, intuitive interface, and asset store. Unity supports
VR platforms like Oculus, HTC Vive, and more.
• Unreal Engine: Known for high-quality graphics and visual fidel-
ity, Unreal is also popular in VR development, especially for visu-
ally intensive applications.
• VR SDKs: Most VR headsets have software development kits
(SDKs) that offer tools for VR-specific features like head tracking,
hand gestures, and spatial audio. Examples include the Oculus
SDK, SteamVR SDK, and Google VR SDK.
4. Interaction Design and Physics
• User Interaction: Develop intuitive controls, such as hand track-
ing or gaze-based navigation, to allow users to interact naturally.
• Physics and Movement: Add realistic physics to ensure objects
behave as they would in the real world, increasing the sense of im-
mersion. Game engines often come with built-in physics engines
(e.g., Unity’s PhysX or Unreal’s Chaos Engine).
5. Sound Design and Spatial Audio
• 3D Audio: Implement spatial sound design, where audio adjusts
based on the user’s head position, creating a realistic auditory ex-
perience.
• Audio Tools: Use tools like FMOD or Wwise to integrate audio
that aligns with the virtual environment, enhancing the sense of
presence.
6. Testing and Optimization
• Performance Optimization: Ensure smooth performance, as VR
is demanding on hardware. Optimize frame rates to avoid lag,
which can cause motion sickness in VR.
• User Testing: Test with real users to refine interactions, com-
fort, and experience. VR requires a higher level of testing due to
potential discomfort issues.
7. Deployment
• Package and deploy the VR application to the target platform
(e.g., Oculus Store, SteamVR, or mobile app stores for mobile VR
applications).
• Continuously update the app based on user feedback and new VR
technology advancements.
Common VR Development Tools:
• Unity and Unreal Engine: Popular engines for creating VR expe-
riences.
• 3D Modeling Software: Blender, Autodesk Maya, or 3ds Max for
asset creation.
• VR SDKs: Oculus SDK, SteamVR SDK, and others for hardware in-
tegration.
• Audio Tools: FMOD, Wwise, or Unity’s built-in audio tools for
spatial sound.
Developing VR applications requires a mix of programming, design,
and user experience expertise, often involving collaboration between
developers, 3D artists, sound designers, and testers.

Platforms to develop VR applications

Several platforms are popular for developing VR applications, each of-


fering tools and SDKs tailored for different VR hardware and develop-
ment needs. Here are the main platforms used for creating VR applica-
tions:
1. Unity
• Overview: Unity is one of the most widely used game engines for
VR development. It’s known for its ease of use, extensive docu-
mentation, and large asset store.
• Supported VR Hardware: Oculus, HTC Vive, PlayStation VR,
Windows Mixed Reality, Google Cardboard, and more.
• SDKs and Plugins: Unity integrates with SDKs like Oculus SDK,
SteamVR SDK, and Google VR SDK to facilitate VR development.
• Programming Language: Primarily uses C#.
2. Unreal Engine
• Overview: Unreal Engine, developed by Epic Games, is popular
for high-fidelity graphics and is commonly used in VR applica-
tions requiring visually immersive experiences.
• Supported VR Hardware: Oculus, HTC Vive, PlayStation VR,
Windows Mixed Reality, and others.
• SDKs and Plugins: Unreal supports VR through plugins for Ocu-
lus, SteamVR, and other major SDKs.
• Programming Language: Primarily uses C++ and a visual script-
ing system called Blueprint, which is useful for non-program-
mers.
3. CryEngine
• Overview: Known for its realistic graphics and environmental
rendering capabilities, CryEngine is suitable for VR experiences
with detailed natural environments.
• Supported VR Hardware: Oculus Rift, HTC Vive.
• SDKs and Plugins: CryEngine VR support is available for Oculus
and SteamVR.
• Programming Language: Lua, C#, and C++.
4. Amazon Sumerian
• Overview: A web-based VR and AR platform by Amazon Web
Services (AWS) that allows for VR development without exten-
sive coding.
• Supported VR Hardware: Oculus, HTC Vive, and mobile VR
headsets like Google Daydream.
• SDKs and Plugins: Integrates with AWS for backend services,
and the applications run in web browsers that support WebVR.
• Programming Language: JavaScript.
5. Godot Engine
• Overview: A free, open-source game engine with a growing VR
support ecosystem, ideal for indie developers and hobbyists.
• Supported VR Hardware: Oculus and HTC Vive through com-
munity-created plugins.
• SDKs and Plugins: Supports OpenVR and the Oculus Mobile SDK
for standalone VR.
• Programming Language: GDScript, an easy-to-learn language
similar to Python, as well as C# and C++.
6. WebVR and WebXR
• Overview: Web-based platforms for VR that allow developers to
create VR experiences accessible through web browsers.
• Supported VR Hardware: Google Cardboard, Oculus, HTC Vive,
and other VR devices that support WebVR or WebXR.
• SDKs and Plugins: WebXR and WebVR APIs enable VR on web
browsers; frameworks like A-Frame (based on Three.js) simplify
development.
• Programming Language: JavaScript, with WebGL for 3D
graphics.
7. PlayStation VR SDK
• Overview: The official SDK for creating VR applications for
PlayStation VR on PlayStation 4 and PlayStation 5.
• Supported VR Hardware: PlayStation VR.
• Programming Language: Primarily uses C++ with a custom API
provided by Sony.
8. OpenXR
• Overview: OpenXR is an open standard that aims to provide a
unified development framework across multiple VR platforms.
• Supported VR Hardware: Cross-platform compatibility with Oc-
ulus, HTC Vive, Windows Mixed Reality, and more.
• Programming Language: Compatible with major game engines
like Unity and Unreal Engine, with various SDKs providing bind-
ings in C++ and other languages.
9. SteamVR
• Overview: SteamVR is a platform created by Valve, primarily for
VR content distribution and interaction.
• Supported VR Hardware: HTC Vive, Oculus Rift, and other
headsets compatible with the SteamVR ecosystem.
• SDKs and Plugins: SteamVR SDK offers tools and APIs for VR de-
velopment, compatible with Unity and Unreal.
• Programming Language: Compatible with Unity (C#) and Un-
real Engine (C++).
Each platform has its strengths, making it suitable for different types
of VR applications, from high-fidelity games and simulations to more
lightweight mobile or web-based VR experiences.
Development for Meta Quest
Meta Quest development is done using popular game engines like Unity
and Unreal Engine, which integrate directly with Meta’s VR SDKs.
Here’s a detailed guide:
1. Set Up Development Environment
• Download Meta Quest SDK: Go to the Meta for Developers web-
site and download the latest Oculus Integration package for Unity
or Unreal Engine, depending on your choice of platform.
• Install Unity or Unreal Engine:
– Unity: Unity is commonly used for Meta Quest development
because of its extensive VR support.
– Unreal Engine: For high-quality visuals, Unreal is another
good option. Unreal also provides Oculus VR plugins.
2. Configure the Meta Quest for Development
• Enable Developer Mode:
1. Use the Meta Quest mobile app on your smartphone.
2. Go to Settings > Devices > Developer Mode and toggle De-
veloper Mode on.
• Connect Meta Quest to PC: Connect your headset to your com-
puter with a USB-C cable. You may need to allow data access and
permissions on your Meta Quest.
3. Set Up Unity Project for Meta Quest
If you are using Unity, follow these steps:
• Install Android Build Support: Go to Unity Hub > Installs, select
the version you’re using, and ensure Android Build Support is
installed.
• Open Unity and Create a New Project:
– Choose the 3D or VR template (if available).
– Import the Oculus Integration Package: Import it from the
Asset Store or download it from Meta’s developer site.
• Set Up Project Settings:
– Go to Edit > Project Settings > XR Plug-in Management
and enable Oculus under Android.
– In Player Settings, set the Target API Level to the recom-
mended API level for Meta Quest (usually 29 or higher).
– Set the Minimum API Level to Android 7.0 (Nougat) or
higher.
4. Create a VR Scene
• Add Camera and Controllers:
– In Unity, delete the default Main Camera, and add the OV-
RCameraRig from the Oculus Integration package.
– This rig provides a stereoscopic camera setup with head-
tracking, tailored for Meta Quest.
• Add Interactions:
– Use OVRPlayerController for basic locomotion.
– For hand and controller tracking, use the Oculus Touch
Controllers prefab.
• Configure Environment and Lighting:
– Use lightweight objects and limit the polygon count to keep
the frame rate high, as Meta Quest is a standalone device
with limited resources.
5. Add VR Interactions and User Interface
• Grabbing and Interacting with Objects:
– Use OVRGrabber and OVRGrabbable components to make
objects interactive.
• UI Elements:
– Use World Space Canvas in Unity for UI elements that can
be seen in VR.
– Ensure UI elements are large enough and spaced correctly
for VR readability.
6. Testing the App on Meta Quest
• Build and Deploy the App:
1. Go to File > Build Settings, select Android as the platform,
and click on Build and Run.
2. Unity will create an APK and deploy it to your Meta Quest
headset if connected.
• Debugging:
– Use Oculus Developer Hub for real-time debugging, profil-
ing, and monitoring app performance.
7. Optimize for Meta Quest Performance
• Graphics Settings:
– Use Forward Rendering instead of Deferred Rendering to
reduce computational load.
– Limit resolution and reduce draw calls by optimizing
shaders, textures, and lighting.
• Frame Rate:
– Aim for a consistent 72Hz frame rate to avoid discomfort.
Use Unity’s Profiler or Unreal’s GPU Profiler to monitor per-
formance.
• Reduce Latency:
– Keep interactions smooth by reducing the number of objects
and using baked lighting where possible.
8. Prepare for Deployment
• Create a Meta Developer Account: Set up a Meta Developer Ac-
count and create an app in the Meta Developer Dashboard.
• Sign Your APK: In Unity, under Publishing Settings, create a new
keystore and sign your APK for production.
• Submit to the Meta App Lab or Oculus Store: Follow the sub-
mission guidelines on Meta’s developer website to publish your
app for Meta Quest users.
Key Tools and Resources for Meta Quest Development:
• Oculus Developer Hub: A PC/Mac tool to manage Meta Quest de-
vices, deploy APKs, and monitor performance.
• Meta Developer Documentation: Provides sample code, SDKs,
and best practices specific to Meta Quest development.
• Unity Asset Store: For additional VR assets and tools to enhance
your app.
By following these steps, you can develop, test, and deploy a VR appli-
cation for Meta Quest! The process requires knowledge of VR design
principles and efficient coding practices to ensure a smooth, immersive
user experience on standalone VR hardware.
Virtual Reality (VR) has revolutionized various industries by provid-
ing immersive experiences that blend the digital and physical worlds.
Here are some notable VR applications across different sectors:
1. Google Earth VR
Explore the world from a new perspective.
• Description: Google Earth VR allows users to virtually travel an-
ywhere on the globe, offering a bird’s-eye view of cities, land-
marks, and natural wonders.
• Platform: Available on Steam for HTC Vive and Oculus Rift.
• Use Case: Ideal for virtual tourism, education, and geographic
exploration.
2. Tilt Brush
Unleash your creativity in a 3D space.
• Description: Tilt Brush by Google enables users to paint in a
three-dimensional space using various brushes and effects, creat-
ing immersive art pieces.
• Platform: Compatible with HTC Vive, Oculus Rift, and Windows
Mixed Reality.
• Use Case: Popular among artists and designers for creating 3D
art and visualizations.
3. Beat Saber
Experience rhythm-based gaming like never before.
• Description: Beat Saber is a VR rhythm game where players
slash blocks representing musical beats with lightsabers.
• Platform: Available on Oculus Quest, PlayStation VR, and
SteamVR.
• Use Case: Combines entertainment with physical activity, en-
hancing hand-eye coordination.
4. VRChat
Connect and socialize in virtual environments.
• Description: VRChat is a social platform that allows users to in-
teract with others in user-generated virtual worlds using custom
avatars.
• Platform: Supports Oculus Rift, HTC Vive, and Windows Mixed
Reality.
• Use Case: Facilitates virtual meetups, events, and collaborative
experiences.
5. Quill by Smoothstep
Create detailed illustrations and animations in VR.
• Description: Quill is a VR illustration and animation tool that of-
fers intuitive controls for creating expressive 3D art and anima-
tions.
• Platform: Available on Oculus Rift.
• Use Case: Used by artists and animators for storytelling and cre-
ative projects.
6. Nature Treks VR
Immerse yourself in serene natural environments.
• Description: Nature Treks VR offers users the experience of ex-
ploring beautiful, tranquil natural landscapes, promoting relaxa-
tion and mindfulness.
• Platform: Compatible with Oculus Rift, HTC Vive, and Windows
Mixed Reality.
• Use Case: Utilized for meditation, stress relief, and virtual tour-
ism.
7. InCell VR
Educational gaming meets immersive learning.
• Description: InCell VR is an educational game that takes users
on a journey inside the human body to learn about cellular struc-
tures and processes.
• Platform: Available on Android and iOS devices with VR support.
• Use Case: Serves as an interactive tool for biology education and
virtual learning.
8. Homeworld: Vast Reaches
Command fleets in a mixed reality space.
• Description: Homeworld: Vast Reaches introduces players to
the beloved RTS series as both an immersive VR experience and
through its optional mixed reality mode.
• Platform: Available on Meta Quest 3.
• Use Case: Offers a blend of resource management and real-time
strategy in a VR setting.
9. Airspace Defender
Defend your city in a mixed reality arcade game.
• Description: Airspace Defender is a modern take on the classic
Missile Command arcade game that utilizes Quest 3’s color
passthrough and hand tracking to create an immersive mixed re-
ality experience.
• Platform: Available on Meta Quest 3.
• Use Case: Delivers nostalgic gameplay with modern VR technol-
ogy.
10. Wooorld
Explore the globe in mixed reality.
• Description: Wooorld uses Google’s API to access global data, al-
lowing users to explore 3D views of any location on the planet in
a mixed reality setting.
• Platform: Available on Meta Quest 3.
• Use Case: Facilitates virtual exploration and education.
These applications showcase the diverse capabilities of VR technology,
from gaming and social interaction to education and creative expres-
sion.

You might also like