SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
Getting started with Unity and
AR/VR for the .NET developer…
Reloaded!
Davide Zordan
B: https://davide.dev
E: mail@davide.dev
T: @DavideZordan
Davide Zordan
Senior software engineer
MCSD, MCSA, MS, MCP
Microsoft MVP (2009-2014)
Agenda
Introduction to Mixed Reality
VR interactions and locomotion using Unity and SteamVR
Enabling Oculus Quest passthrough
Telepresence using points cloud
Hand-tracking
What is Mixed Reality?
The state of things as they “actually
exist” through our human senses
without any technology.
Artificially created sensory experiences of
people, environments and objects, which can
include sight, touch, hearing, and smell.
PHYSICAL REALITY VIRTUAL REALITY
MIXED REALITY
VIRTUAL REALITY
PHYSICAL REALITY
PHYSICAL
REALITY
DIGITAL
REALITY
MIXED REALITY (MR)
Windows Mixed Reality Holographic Devices (see-through) / Magic Leap / Nreal Light
/ RealWare HMT-1 / LYNX-R / Meta Project Aria, Project Cambria / Varjo
Oculus Quest 2 / HTC VIVE - Cosmos / Valve Index / Windows Mixed
Reality Immersive Devices (Opaque) / Varjo
AR
TODAY
VR
TODAY
Physical - Digital Reality Spectrum
*The term mixed reality was originally introduced in a 1994 paper by Paul Milgram and Fumio Kishino, "A Taxonomy of Mixed Reality Visual Displays."
How can we design for AR/VR?
Designing great VR experiences
Place illusion
Plausibility illusion
Embodiment illusion
Source: https://www.coursera.org/lecture/introduction-virtual-reality/introduction-to-plausibility-illusion-psi-K5PGj
A new way to interact
Gaze
Gesture
Voice
Motion control
World coordinates
Spatial audio
Spatial mapping
Hand-tracking
Eye-tracking
VR interactions
Pointing
Selecting
Grabbing
VR Locomotion
Eye gazing
Teleportation
Continuous walk
DEMO
VR locomotion and custom interactions
1 – Using the SteamVR controllers bindings
Rotate the player
Targeting multiple headsets
1 – Creating a VR headset manager
2 – Initialising device-specific settings
Adding vocal commands:
• Unity KeywordRecognizer
• Natural Language Understanding
… available online at https://davide.dev/blog
DEMO
Basic selection and interactions
Performance tips
1 - Mark not
moving
objects as
static
2 – Reduce
the number
of draw calls -
baked lights
3 – Reduce
the number
of draw calls
• Combine meshes and materials
• Some Unity plugins available in the asset store
can help
4 – Avoid not
performant
code at
runtime
5 – Reduce
max polys
count in
scenes
• Mobile devices: ~200,000
• Desktop VR: ~1,000,000
• Do not draw polys that cannot be seen by the
user
6 – Optimise
garbage
collection
• Try to avoid the GC
while a scene is
running
• Unity now allows
incremental
garbage collection
7 – Use object
pooling
• Try to not
instantiate objects
at runtime but
reuse instanced
using object pooling
https://github.com/davidezordan/PerformanceBounceback/blob/master/PerformanceBounceback
Using Oculus Quest passthrough APIs
Image source: www.oculus.com/quest
What are
passthrough
APIs?
https://developer.oculus.com/experimental/passthrough-api/
• Passthrough APIs must be enabled using experimental features using
adb:
adb shell setprop
debug.oculus.experimentalEnabled 1
• Must be enabled in the OVR Manager script of the OVRCameraRig:
• Require additional passthrough script:
• Enable
development of
pass-through
experiences using
Quest
• New SDKs recently
announced (Voice,
Hands
manipulations)
Collaboration in AR/VR
Telepresence using point clouds
Collaboration
• Facebook Horizon Worlds
Social experience
https://www.oculus.com/facebook-horizon/
• Facebook Horizon Workrooms
Collaboration experience for meetings
https://about.fb.com/news/2021/08/introducing-horizon-
workrooms-remote-collaboration-reimagined/
• Microsoft Mesh
Virtual collaboration / Holoportation
https://www.microsoft.com/en-us/mesh
Source: https://techcommunity.microsoft.com/t5/mixed-reality-blog/microsoft-mesh-app-august-2021-update-new-features/ba-p/2746856
Telepresence
• Requires a sensor like Kinect for capturing colors and depth data from
cameras.
• Captured data (e.g., arrays of Vector3[] / Color[]) can be transmitted
over the network via sockets.
• Requires a PC to act as a server.
• A full implementation is available here:
Kowalski, M.; Naruniec, J.; Daniluk, M.: "LiveScan3D: A Fast and
Inexpensive 3D Data Acquisition System for Multiple Kinect v2 Sensors". in
3D Vision (3DV), 2015 International Conference on, Lyon, France, 2015
https://github.com/MarekKowalski/LiveScan3D
• Further improvements could include audio streaming, usage of other
protocols (e.g. WebRTC)
• Streaming point
clouds to AR/VR
devices
LiveScan 3D project: https://github.com/MarekKowalski/LiveScan3D
Adapted from LiveScan 3D HoloLens project: https://github.com/MarekKowalski/LiveScan3D-Hololens
Adapted from LiveScan 3D HoloLens project:
https://github.com/MarekKowalski/LiveScan3D-Hololens
Implementing Hand tracking
Mixed Reality Toolkit for Unity
• https://aka.ms/MRTK
MRTK extensions for Oculus Quest
• https://github.com/HoloLabInc/MRTKExtensionForOculu
sQuest
• https://github.com/provencher/MRTK-Quest
Interactions SDK for Oculus Quest (available 2022)
Source: Facebook Connect 2021 - https://www.facebookconnect.com/en-gb/
DEMO
Hand tracking using Oculus Quest and
Mixed Reality Toolkit
Enhancing the experience
using Mixed Reality services
HoloLens 2
Source: https://news.microsoft.com/microsoft-at-mwc19/
Microsoft Azure mixed reality services:
• Remote rendering
• Spatial anchors
• Object anchors
Summary
What is Mixed Reality
Why Mixed Reality
How to develop for AR/VR
VR Interactions / Locomotion
Performance considerations
Using Oculus passthrough mode
Telepresence
Developing for AR
Mixed Reality Services
Key takeaways:
Check performance early and often to avoid motion sickness
Design properly the experience for maximising the user immersion
Use cloud services to enhance the user experience (speech, vision, anchors)
Collaboration using AR/VR is an important topic which requires research
“Any sufficiently advanced technology is
indistinguishable from magic”
Arthur C. Clark, Profiles of the future, 1961
References
AR / VR / Mixed Reality samples
https://github.com/davidezordan
SteamVR Unity plugin
https://github.com/ValveSoftware/steamvr_unity_plugin
Mixed Reality Toolkit
https://aka.ms/MRTK
Unity XR Interaction Toolkit
https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@0.9/manual/index.html
Unity XR Interaction Toolkit examples
https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples
Goldman Sachs VR/AR report
https://www.goldmansachs.com/insights/pages/virtual-and-augmented-reality-report.html
References
Coursera “Introduction to Virtual Reality”
https://www.coursera.org/lecture/introduction-virtual-reality/introduction-to-plausibility-illusion-psi-K5PGj
Cognitive Services
https://azure.microsoft.com/en-us/services/cognitive-services
Oculus VR performance optimization guide
https://developer.oculus.com/documentation/pcsdk/latest/concepts/dg-performance-opt-guide
Mixed Reality Academy and Azure Services tutorial
https://docs.microsoft.com/en-us/windows/mixed-reality/tutorials
Unity: the most common mistakes to avoid
https://unity3d.com/how-to/unity-common-mistakes-to-avoid
Microsoft Ignite
https://8gportalvhdsf9v440s15hrt.blob.core.windows.net/ignite2017/session-presentations/BRK2404.PPTX
References
Oculus passthrough APIs
https://developer.oculus.com/experimental/passthrough-api/
Kowalski, M.; Naruniec, J.; Daniluk, M.: "LiveScan3D: A Fast and Inexpensive 3D Data Acquisition System
for Multiple Kinect v2 Sensors". in 3D Vision (3DV), 2015 International Conference on, Lyon, France, 2015
https://github.com/MarekKowalski/LiveScan3D
Displaying a Point Cloud Using Scene Depth
https://developer.apple.com/documentation/arkit/environmental_analysis/displaying_a_point_cloud_usin
g_scene_depth
iPad LiDAR Depth Sample for Unity
https://github.com/TakashiYoshinaga/iPad-LiDAR-Depth-Sample-for-Unity
Prof. Mark Billinghurst - COMP 4010: Virtual Reality lectures – Introduction to XR
https://www.slideshare.net/marknb00/comp-4010-2010-lecture1introduction-to-xr
References
Prof. Mark Billinghurst - COMP 4010: Virtual Reality lectures – Research directions
https://www.slideshare.net/marknb00/comp4010-lecture12-research-directions
Thanks
Davide Zordan
B: https://davide.dev
E: mail@davide.dev
T: @DavideZordan

Mais conteúdo relacionado

Mais procurados

Mobile Augmented Reality Development tools
Mobile Augmented Reality Development toolsMobile Augmented Reality Development tools
Mobile Augmented Reality Development toolsThiwanka Makumburage
 
Building VR Applications For Google Cardboard
Building VR Applications For Google CardboardBuilding VR Applications For Google Cardboard
Building VR Applications For Google CardboardMark Billinghurst
 
Immerge yourself in a new Reality
Immerge yourself in a new RealityImmerge yourself in a new Reality
Immerge yourself in a new RealityMatteo Valoriani
 
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Codemotion
 
Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014Patrick O'Shaughnessey
 
Mobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMark Billinghurst
 
2016 AR Summer School - Lecture 5
2016 AR Summer School - Lecture 52016 AR Summer School - Lecture 5
2016 AR Summer School - Lecture 5Mark Billinghurst
 
Market Based Analysis of Virtual Reality Products - IT Strategy
Market Based Analysis of Virtual Reality Products - IT StrategyMarket Based Analysis of Virtual Reality Products - IT Strategy
Market Based Analysis of Virtual Reality Products - IT StrategyMohitMhapuskar
 
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...GREE VR Studio Lab
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to developmentMatteo Valoriani
 
VR - Creating the ultimate reality
VR - Creating the ultimate realityVR - Creating the ultimate reality
VR - Creating the ultimate realitySebastien Kuntz
 
Handout: 'Future of Augmented & Virtual Reality' (BDPA Cincinnati, Oct 2015)
Handout: 'Future of Augmented & Virtual Reality' (BDPA Cincinnati, Oct 2015)Handout: 'Future of Augmented & Virtual Reality' (BDPA Cincinnati, Oct 2015)
Handout: 'Future of Augmented & Virtual Reality' (BDPA Cincinnati, Oct 2015)BDPA Education and Technology Foundation
 
Storytelling using Immersive Technologies
Storytelling using Immersive TechnologiesStorytelling using Immersive Technologies
Storytelling using Immersive TechnologiesKumar Ahir
 
Mobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMark Billinghurst
 

Mais procurados (18)

3D in Android
3D in Android3D in Android
3D in Android
 
Mobile Augmented Reality Development tools
Mobile Augmented Reality Development toolsMobile Augmented Reality Development tools
Mobile Augmented Reality Development tools
 
Easy Virtual Reality
Easy Virtual RealityEasy Virtual Reality
Easy Virtual Reality
 
Building VR Applications For Google Cardboard
Building VR Applications For Google CardboardBuilding VR Applications For Google Cardboard
Building VR Applications For Google Cardboard
 
Immerge yourself in a new Reality
Immerge yourself in a new RealityImmerge yourself in a new Reality
Immerge yourself in a new Reality
 
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
 
Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014
 
virtual_chess
virtual_chessvirtual_chess
virtual_chess
 
Mobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to Vuforia
 
2016 AR Summer School - Lecture 5
2016 AR Summer School - Lecture 52016 AR Summer School - Lecture 5
2016 AR Summer School - Lecture 5
 
Market Based Analysis of Virtual Reality Products - IT Strategy
Market Based Analysis of Virtual Reality Products - IT StrategyMarket Based Analysis of Virtual Reality Products - IT Strategy
Market Based Analysis of Virtual Reality Products - IT Strategy
 
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...
REALITY: We can be whoever we want - Avatar driven metaverse service and UX R...
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to development
 
VR - Creating the ultimate reality
VR - Creating the ultimate realityVR - Creating the ultimate reality
VR - Creating the ultimate reality
 
Handout: 'Future of Augmented & Virtual Reality' (BDPA Cincinnati, Oct 2015)
Handout: 'Future of Augmented & Virtual Reality' (BDPA Cincinnati, Oct 2015)Handout: 'Future of Augmented & Virtual Reality' (BDPA Cincinnati, Oct 2015)
Handout: 'Future of Augmented & Virtual Reality' (BDPA Cincinnati, Oct 2015)
 
Storytelling using Immersive Technologies
Storytelling using Immersive TechnologiesStorytelling using Immersive Technologies
Storytelling using Immersive Technologies
 
Mobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMobile AR Lecture1-introduction
Mobile AR Lecture1-introduction
 
426 lecture2: AR Technology
426 lecture2: AR Technology426 lecture2: AR Technology
426 lecture2: AR Technology
 

Semelhante a Getting started with Unity and AR/VR for the .NET developer... Reloaded!

Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...azuredayit
 
Getting Started with Point Clouds Visualisation and AR/VR
Getting Started with Point Clouds Visualisation and AR/VRGetting Started with Point Clouds Visualisation and AR/VR
Getting Started with Point Clouds Visualisation and AR/VRDavide Zordan
 
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
 
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
 
VR/AR introduction & state-of-the-art VR/AR prototyping
VR/AR introduction & state-of-the-art VR/AR prototypingVR/AR introduction & state-of-the-art VR/AR prototyping
VR/AR introduction & state-of-the-art VR/AR prototypingValentijn Destoop
 
HoloLens.pdf
HoloLens.pdfHoloLens.pdf
HoloLens.pdfVishwas N
 
Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR ExperienceMark Billinghurst
 
AR and VR development tools and platforms
AR and VR development tools and platformsAR and VR development tools and platforms
AR and VR development tools and platformsSushmita Chatterjee
 
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
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptFITC
 
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
 
Making Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDKMaking Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDKEvren Coşkun
 
The Wikitude SDK and the Wikitude Studio
The Wikitude SDK and the Wikitude StudioThe Wikitude SDK and the Wikitude Studio
The Wikitude SDK and the Wikitude StudioMartin Lechner
 
Building the Matrix: Your First VR App (SVCC 2016)
Building the Matrix: Your First VR App (SVCC 2016)Building the Matrix: Your First VR App (SVCC 2016)
Building the Matrix: Your First VR App (SVCC 2016)Liv Erickson
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environmentUllas Gupta
 
EoT slides presented at the Road2CPS “Smart-Cyber-Physical Systems Clustering...
EoT slides presented at the Road2CPS “Smart-Cyber-Physical Systems Clustering...EoT slides presented at the Road2CPS “Smart-Cyber-Physical Systems Clustering...
EoT slides presented at the Road2CPS “Smart-Cyber-Physical Systems Clustering...Eyes of Things
 
Virtual, Augmented, and Hybrid Reality
Virtual, Augmented, and Hybrid RealityVirtual, Augmented, and Hybrid Reality
Virtual, Augmented, and Hybrid RealityCathleen Galas
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 
Building Holographic & VR Experiences Using the Mixed Reality Toolkit for Unity
Building Holographic & VR Experiences Using the Mixed Reality Toolkit for UnityBuilding Holographic & VR Experiences Using the Mixed Reality Toolkit for Unity
Building Holographic & VR Experiences Using the Mixed Reality Toolkit for UnityNick Landry
 

Semelhante a Getting started with Unity and AR/VR for the .NET developer... Reloaded! (20)

Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
 
Getting Started with Point Clouds Visualisation and AR/VR
Getting Started with Point Clouds Visualisation and AR/VRGetting Started with Point Clouds Visualisation and AR/VR
Getting Started with Point Clouds Visualisation and AR/VR
 
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
 
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
 
VR/AR introduction & state-of-the-art VR/AR prototyping
VR/AR introduction & state-of-the-art VR/AR prototypingVR/AR introduction & state-of-the-art VR/AR prototyping
VR/AR introduction & state-of-the-art VR/AR prototyping
 
HoloLens.pdf
HoloLens.pdfHoloLens.pdf
HoloLens.pdf
 
Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR Experience
 
AR and VR development tools and platforms
AR and VR development tools and platformsAR and VR development tools and platforms
AR and VR development tools and platforms
 
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...
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScript
 
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
 
Making Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDKMaking Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDK
 
The Wikitude SDK and the Wikitude Studio
The Wikitude SDK and the Wikitude StudioThe Wikitude SDK and the Wikitude Studio
The Wikitude SDK and the Wikitude Studio
 
Building the Matrix: Your First VR App (SVCC 2016)
Building the Matrix: Your First VR App (SVCC 2016)Building the Matrix: Your First VR App (SVCC 2016)
Building the Matrix: Your First VR App (SVCC 2016)
 
Augmented Reality Games
Augmented Reality GamesAugmented Reality Games
Augmented Reality Games
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environment
 
EoT slides presented at the Road2CPS “Smart-Cyber-Physical Systems Clustering...
EoT slides presented at the Road2CPS “Smart-Cyber-Physical Systems Clustering...EoT slides presented at the Road2CPS “Smart-Cyber-Physical Systems Clustering...
EoT slides presented at the Road2CPS “Smart-Cyber-Physical Systems Clustering...
 
Virtual, Augmented, and Hybrid Reality
Virtual, Augmented, and Hybrid RealityVirtual, Augmented, and Hybrid Reality
Virtual, Augmented, and Hybrid Reality
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 
Building Holographic & VR Experiences Using the Mixed Reality Toolkit for Unity
Building Holographic & VR Experiences Using the Mixed Reality Toolkit for UnityBuilding Holographic & VR Experiences Using the Mixed Reality Toolkit for Unity
Building Holographic & VR Experiences Using the Mixed Reality Toolkit for Unity
 

Último

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Último (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Getting started with Unity and AR/VR for the .NET developer... Reloaded!

  • 1. Getting started with Unity and AR/VR for the .NET developer… Reloaded! Davide Zordan B: https://davide.dev E: mail@davide.dev T: @DavideZordan
  • 2. Davide Zordan Senior software engineer MCSD, MCSA, MS, MCP Microsoft MVP (2009-2014)
  • 3. Agenda Introduction to Mixed Reality VR interactions and locomotion using Unity and SteamVR Enabling Oculus Quest passthrough Telepresence using points cloud Hand-tracking
  • 4. What is Mixed Reality?
  • 5. The state of things as they “actually exist” through our human senses without any technology. Artificially created sensory experiences of people, environments and objects, which can include sight, touch, hearing, and smell. PHYSICAL REALITY VIRTUAL REALITY
  • 7. PHYSICAL REALITY DIGITAL REALITY MIXED REALITY (MR) Windows Mixed Reality Holographic Devices (see-through) / Magic Leap / Nreal Light / RealWare HMT-1 / LYNX-R / Meta Project Aria, Project Cambria / Varjo Oculus Quest 2 / HTC VIVE - Cosmos / Valve Index / Windows Mixed Reality Immersive Devices (Opaque) / Varjo AR TODAY VR TODAY Physical - Digital Reality Spectrum *The term mixed reality was originally introduced in a 1994 paper by Paul Milgram and Fumio Kishino, "A Taxonomy of Mixed Reality Visual Displays."
  • 8. How can we design for AR/VR?
  • 9. Designing great VR experiences Place illusion Plausibility illusion Embodiment illusion Source: https://www.coursera.org/lecture/introduction-virtual-reality/introduction-to-plausibility-illusion-psi-K5PGj
  • 10.
  • 11. A new way to interact
  • 12. Gaze Gesture Voice Motion control World coordinates Spatial audio Spatial mapping Hand-tracking Eye-tracking
  • 15. DEMO VR locomotion and custom interactions
  • 16.
  • 17. 1 – Using the SteamVR controllers bindings
  • 20. 1 – Creating a VR headset manager
  • 21. 2 – Initialising device-specific settings
  • 22. Adding vocal commands: • Unity KeywordRecognizer • Natural Language Understanding … available online at https://davide.dev/blog
  • 23. DEMO Basic selection and interactions
  • 24.
  • 26. 1 - Mark not moving objects as static
  • 27. 2 – Reduce the number of draw calls - baked lights
  • 28. 3 – Reduce the number of draw calls • Combine meshes and materials • Some Unity plugins available in the asset store can help
  • 29. 4 – Avoid not performant code at runtime
  • 30. 5 – Reduce max polys count in scenes • Mobile devices: ~200,000 • Desktop VR: ~1,000,000 • Do not draw polys that cannot be seen by the user
  • 31. 6 – Optimise garbage collection • Try to avoid the GC while a scene is running • Unity now allows incremental garbage collection
  • 32. 7 – Use object pooling • Try to not instantiate objects at runtime but reuse instanced using object pooling https://github.com/davidezordan/PerformanceBounceback/blob/master/PerformanceBounceback
  • 33. Using Oculus Quest passthrough APIs
  • 35. What are passthrough APIs? https://developer.oculus.com/experimental/passthrough-api/ • Passthrough APIs must be enabled using experimental features using adb: adb shell setprop debug.oculus.experimentalEnabled 1 • Must be enabled in the OVR Manager script of the OVRCameraRig: • Require additional passthrough script: • Enable development of pass-through experiences using Quest • New SDKs recently announced (Voice, Hands manipulations)
  • 36.
  • 38. Collaboration • Facebook Horizon Worlds Social experience https://www.oculus.com/facebook-horizon/ • Facebook Horizon Workrooms Collaboration experience for meetings https://about.fb.com/news/2021/08/introducing-horizon- workrooms-remote-collaboration-reimagined/ • Microsoft Mesh Virtual collaboration / Holoportation https://www.microsoft.com/en-us/mesh Source: https://techcommunity.microsoft.com/t5/mixed-reality-blog/microsoft-mesh-app-august-2021-update-new-features/ba-p/2746856
  • 39. Telepresence • Requires a sensor like Kinect for capturing colors and depth data from cameras. • Captured data (e.g., arrays of Vector3[] / Color[]) can be transmitted over the network via sockets. • Requires a PC to act as a server. • A full implementation is available here: Kowalski, M.; Naruniec, J.; Daniluk, M.: "LiveScan3D: A Fast and Inexpensive 3D Data Acquisition System for Multiple Kinect v2 Sensors". in 3D Vision (3DV), 2015 International Conference on, Lyon, France, 2015 https://github.com/MarekKowalski/LiveScan3D • Further improvements could include audio streaming, usage of other protocols (e.g. WebRTC) • Streaming point clouds to AR/VR devices
  • 40. LiveScan 3D project: https://github.com/MarekKowalski/LiveScan3D
  • 41. Adapted from LiveScan 3D HoloLens project: https://github.com/MarekKowalski/LiveScan3D-Hololens
  • 42. Adapted from LiveScan 3D HoloLens project: https://github.com/MarekKowalski/LiveScan3D-Hololens
  • 43.
  • 45. Mixed Reality Toolkit for Unity • https://aka.ms/MRTK MRTK extensions for Oculus Quest • https://github.com/HoloLabInc/MRTKExtensionForOculu sQuest • https://github.com/provencher/MRTK-Quest
  • 46. Interactions SDK for Oculus Quest (available 2022) Source: Facebook Connect 2021 - https://www.facebookconnect.com/en-gb/
  • 47. DEMO Hand tracking using Oculus Quest and Mixed Reality Toolkit
  • 48.
  • 49. Enhancing the experience using Mixed Reality services
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Microsoft Azure mixed reality services: • Remote rendering • Spatial anchors • Object anchors
  • 57. Summary What is Mixed Reality Why Mixed Reality How to develop for AR/VR VR Interactions / Locomotion Performance considerations Using Oculus passthrough mode Telepresence Developing for AR Mixed Reality Services
  • 58. Key takeaways: Check performance early and often to avoid motion sickness Design properly the experience for maximising the user immersion Use cloud services to enhance the user experience (speech, vision, anchors) Collaboration using AR/VR is an important topic which requires research
  • 59. “Any sufficiently advanced technology is indistinguishable from magic” Arthur C. Clark, Profiles of the future, 1961
  • 60. References AR / VR / Mixed Reality samples https://github.com/davidezordan SteamVR Unity plugin https://github.com/ValveSoftware/steamvr_unity_plugin Mixed Reality Toolkit https://aka.ms/MRTK Unity XR Interaction Toolkit https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@0.9/manual/index.html Unity XR Interaction Toolkit examples https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples Goldman Sachs VR/AR report https://www.goldmansachs.com/insights/pages/virtual-and-augmented-reality-report.html
  • 61. References Coursera “Introduction to Virtual Reality” https://www.coursera.org/lecture/introduction-virtual-reality/introduction-to-plausibility-illusion-psi-K5PGj Cognitive Services https://azure.microsoft.com/en-us/services/cognitive-services Oculus VR performance optimization guide https://developer.oculus.com/documentation/pcsdk/latest/concepts/dg-performance-opt-guide Mixed Reality Academy and Azure Services tutorial https://docs.microsoft.com/en-us/windows/mixed-reality/tutorials Unity: the most common mistakes to avoid https://unity3d.com/how-to/unity-common-mistakes-to-avoid Microsoft Ignite https://8gportalvhdsf9v440s15hrt.blob.core.windows.net/ignite2017/session-presentations/BRK2404.PPTX
  • 62. References Oculus passthrough APIs https://developer.oculus.com/experimental/passthrough-api/ Kowalski, M.; Naruniec, J.; Daniluk, M.: "LiveScan3D: A Fast and Inexpensive 3D Data Acquisition System for Multiple Kinect v2 Sensors". in 3D Vision (3DV), 2015 International Conference on, Lyon, France, 2015 https://github.com/MarekKowalski/LiveScan3D Displaying a Point Cloud Using Scene Depth https://developer.apple.com/documentation/arkit/environmental_analysis/displaying_a_point_cloud_usin g_scene_depth iPad LiDAR Depth Sample for Unity https://github.com/TakashiYoshinaga/iPad-LiDAR-Depth-Sample-for-Unity Prof. Mark Billinghurst - COMP 4010: Virtual Reality lectures – Introduction to XR https://www.slideshare.net/marknb00/comp-4010-2010-lecture1introduction-to-xr
  • 63. References Prof. Mark Billinghurst - COMP 4010: Virtual Reality lectures – Research directions https://www.slideshare.net/marknb00/comp4010-lecture12-research-directions
  • 64. Thanks Davide Zordan B: https://davide.dev E: mail@davide.dev T: @DavideZordan