3. Agenda
Introduction to Mixed Reality
VR interactions and locomotion using Unity and SteamVR
Enabling Oculus Quest passthrough
Telepresence using points cloud
Hand-tracking
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."
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
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)
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
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
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