SlideShare uma empresa Scribd logo
1 de 59
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

Mais conteúdo relacionado

Mais procurados

Mixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLensMixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLensAvanade Nederland
 
Mixed Reality from demo to product
Mixed Reality from demo to productMixed Reality from demo to product
Mixed Reality from demo to productMatteo 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 hololensPranav 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 2020Davide Zordan
 
All about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus RiftAll about Virtual Reality & Oculus Rift
All about Virtual Reality & Oculus RiftSaurabh Sawhney
 
Introduction to Microsoft Hololens
Introduction to Microsoft HololensIntroduction to Microsoft Hololens
Introduction to Microsoft HololensAkshay Bengani
 
Microsoft's HoloLens
Microsoft's HoloLensMicrosoft's HoloLens
Microsoft's HoloLensShoaib 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 HoloLensAaron Pulkka
 
Presentation on Microsoft Hololens
Presentation on Microsoft HololensPresentation on Microsoft Hololens
Presentation on Microsoft HololensBadam Anand
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololensAtul 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 2020Davide Zordan
 
Microsoft Hololens
Microsoft HololensMicrosoft Hololens
Microsoft HololensSri Teja
 

Mais procurados (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
 

Destaque

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 developmentDavid Bell
 
COMP 4026 Lecture2: Design and Prototype
COMP 4026 Lecture2: Design and PrototypeCOMP 4026 Lecture2: Design and Prototype
COMP 4026 Lecture2: Design and PrototypeMark Billinghurst
 
Virtual Reality in Android
Virtual Reality in AndroidVirtual Reality in Android
Virtual Reality in AndroidMario 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 practicemarineverse
 
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 BendovJessica Tams
 
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部ver
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部verVR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部ver
VR開発しくじり先生。JVRH2016で初めてVR開発、UE4で挑戦 東ゲ部verYuuki 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® XDKIntel® 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 RealubitDEVCON
 
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 TrackingMark Billinghurst
 
Designing Outstanding AR Experiences
Designing Outstanding AR ExperiencesDesigning Outstanding AR Experiences
Designing Outstanding AR ExperiencesMark Billinghurst
 
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
 

Destaque (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
 

Semelhante a 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 architectureSebastien Kuntz
 
virtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdfvirtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdf21107117
 
Virtual_Reality_New.pptx
Virtual_Reality_New.pptxVirtual_Reality_New.pptx
Virtual_Reality_New.pptxBapuPradhan1
 
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 worldUnity Technologies
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environmentUllas 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
 
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 eyewearSatya Harish
 
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 RealityOmar 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 moreUnity Technologies
 
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccgHCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccgroddavijaypatel
 
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 VRQualcomm Research
 

Semelhante a 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
 
Bringing Mobile Vision to Wearables
Bringing Mobile Vision to Wearables Bringing Mobile Vision to Wearables
Bringing Mobile Vision to Wearables
 
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
 
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
 

Último

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

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

Notas do Editor

  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