SlideShare a Scribd company logo
BUILDING THE MATRIX: YOUR FIRST VR APP
@MISSLIVIROSE
1
ABOUT ME
Livi Erickson
Livi.Erickson@Microsoft.com
 Virtual & Augmented Reality Developer /
Evangelist
 VR Blog: The Matrix is my Office
 @MissLiviRose on Twitter
2
BUILDING VIRTUAL REALITY APPLICATIONS
 Why Build for Virtual Reality?
 Understanding the VR Device Ecosystem
 Breakdown of a VR application
 Building a VR app: Development Options
 Design Considerations & Concerns for VR today
 Q & A
3
WHY BUILD FOR VR?
4
5
It’s Really, Really Fun.
6
We’re Used to 3D Interactions
7
The Freedom to Redefine Possibilities
 Storytelling is significantly more immersive in an
environment that surrounds the user
 Virtual experiences improve empathy in the viewer
 Visualizations of complex data
 New and improved ways of interacting with the
technical ecosystem that we’ve been building for
decades
VR DEVICE ECOSYSTEM
DESKTOP // MOBILE
9
PLATFORM GROWTH
 2012:
 Oculus Developer Kit 1
 2014:
 Oculus Developer Kit 2
 Cardboard
 GearVR Innovator Edition 1
 2015:
 GearVR Innovator Edition 2
 Gear VR
 HTC Vive Developer Kit 1
 OSVR
 2016:
 Oculus Rift
 HoloLens Developer Kit
 HTC Vive Pre
 HTC Vive
 PlayStation VR
 FOVE Developer Kit
 Gear VR
TODAY’S TECHNOLOGY
Virtual
Reality
Fully immersive
experience that
replaces your
physical world
Example: Oculus Rift
Augmented
Reality
Overlays digital
information about
the physical world
around you
Example: Google
Glass
Mixed
Reality
Combines virtual
objects and the
physical world
Example: Microsoft
HoloLens
HEAD MOUNTED DISPLAYS
Head Mounted Displays (HMDs) can be desktop-
powered devices or mobile-powered devices
 Desktop: Separate display device self-containing
screen, content provided externally from a
separate PC
 Mobile: Content provided and displayed by a
smart phone inserted into the casing
 Standalone: Entirely self-contained headsets
12
DESKTOP VIRTUAL REALITY
Powered from external computers
Hardware includes separate screens
Treated as an external display at the hardware level
Software runs on the desktop and is passed to the display
Examples: Oculus Rift, HTC Vive, FOVE
13
MOBILE VIRTUAL REALITY
 Headsets are containers that support stereoscopic rendering for mobile phones
 Applications are typical smartphone apps
 The display is the phone screen
 Usually, almost all computational aspects are done on the phone rather than the headset
 Examples: GearVR, Homido, FreeFly, Cardboard
14
INPUT - CONTROLLERS
 Traditional controllers don’t solve the “I can’t see
my hands” issues with VR
 Navigation is less natural for movement with
joysticks due to the sense of being in one place
 Limited number of inputs / actions
 Some apps may rely on specific types of input
controllers and have compatibility problems
15
INPUT - WEARABLES
 Devices that are lower profile and can be worn
to control various inputs without specific
controller input
 Example: Nod Ring
 Example: Myo Bracelet
 Example: Emotiv Headset
16
HAPTICS
 Components to a VR system that provide tactile
feedback based on what is going on in the
virtual environment
 Add to realism of a VR system by allowing the
user to physically touch and experience things
going on in virtual reality
 Example: GloveOne (pictured) has multiple
feedback points that mimic the sense of touch
based on collisions in a VR game
17
MORE OPTIONS
 Gestures via cameras: example: Leap Motion Controller
 Omnidirectional treadmills
 Voice commands
18
OVERVIEW OF A VR APPLICATION
19
DESIGNING & PLANNING
 Consider the platforms that you’re interested in targeting
 Understand the input and design considerations for the given platform as you plan out your experience
 Outline key scenes and emotions that you’re looking to capture in your app
 Choose a development option that aligns with your platform of choice
20
21
Render Loop
Hardware /
Input Update
Game Logic
Lifecycle of a VR App
Game Logic
• Defines the behavior of your application
components
• Models and textures are defined for your scene
• Scripts control behavior of the scene objects
• Generally doesn’t rely on the status of the
hardware, but will likely contain checks for
changes
Render Loop
Hardware /
Input Update
Game Logic
22
Hardware / Input
• Check on the orientation of the device to
calculate how the camera should render objects in
the scene
• Evaluate if there are actions triggering different
behaviors in your scene
• Update scene variables or components based on
input checks
Render Loop
Hardware /
Input Update
Game Logic
23
Render Loop
• Evaluate the scene appearance based on the
orientation of the headset
• Apply effects based on changing scene (shadows,
lighting, etc.) dynamically to match the user’s
expectation
• Draw to the headset / display
• Example: If player has moved under a tree, update
the shadows cast by the player accordingly
Playback Required Refresh Rate
Film / TV 24 – 48 FPS
Console Gaming 30 FPS
PC 50-60 Hz
VR 90-120 Hz
Render Loop
Hardware /
Input Update
Game Logic
24
DESIGNING FOR VR
25
INTERACTION & DISCOVERY
 There are no standards yet in VR for expected behaviors and interfaces
 Capturing and guiding a user through a process is a new challenge for the medium
 Agency of a player is critical
 The amount of control or interaction a user can have in an environment will vary dependent on
experience and platform
26
PRESENCE IN VR
 Consider how your user will want to interact with the environment
 Environment scale will impact how realistic a scene feels to a player
 Non-autonomous character actions will break the sense of self
27
Eyes: We’re Moving!
Body: No, we aren’t!
Body: We’re moving!
Eyes: No, we aren’t!
28
DISPLAY PERFORMANCE & CONSIDERATIONS
 Low Framerates = Motion Sickness
 “Tearing” around the edges of the display
 Shadowing (duplication) of scene objects at high framerates
 Motion blur
29
TOOLS OF THE TRADE
UNITY, UNREAL ENGINE, WEBVR (OH MY!)
30
DEVELOPMENT OPTIONS
 Native development with Platform SDKs
 Game Engines:
 Unity
 Unreal
 CryEngine
 Web:
 WebGL VR support through WebVR
 Three.JS
 A-Frame
 Vizor
31
EXAMPLE NATIVE TOOLS: OCULUS SDK
 Add stereoscopic, distortion, and update effects
within the graphics pipeline of your application
 Render to a texture specifically output to the
Oculus device as well as to a non-stereoscopic
screen view
 Great for custom game engines adding in VR
support with the Rift
 More customization and control granted
 Versions available for desktop (Rift) and mobile
(GearVR)
32
Source: developer.oculus.com
UNITY
 Game Engine from Unity Technologies
 Visual editor for environment building & scripting
 Languages: C#, UnityScript (a JS derivative), Boo
33
34
UNITY: VR MODE
 Added in 5.1 (current is 5.4)
 Requires runtime for headsets installed
 Supports a number of devices built-in, many others have packaged support add-ins
 Implementing it:
1. Edit -> Project Settings -> Player
2. Under “Other Settings” check the ‘Virtual Reality Supported’ box
3. Platform dependent on device type
35
UNREAL ENGINE
 Game Engine from Epic Games
 Visual editor for environment building &
scripting
 Language: C++
36
37
BENEFITS OF GAME ENGINES
 Handles many of the hardware-level interactions with devices
 Templates for different app types are available
 Implements physics and lighting engines
 Robust communities for asset creation
 Additional services for common application needs (networking, multiplayer, awards)
 Central tooling for cross-platform development
38
DOWNSIDES OF GAME ENGINES
 Less granular control over application behaviors
 Reliant on implementation of SDKs and devices
 Black box code for engine functionality
39
WEB VR
 Web applications with VR support
 Front-end Rendering:
 WebGL
 Three.JS, Babylon.JS
 Desktop & mobile support with one codebase
 www.webvr.info
40
BENEFITS OF WEBVR
 No installation of application is needed – run in the browser on any device
 Automatically support mobile and desktop devices
 Utilize the current set of tools and libraries for JavaScript
 Easily switch between VR and non-VR mode
 Offload interfacing with hardware to the browser
41
DOWNSIDES OF WEBVR
 Performance hits for non-native graphics
 Non-standard support for some browsers
 Less insight and control into bugs with hardware
 Relies on browser detection of devices
42
PLANNING YOUR EXPERIENCE
43
THINK ABOUT THE FOLLOWING CONSIDERATIONS:
 3D Development
 Scripting
 Animation & 3D Modeling
 Audio
 Testing
44
PLANNING A VR APPLICATION
 Evaluate how the medium lends itself to your game or application
 Minimize the amount of locomotion
 Choose one platform to target at a time
 Read up on best practices, but don't lock things in
 Prepare to iterate - a lot!
45
IMPLEMENTATION OF A VR APP - MY STRATEGY
 Build out the basics in your environment so that you have a rough understanding of what your
application components will do
 Script the behaviors for gameplay elements & the rest of the application components
 Finalize the environment with lighting, textures, effects
46
TESTING YOUR VR APP
 One person QA is not quite enough!
 Variations in height, gender, life experiences, comfort with technology, etc. will all impact your user to a
much greater extent in VR
 Performance is hugely important to prevent motion sickness
47
SAMPLE PROJECTS
SOURCE CODE & TUTORIALS AVAILABLE!
48
SPACE PHOTOS IN SPACE
49
Space Photography
Viewer
Built using WebVR
https://github.com/misslivirose/webvrspace
BUBBLE BLASTER
50
A mini-game for the
HTC Vive
Built with Unity and
the SteamVR Toolkit
https://github.com/misslivirose/vive_bubbleblaster
STAR WARS VR TEXT EFFECT
51https://github.com/misslivirose/SWScrollText
Sample Experience built with
World Canvas for VR Text
Made in Unity
VISUAL DATA
52https://github.com/misslivirose/visualdata
WebVR App for Visualizing Excel
Charts
ASP.NET with Three.JS WebVR Site
FINAL CONSIDERATIONS
53
TODAY'S CHALLENGES
 Input devices are non-standardized across platforms
 Constant evolution in tools
 Market Size
54
RESOURCES
 Blog: http://livierickson.com/blog for short-form VR development tutorials, reviews, and news
 GitHub: http://github.com/misslivirose for all the code in my VR experiments (including Kitten VR!)
 ARVR Academy Introductory course materials: http://github.com/arvracademy/intro-academy/
 Just A/VR Show: http://justavrshow.com/
 Learning Unity: http://livi.link/learnunity
55
Andrew Moll
Technical Evangelist
Doris Chen
Technical Evangelist
John Alioto
Principal Technical Evangelist
Tobiah Zarlez
Technical Evangelist
Daniel Egan
Technical Evangelist
Livi Erickson
Technical Evangelist
Tim Reilly
Technical Evangelist
Jeremy Foster
Technical Evangelist
Tierney Wixted
Community Evangelist
Annie Bubinski
Community Evangelist
Shaina Houston
Director of Community Evangelism
Yesenia Alvarez
Community Evangelist
Joe Shirey
Director of Technical Evangelism
Beth Massi
Program Manager
Jennelle Crothers
Technical Evangelist
Robin Shahan
Content Developer
Jessica Deen
Technical Evangelist
Justin Chizer
Microsoft Student Partner
MEET THE TEAM
Paul Hacker
Visual Studio and Dev Tech
Mathias Brandewinder
Visual Studio and Dev Tech
Deborah Kurata
Visual Studio and Dev Tech
Jeremy Clark
Visual Studio and Dev Tech
David McCarter
Visual Studio and Dev Tech
Ward Bel
Windows Development
Vishal Saxena
Microsoft Azure
Craig Berntson
Visual Studio and Dev Tech
Chander Dhall
Visual Studio and Dev Tech
Steve Evans
Visual Studio and Dev Tech
MEET OUR MVP/RDS
• Complete the survey for a chance to win Beats by Dre Headphones
• Microsoft Azure Essentials book giveaway for survey completion
while supplies last
Survey  aka.ms/SVCC
• Connect with our speakers
Visit our booth
• Fill out a session card to enter a raffle for a Ricoh Theta 360 camera
Submit Your Session Cards
MAKE THE MOST OF YOUR EXPERIENCE
59
@misslivirose

More Related Content

What's hot

Mixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLensMixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLens
Avanade Nederland
 
Mixed Reality from demo to product
Mixed Reality from demo to productMixed Reality from demo to product
Mixed Reality from demo to product
Matteo Valoriani
 
Holo basics develop your mixed reality hololens app with unity and visual s...
Holo basics   develop your mixed reality hololens app with unity and visual s...Holo basics   develop your mixed reality hololens app with unity and visual s...
Holo basics develop your mixed reality hololens app with unity and visual s...
Alexander Meijers
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
Pranav Rao B
 
Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020
Davide Zordan
 
microsoft HoloLens
microsoft HoloLensmicrosoft HoloLens
microsoft HoloLens
Karthik Chowdary
 
All about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus RiftAll about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus Rift
Saurabh Sawhney
 
HoloLens
HoloLensHoloLens
HoloLens
Rudra Bhatt
 
Introduction to Microsoft Hololens
Introduction to Microsoft HololensIntroduction to Microsoft Hololens
Introduction to Microsoft Hololens
Akshay Bengani
 
HoloLens
HoloLensHoloLens
HoloLens
karthik kumar
 
Oculus rift
Oculus riftOculus rift
Oculus rift
Abhishek Rai
 
MICROSOFT HOLOLENS
MICROSOFT HOLOLENSMICROSOFT HOLOLENS
MICROSOFT HOLOLENS
Chaitanya Ram
 
Microsoft's HoloLens
Microsoft's HoloLensMicrosoft's HoloLens
Microsoft's HoloLens
Shoaib Belim
 
GVRDC Beyond VR: Mixed Reality with Tango and HoloLens
GVRDC Beyond VR: Mixed Reality with Tango and HoloLensGVRDC Beyond VR: Mixed Reality with Tango and HoloLens
GVRDC Beyond VR: Mixed Reality with Tango and HoloLens
Aaron Pulkka
 
Presentation on Microsoft Hololens
Presentation on Microsoft HololensPresentation on Microsoft Hololens
Presentation on Microsoft Hololens
Badam Anand
 
Holo
HoloHolo
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
Atul Singh
 
Getting started with unity and AR/VR for the .net developer - DDD North 2020
Getting started with unity and AR/VR for the .net developer - DDD North 2020Getting started with unity and AR/VR for the .net developer - DDD North 2020
Getting started with unity and AR/VR for the .net developer - DDD North 2020
Davide Zordan
 
Microsoft Hololens
Microsoft HololensMicrosoft Hololens
Microsoft Hololens
Sri Teja
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
Badiginchala Manohari
 

What's hot (20)

Mixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLensMixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLens
 
Mixed Reality from demo to product
Mixed Reality from demo to productMixed Reality from demo to product
Mixed Reality from demo to product
 
Holo basics develop your mixed reality hololens app with unity and visual s...
Holo basics   develop your mixed reality hololens app with unity and visual s...Holo basics   develop your mixed reality hololens app with unity and visual s...
Holo basics develop your mixed reality hololens app with unity and visual s...
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
 
Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020
 
microsoft HoloLens
microsoft HoloLensmicrosoft HoloLens
microsoft HoloLens
 
All about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus RiftAll about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus Rift
 
HoloLens
HoloLensHoloLens
HoloLens
 
Introduction to Microsoft Hololens
Introduction to Microsoft HololensIntroduction to Microsoft Hololens
Introduction to Microsoft Hololens
 
HoloLens
HoloLensHoloLens
HoloLens
 
Oculus rift
Oculus riftOculus rift
Oculus rift
 
MICROSOFT HOLOLENS
MICROSOFT HOLOLENSMICROSOFT HOLOLENS
MICROSOFT HOLOLENS
 
Microsoft's HoloLens
Microsoft's HoloLensMicrosoft's HoloLens
Microsoft's HoloLens
 
GVRDC Beyond VR: Mixed Reality with Tango and HoloLens
GVRDC Beyond VR: Mixed Reality with Tango and HoloLensGVRDC Beyond VR: Mixed Reality with Tango and HoloLens
GVRDC Beyond VR: Mixed Reality with Tango and HoloLens
 
Presentation on Microsoft Hololens
Presentation on Microsoft HololensPresentation on Microsoft Hololens
Presentation on Microsoft Hololens
 
Holo
HoloHolo
Holo
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
 
Getting started with unity and AR/VR for the .net developer - DDD North 2020
Getting started with unity and AR/VR for the .net developer - DDD North 2020Getting started with unity and AR/VR for the .net developer - DDD North 2020
Getting started with unity and AR/VR for the .net developer - DDD North 2020
 
Microsoft Hololens
Microsoft HololensMicrosoft Hololens
Microsoft Hololens
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
 

Viewers also liked

Google cardboard
Google cardboardGoogle cardboard
Google cardboard
malunegivinu
 
Royal Institution CS Materclass - Mobile/VR development
Royal Institution CS Materclass - Mobile/VR developmentRoyal Institution CS Materclass - Mobile/VR development
Royal Institution CS Materclass - Mobile/VR development
David Bell
 
COMP 4026 Lecture2: Design and Prototype
COMP 4026 Lecture2: Design and PrototypeCOMP 4026 Lecture2: Design and Prototype
COMP 4026 Lecture2: Design and Prototype
Mark Billinghurst
 
Virtual Reality in Android
Virtual Reality in AndroidVirtual Reality in Android
Virtual Reality in Android
Mario Bodemann
 
Как развить компанию, развивая себя (RU)
Как развить компанию, развивая себя (RU)Как развить компанию, развивая себя (RU)
Как развить компанию, развивая себя (RU)
Elena Lobova
 
Virtual reality startup in practice
Virtual reality startup in practiceVirtual reality startup in practice
Virtual reality startup in practice
marineverse
 
VR hardware & development
VR hardware & developmentVR hardware & development
VR hardware & development
Casper Fabricius
 
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy BendovThe Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
Jessica Tams
 
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部ver
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部verVR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部ver
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部ver
Yuuki Ogino
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDK
Intel® Software
 
Developing Your First Mobile VR App by NJ Realubit
Developing Your First Mobile VR App by NJ RealubitDeveloping Your First Mobile VR App by NJ Realubit
Developing Your First Mobile VR App by NJ Realubit
DEVCON
 
COMP 4010 Lecture5 VR Audio and Tracking
COMP 4010 Lecture5 VR Audio and TrackingCOMP 4010 Lecture5 VR Audio and Tracking
COMP 4010 Lecture5 VR Audio and Tracking
Mark Billinghurst
 
Designing Outstanding AR Experiences
Designing Outstanding AR ExperiencesDesigning Outstanding AR Experiences
Designing Outstanding AR Experiences
Mark Billinghurst
 
Google Daydream VR
Google Daydream VRGoogle Daydream VR
VR, AI & The Future of Mobile
VR, AI & The Future of Mobile VR, AI & The Future of Mobile
VR, AI & The Future of Mobile
Helen Keegan
 
VR: The Future Is Now?
VR: The Future Is Now?VR: The Future Is Now?
VR: The Future Is Now?
Elena Lobova
 
AR-VR Workshop
AR-VR WorkshopAR-VR Workshop
AR-VR Workshop
Mark Billinghurst
 
Virtual Reality 2.0
Virtual Reality 2.0Virtual Reality 2.0
Virtual Reality 2.0
Mark Billinghurst
 

Viewers also liked (20)

อ้างอิง
อ้างอิงอ้างอิง
อ้างอิง
 
Google cardboard
Google cardboardGoogle cardboard
Google cardboard
 
Royal Institution CS Materclass - Mobile/VR development
Royal Institution CS Materclass - Mobile/VR developmentRoyal Institution CS Materclass - Mobile/VR development
Royal Institution CS Materclass - Mobile/VR development
 
COMP 4026 Lecture2: Design and Prototype
COMP 4026 Lecture2: Design and PrototypeCOMP 4026 Lecture2: Design and Prototype
COMP 4026 Lecture2: Design and Prototype
 
Virtual Reality in Android
Virtual Reality in AndroidVirtual Reality in Android
Virtual Reality in Android
 
Как развить компанию, развивая себя (RU)
Как развить компанию, развивая себя (RU)Как развить компанию, развивая себя (RU)
Как развить компанию, развивая себя (RU)
 
Virtual reality startup in practice
Virtual reality startup in practiceVirtual reality startup in practice
Virtual reality startup in practice
 
VR hardware & development
VR hardware & developmentVR hardware & development
VR hardware & development
 
Relaciones funciones
Relaciones funciones Relaciones funciones
Relaciones funciones
 
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy BendovThe Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
 
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部ver
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部verVR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部ver
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部ver
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDK
 
Developing Your First Mobile VR App by NJ Realubit
Developing Your First Mobile VR App by NJ RealubitDeveloping Your First Mobile VR App by NJ Realubit
Developing Your First Mobile VR App by NJ Realubit
 
COMP 4010 Lecture5 VR Audio and Tracking
COMP 4010 Lecture5 VR Audio and TrackingCOMP 4010 Lecture5 VR Audio and Tracking
COMP 4010 Lecture5 VR Audio and Tracking
 
Designing Outstanding AR Experiences
Designing Outstanding AR ExperiencesDesigning Outstanding AR Experiences
Designing Outstanding AR Experiences
 
Google Daydream VR
Google Daydream VRGoogle Daydream VR
Google Daydream VR
 
VR, AI & The Future of Mobile
VR, AI & The Future of Mobile VR, AI & The Future of Mobile
VR, AI & The Future of Mobile
 
VR: The Future Is Now?
VR: The Future Is Now?VR: The Future Is Now?
VR: The Future Is Now?
 
AR-VR Workshop
AR-VR WorkshopAR-VR Workshop
AR-VR Workshop
 
Virtual Reality 2.0
Virtual Reality 2.0Virtual Reality 2.0
Virtual Reality 2.0
 

Similar to Building the Matrix: Your First VR App (SVCC 2016)

Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
AugmentedWorldExpo
 
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
Sebastien Kuntz
 
virtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdfvirtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdf
21107117
 
Virtual_Reality_New.pptx
Virtual_Reality_New.pptxVirtual_Reality_New.pptx
Virtual_Reality_New.pptx
BapuPradhan1
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
Viral Patel
 
Technology Trend 2018
Technology Trend 2018Technology Trend 2018
Technology Trend 2018
Wan Muzaffar Wan Hashim
 
Augmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldAugmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real world
Unity Technologies
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environment
Ullas Gupta
 
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
Unity Technologies
 
Virtual reality in hci
Virtual reality in hciVirtual reality in hci
Virtual reality in hcijeet patalia
 
AR - 001.pptx
AR - 001.pptxAR - 001.pptx
AR - 001.pptx
TonyPurba3
 
UplinQ - bringing mobile vision to wearables digital eyewear
UplinQ - bringing mobile vision to wearables digital eyewearUplinQ - bringing mobile vision to wearables digital eyewear
UplinQ - bringing mobile vision to wearables digital eyewear
Satya Harish
 
Bringing Mobile Vision to Wearables
Bringing Mobile Vision to Wearables Bringing Mobile Vision to Wearables
Bringing Mobile Vision to Wearables
Qualcomm Developer Network
 
Developing Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedDeveloping Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedMartin Climatiano
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
Omar Ghazi
 
Let’s get real: An introduction to AR, VR, MR, XR and more
Let’s get real: An introduction to AR, VR, MR, XR and moreLet’s get real: An introduction to AR, VR, MR, XR and more
Let’s get real: An introduction to AR, VR, MR, XR and more
Unity Technologies
 
ICS2208 lecture7
ICS2208 lecture7ICS2208 lecture7
ICS2208 lecture7
Vanessa Camilleri
 
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccgHCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
roddavijaypatel
 
virtual reality...............................
virtual reality...............................virtual reality...............................
virtual reality...............................
MeghaKulkarni27
 
On-device Motion Tracking for Immersive VR
On-device Motion Tracking for Immersive VROn-device Motion Tracking for Immersive VR
On-device Motion Tracking for Immersive VR
Qualcomm Research
 

Similar to Building the Matrix: Your First VR App (SVCC 2016) (20)

Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
 
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
 
virtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdfvirtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdf
 
Virtual_Reality_New.pptx
Virtual_Reality_New.pptxVirtual_Reality_New.pptx
Virtual_Reality_New.pptx
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
 
Technology Trend 2018
Technology Trend 2018Technology Trend 2018
Technology Trend 2018
 
Augmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldAugmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real world
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environment
 
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
 
Virtual reality in hci
Virtual reality in hciVirtual reality in hci
Virtual reality in hci
 
AR - 001.pptx
AR - 001.pptxAR - 001.pptx
AR - 001.pptx
 
UplinQ - bringing mobile vision to wearables digital eyewear
UplinQ - bringing mobile vision to wearables digital eyewearUplinQ - bringing mobile vision to wearables digital eyewear
UplinQ - bringing mobile vision to wearables digital eyewear
 
Bringing Mobile Vision to Wearables
Bringing Mobile Vision to Wearables Bringing Mobile Vision to Wearables
Bringing Mobile Vision to Wearables
 
Developing Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedDeveloping Games For VR - Lessons Learned
Developing Games For VR - Lessons Learned
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
 
Let’s get real: An introduction to AR, VR, MR, XR and more
Let’s get real: An introduction to AR, VR, MR, XR and moreLet’s get real: An introduction to AR, VR, MR, XR and more
Let’s get real: An introduction to AR, VR, MR, XR and more
 
ICS2208 lecture7
ICS2208 lecture7ICS2208 lecture7
ICS2208 lecture7
 
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccgHCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
 
virtual reality...............................
virtual reality...............................virtual reality...............................
virtual reality...............................
 
On-device Motion Tracking for Immersive VR
On-device Motion Tracking for Immersive VROn-device Motion Tracking for Immersive VR
On-device Motion Tracking for Immersive VR
 

Recently uploaded

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 

Building the Matrix: Your First VR App (SVCC 2016)

  • 1. BUILDING THE MATRIX: YOUR FIRST VR APP @MISSLIVIROSE 1
  • 2. ABOUT ME Livi Erickson Livi.Erickson@Microsoft.com  Virtual & Augmented Reality Developer / Evangelist  VR Blog: The Matrix is my Office  @MissLiviRose on Twitter 2
  • 3. BUILDING VIRTUAL REALITY APPLICATIONS  Why Build for Virtual Reality?  Understanding the VR Device Ecosystem  Breakdown of a VR application  Building a VR app: Development Options  Design Considerations & Concerns for VR today  Q & A 3
  • 6. 6 We’re Used to 3D Interactions
  • 7. 7 The Freedom to Redefine Possibilities
  • 8.  Storytelling is significantly more immersive in an environment that surrounds the user  Virtual experiences improve empathy in the viewer  Visualizations of complex data  New and improved ways of interacting with the technical ecosystem that we’ve been building for decades
  • 10. PLATFORM GROWTH  2012:  Oculus Developer Kit 1  2014:  Oculus Developer Kit 2  Cardboard  GearVR Innovator Edition 1  2015:  GearVR Innovator Edition 2  Gear VR  HTC Vive Developer Kit 1  OSVR  2016:  Oculus Rift  HoloLens Developer Kit  HTC Vive Pre  HTC Vive  PlayStation VR  FOVE Developer Kit  Gear VR
  • 11. TODAY’S TECHNOLOGY Virtual Reality Fully immersive experience that replaces your physical world Example: Oculus Rift Augmented Reality Overlays digital information about the physical world around you Example: Google Glass Mixed Reality Combines virtual objects and the physical world Example: Microsoft HoloLens
  • 12. HEAD MOUNTED DISPLAYS Head Mounted Displays (HMDs) can be desktop- powered devices or mobile-powered devices  Desktop: Separate display device self-containing screen, content provided externally from a separate PC  Mobile: Content provided and displayed by a smart phone inserted into the casing  Standalone: Entirely self-contained headsets 12
  • 13. DESKTOP VIRTUAL REALITY Powered from external computers Hardware includes separate screens Treated as an external display at the hardware level Software runs on the desktop and is passed to the display Examples: Oculus Rift, HTC Vive, FOVE 13
  • 14. MOBILE VIRTUAL REALITY  Headsets are containers that support stereoscopic rendering for mobile phones  Applications are typical smartphone apps  The display is the phone screen  Usually, almost all computational aspects are done on the phone rather than the headset  Examples: GearVR, Homido, FreeFly, Cardboard 14
  • 15. INPUT - CONTROLLERS  Traditional controllers don’t solve the “I can’t see my hands” issues with VR  Navigation is less natural for movement with joysticks due to the sense of being in one place  Limited number of inputs / actions  Some apps may rely on specific types of input controllers and have compatibility problems 15
  • 16. INPUT - WEARABLES  Devices that are lower profile and can be worn to control various inputs without specific controller input  Example: Nod Ring  Example: Myo Bracelet  Example: Emotiv Headset 16
  • 17. HAPTICS  Components to a VR system that provide tactile feedback based on what is going on in the virtual environment  Add to realism of a VR system by allowing the user to physically touch and experience things going on in virtual reality  Example: GloveOne (pictured) has multiple feedback points that mimic the sense of touch based on collisions in a VR game 17
  • 18. MORE OPTIONS  Gestures via cameras: example: Leap Motion Controller  Omnidirectional treadmills  Voice commands 18
  • 19. OVERVIEW OF A VR APPLICATION 19
  • 20. DESIGNING & PLANNING  Consider the platforms that you’re interested in targeting  Understand the input and design considerations for the given platform as you plan out your experience  Outline key scenes and emotions that you’re looking to capture in your app  Choose a development option that aligns with your platform of choice 20
  • 21. 21 Render Loop Hardware / Input Update Game Logic Lifecycle of a VR App
  • 22. Game Logic • Defines the behavior of your application components • Models and textures are defined for your scene • Scripts control behavior of the scene objects • Generally doesn’t rely on the status of the hardware, but will likely contain checks for changes Render Loop Hardware / Input Update Game Logic 22
  • 23. Hardware / Input • Check on the orientation of the device to calculate how the camera should render objects in the scene • Evaluate if there are actions triggering different behaviors in your scene • Update scene variables or components based on input checks Render Loop Hardware / Input Update Game Logic 23
  • 24. Render Loop • Evaluate the scene appearance based on the orientation of the headset • Apply effects based on changing scene (shadows, lighting, etc.) dynamically to match the user’s expectation • Draw to the headset / display • Example: If player has moved under a tree, update the shadows cast by the player accordingly Playback Required Refresh Rate Film / TV 24 – 48 FPS Console Gaming 30 FPS PC 50-60 Hz VR 90-120 Hz Render Loop Hardware / Input Update Game Logic 24
  • 26. INTERACTION & DISCOVERY  There are no standards yet in VR for expected behaviors and interfaces  Capturing and guiding a user through a process is a new challenge for the medium  Agency of a player is critical  The amount of control or interaction a user can have in an environment will vary dependent on experience and platform 26
  • 27. PRESENCE IN VR  Consider how your user will want to interact with the environment  Environment scale will impact how realistic a scene feels to a player  Non-autonomous character actions will break the sense of self 27
  • 28. Eyes: We’re Moving! Body: No, we aren’t! Body: We’re moving! Eyes: No, we aren’t! 28
  • 29. DISPLAY PERFORMANCE & CONSIDERATIONS  Low Framerates = Motion Sickness  “Tearing” around the edges of the display  Shadowing (duplication) of scene objects at high framerates  Motion blur 29
  • 30. TOOLS OF THE TRADE UNITY, UNREAL ENGINE, WEBVR (OH MY!) 30
  • 31. DEVELOPMENT OPTIONS  Native development with Platform SDKs  Game Engines:  Unity  Unreal  CryEngine  Web:  WebGL VR support through WebVR  Three.JS  A-Frame  Vizor 31
  • 32. EXAMPLE NATIVE TOOLS: OCULUS SDK  Add stereoscopic, distortion, and update effects within the graphics pipeline of your application  Render to a texture specifically output to the Oculus device as well as to a non-stereoscopic screen view  Great for custom game engines adding in VR support with the Rift  More customization and control granted  Versions available for desktop (Rift) and mobile (GearVR) 32 Source: developer.oculus.com
  • 33. UNITY  Game Engine from Unity Technologies  Visual editor for environment building & scripting  Languages: C#, UnityScript (a JS derivative), Boo 33
  • 34. 34
  • 35. UNITY: VR MODE  Added in 5.1 (current is 5.4)  Requires runtime for headsets installed  Supports a number of devices built-in, many others have packaged support add-ins  Implementing it: 1. Edit -> Project Settings -> Player 2. Under “Other Settings” check the ‘Virtual Reality Supported’ box 3. Platform dependent on device type 35
  • 36. UNREAL ENGINE  Game Engine from Epic Games  Visual editor for environment building & scripting  Language: C++ 36
  • 37. 37
  • 38. BENEFITS OF GAME ENGINES  Handles many of the hardware-level interactions with devices  Templates for different app types are available  Implements physics and lighting engines  Robust communities for asset creation  Additional services for common application needs (networking, multiplayer, awards)  Central tooling for cross-platform development 38
  • 39. DOWNSIDES OF GAME ENGINES  Less granular control over application behaviors  Reliant on implementation of SDKs and devices  Black box code for engine functionality 39
  • 40. WEB VR  Web applications with VR support  Front-end Rendering:  WebGL  Three.JS, Babylon.JS  Desktop & mobile support with one codebase  www.webvr.info 40
  • 41. BENEFITS OF WEBVR  No installation of application is needed – run in the browser on any device  Automatically support mobile and desktop devices  Utilize the current set of tools and libraries for JavaScript  Easily switch between VR and non-VR mode  Offload interfacing with hardware to the browser 41
  • 42. DOWNSIDES OF WEBVR  Performance hits for non-native graphics  Non-standard support for some browsers  Less insight and control into bugs with hardware  Relies on browser detection of devices 42
  • 44. THINK ABOUT THE FOLLOWING CONSIDERATIONS:  3D Development  Scripting  Animation & 3D Modeling  Audio  Testing 44
  • 45. PLANNING A VR APPLICATION  Evaluate how the medium lends itself to your game or application  Minimize the amount of locomotion  Choose one platform to target at a time  Read up on best practices, but don't lock things in  Prepare to iterate - a lot! 45
  • 46. IMPLEMENTATION OF A VR APP - MY STRATEGY  Build out the basics in your environment so that you have a rough understanding of what your application components will do  Script the behaviors for gameplay elements & the rest of the application components  Finalize the environment with lighting, textures, effects 46
  • 47. TESTING YOUR VR APP  One person QA is not quite enough!  Variations in height, gender, life experiences, comfort with technology, etc. will all impact your user to a much greater extent in VR  Performance is hugely important to prevent motion sickness 47
  • 48. SAMPLE PROJECTS SOURCE CODE & TUTORIALS AVAILABLE! 48
  • 49. SPACE PHOTOS IN SPACE 49 Space Photography Viewer Built using WebVR https://github.com/misslivirose/webvrspace
  • 50. BUBBLE BLASTER 50 A mini-game for the HTC Vive Built with Unity and the SteamVR Toolkit https://github.com/misslivirose/vive_bubbleblaster
  • 51. STAR WARS VR TEXT EFFECT 51https://github.com/misslivirose/SWScrollText Sample Experience built with World Canvas for VR Text Made in Unity
  • 52. VISUAL DATA 52https://github.com/misslivirose/visualdata WebVR App for Visualizing Excel Charts ASP.NET with Three.JS WebVR Site
  • 54. TODAY'S CHALLENGES  Input devices are non-standardized across platforms  Constant evolution in tools  Market Size 54
  • 55. RESOURCES  Blog: http://livierickson.com/blog for short-form VR development tutorials, reviews, and news  GitHub: http://github.com/misslivirose for all the code in my VR experiments (including Kitten VR!)  ARVR Academy Introductory course materials: http://github.com/arvracademy/intro-academy/  Just A/VR Show: http://justavrshow.com/  Learning Unity: http://livi.link/learnunity 55
  • 56. Andrew Moll Technical Evangelist Doris Chen Technical Evangelist John Alioto Principal Technical Evangelist Tobiah Zarlez Technical Evangelist Daniel Egan Technical Evangelist Livi Erickson Technical Evangelist Tim Reilly Technical Evangelist Jeremy Foster Technical Evangelist Tierney Wixted Community Evangelist Annie Bubinski Community Evangelist Shaina Houston Director of Community Evangelism Yesenia Alvarez Community Evangelist Joe Shirey Director of Technical Evangelism Beth Massi Program Manager Jennelle Crothers Technical Evangelist Robin Shahan Content Developer Jessica Deen Technical Evangelist Justin Chizer Microsoft Student Partner MEET THE TEAM
  • 57. Paul Hacker Visual Studio and Dev Tech Mathias Brandewinder Visual Studio and Dev Tech Deborah Kurata Visual Studio and Dev Tech Jeremy Clark Visual Studio and Dev Tech David McCarter Visual Studio and Dev Tech Ward Bel Windows Development Vishal Saxena Microsoft Azure Craig Berntson Visual Studio and Dev Tech Chander Dhall Visual Studio and Dev Tech Steve Evans Visual Studio and Dev Tech MEET OUR MVP/RDS
  • 58. • Complete the survey for a chance to win Beats by Dre Headphones • Microsoft Azure Essentials book giveaway for survey completion while supplies last Survey  aka.ms/SVCC • Connect with our speakers Visit our booth • Fill out a session card to enter a raffle for a Ricoh Theta 360 camera Submit Your Session Cards MAKE THE MOST OF YOUR EXPERIENCE

Editor's Notes

  1. Why do we care about virtual and augmented reality as a platform? We live in a three dimensional world and computing in its current form doesn’t translate well into 3D experiences Humans rely on their spatial awareness for so many things in the real world, and it’s time to make computing represent that as well When we create fully immersive experiences, we can have profound impact on emotional response Talk briefly about VR as a tool for: Distraction (pain therapy) Emotional well-being (phobia treatment) Empathy As well as: How memories in VR form like real-world memories
  2. Why do we care about virtual and augmented reality as a platform? We live in a three dimensional world and computing in its current form doesn’t translate well into 3D experiences Humans rely on their spatial awareness for so many things in the real world, and it’s time to make computing represent that as well When we create fully immersive experiences, we can have profound impact on emotional response Talk briefly about VR as a tool for: Distraction (pain therapy) Emotional well-being (phobia treatment) Empathy As well as: How memories in VR form like real-world memories
  3. Why do we care about virtual and augmented reality as a platform? We live in a three dimensional world and computing in its current form doesn’t translate well into 3D experiences Humans rely on their spatial awareness for so many things in the real world, and it’s time to make computing represent that as well When we create fully immersive experiences, we can have profound impact on emotional response Talk briefly about VR as a tool for: Distraction (pain therapy) Emotional well-being (phobia treatment) Empathy As well as: How memories in VR form like real-world memories
  4. Also talk about how dedicated two-handed controller tracking
  5. Ask the audience how many of them are game developers. Spend a little more time talking about the principles of game development cycles if most of them are unfamiliar. If the general body has a game development background, it will be okay to go through this part quickly.
  6. Understand the limitations of the platforms that you’re using, especially around input
  7. Let’s talk about specific things to consider when designing and developing for VR
  8. Emphasize the importance of presence here: In making people feel comfortable In their actions being directly correlated to a VR action Not to force action on the user Describe the proprioceptive system
  9. Talk about how the options differ and why some may be more beneficial to others: Native: Great for fine control, custom engine support, existing games, interesting control over effects and mono/stereoscopic Game Engines: Awesome for not reinventing the wheel, provide a solid implementation of existing game components (e.g. lighting, physics, etc.) Web: Lower performance, but great for experiments that utilize existing APIs and pull in data from the web
  10. Include that this is C++
  11. Discuss how WebVR enables developers to use the same code base to run on mobile and desktop Explain the specialized browsers required and how the browser handles hardware updates and transforms