SlideShare a Scribd company logo
1 of 30
www.cameronvetter.com 1
Augmented
Reality
Let’s Make Some
Holograms!
Goal of this Presentation
www.cameronvetter.com 2
Learn AR Terminology
Build an Application
See Some
Code
See Lot’s of
Examples
www.cameronvetter.com
About Me Senior Software Architect
www.cameronvetter.com
@PoshPorcupine
Presentation Roadmap
www.cameronvetter.com 4
Holograms
Persistence
Control
Real World Understanding
Spatial Mapping
Plane Finding
Spatial Understanding
Gaze
Cursor
Gestures
Voice
Billboarding
Placement
Physics
World Anchors
Holographic Lens
1268 x 720 Per Eye
3 Waveguide Lenses Per Eye
Intel Atom CPU
X5-Z8100 1.4 GHZ
2GB Ram
Holographic Processing Unit
Custom build Microsoft GPU
Sensors
4 Environment Cameras
1 Depth Camera
1 Video Camera
4 Microphones
1 Light Sensor
What is the HoloLens?
www.cameronvetter.com 05
Development Tools
www.cameronvetter.com 6
Visual Studio 2015 Update 3
Windows 10 SDK
Unity 3d HoloLens Technical Preview
HoloLens Emulator
HoloToolkit / HoloToolkit-Unity
Real World
Understanding
www.cameronvetter.com 7
World Coordinate System
1 Unit = 1 Meter
User Start is Origin
X=0, Y=0, Z=0
Hidden Triangles
Called the Spatial Mesh
Spatial Anchors
Attach Hologram to Reference Points
in the Spatial Map
Spatial Mapping
www.cameronvetter.com 08
Room Mesh
Visualized with Solids in the
Illustration
Physics
Holograms and Real World interact
with each other through Game
Engine Physics
Occlusion
Works Both Ways
Plane Finding
Ability to Find Planes in the Real
World
What do we get?
www.cameronvetter.com 09
Uses Spatial Map
Spatial Map Data used to find Planes
Type of Planes
Walls
Floor
Ceiling
Horizontal Surfaces
Other
Skipping this Topic
We now have Spatial Understanding
Plane Finding
www.cameronvetter.com 010
World Understanding
More Detail than Spatial Map
Topology Queries
Simple Surface and Spatial Queries
Object Placement Solver
Constraint Based Placement of
Object Sets
Shape Queries
Look for Real World Shape Matching
Custom Shape by the User
Spatial Understanding
www.cameronvetter.com 011
Demos
www.cameronvetter.com
Spatial
Mapping
Spatial
Understanding
Holograms
www.cameronvetter.com 13
Body Locked
Tags Along with the Display
Display Locked
Positionally Locked to the Display
Use Sparingly
Clinginess is Frustrating for Users
Breaks Illusion
Holograms are Intended to Blend,
Not Overlay
Billboarding
www.cameronvetter.com 014
Relative to Origin
Origin is Starting Position, Not
Current Position
Relative to Real World
Must take into Account, Real World
Objects
Spatial Understanding
Used to Accurately Place Objects
with Object Placement Solver
Plane Finding
Used to Quickly Find Ceiling, Tables,
Walls, and Other Surfaces
Placement
www.cameronvetter.com 015
Tracks World State
Real World Objects and Holograms
Placement Types
OnFloor, OnWall, OnCeiling,
OnShape, OnEdge,
OnFloorAndCeiling, RandomInAir,
InMidAir, UnderFurnitureEdge
Placement Constraint
NearPoint, NearWall,
AwayFromOtherObjects,
AwayFromPoint
Placement Rules
AwayFromPosition, AwayFromWalls,
AwayFromOtherObjects
Object Placement Solver
www.cameronvetter.com 016
Unity Engine Provided
Add a RigidBody to Any Hologram to
Make it Observe Game Engine
Physics
Spatial Map Collider
Each Plane in the Spatial Mesh
Receives a Unity Collider
Not the Other Way
Real World Objects are not Impacted
by Holograms
Real World Impact
Holograms are Impacted by Real
World
Physics
www.cameronvetter.com 017
Demos
www.cameronvetter.com
Placement
Solver
Physics
Control
www.cameronvetter.com 19
Detects Using Raycast
Raycast from User’s Eyes to Unity
Collider
Primary Interaction
Looking At Holograms is the Primary
Way to Interact with Holograms
Real World has Colliders
Remember During Spatial Mapping
the Real World is given Colliders
Invisible Objects
Any Holograms missing a Collider
are not Selectable with Gaze
Gaze
www.cameronvetter.com 020
Center of View
Display Locked to Center of View
Requires Gaze
Cursor Depends on Gaze, Expect
Both to be in Every Project
Stick with Standard Cursor
Use Microsoft Provided Cursors
Unless you Have a Good Reason to
Customize, TIP: You Don’t
Selection
Primarily used for Selection
Confirmation in Conjunction with
Gaze and Gestures
Cursor
www.cameronvetter.com 021
The Cursor
Bloom
Task Switch / Start Menu
Air Tap
Similar to Primary Mouse Button
Manipulation
Typically Used to Move or Drag
Items
Hold
Similar to Right Clicking
Gestures
www.cameronvetter.com 022
Auxiliary Controls
The Real Right Click
Use Windows 10 Speech
Standard Engine Built into Windows
System Level Commands
Select == Air Tap
Face Me
Bigger
Smaller
Concise Commands
Too Long is Hard to Remember
Too Short is Hard to Differentiate
Voice Input
www.cameronvetter.com 023
Demos
www.cameronvetter.com
Gaze / Cursor Voice Input
Persistence
www.cameronvetter.com 25
Frame of Reference
Requires Stationary Frame of
Reference all Anchors are Tracked
Relative to
Attaches Hologram
Hologram is Attached to Frame of
Reference, Remains Stationary as
Coordinate System Changes
Persistable
HoloToolkit has built in Serializer
Separate Coordinate System
Anchor has own Coordinate System,
adjusts as World Coordinate System
changes to Keep Hologram in Place
Spatial Anchors
www.cameronvetter.com 026
Unity Specific for AR
Not Hololens Specific, Unity Specific
Uses Spatial Anchor
World Anchor is a Wrapped Spatial
Anchor
Persist Between Sessions
Survives App Restarts
Unity Anchor Store
World Anchors are Managed by
Unity Engine
World Anchors
www.cameronvetter.com 027
LIVE DEMO!!!
www.cameronvetter.com 28
01
02
03
04
05
06
Place Holograms
Map the Room
Use A Gesture
Shadows
Voice Commands
Physics
In Summary
www.cameronvetter.com 29
Holograms
Persistence
Control
Real World Understanding
Spatial Mapping
Plane Finding
Spatial Understanding
Gaze
Cursor
Gestures
Voice
Billboarding
Placement
Physics
World Anchors
www.cameronvetter.com 30
www.cameronvetter.com
cameron@cameronvetter.co
m
@poshporcupine
Any Questions?

More Related Content

Similar to Augmented Reality - Let’s Make Some Holgrams! (Developer Version)

Similar to Augmented Reality - Let’s Make Some Holgrams! (Developer Version) (20)

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
 
Immerge yourself in a new Reality
Immerge yourself in a new RealityImmerge yourself in a new Reality
Immerge yourself in a new Reality
 
[Paper Presentation] FoveAR: Combining an Optically See-Through Near-Eye Disp...
[Paper Presentation] FoveAR: Combining an Optically See-Through Near-Eye Disp...[Paper Presentation] FoveAR: Combining an Optically See-Through Near-Eye Disp...
[Paper Presentation] FoveAR: Combining an Optically See-Through Near-Eye Disp...
 
How Augment your Reality: Different perspective on the Reality / Virtuality C...
How Augment your Reality: Different perspective on the Reality / Virtuality C...How Augment your Reality: Different perspective on the Reality / Virtuality C...
How Augment your Reality: Different perspective on the Reality / Virtuality C...
 
Hihihihihihihivivivirtual reality.ppt.pptx
Hihihihihihihivivivirtual reality.ppt.pptxHihihihihihihivivivirtual reality.ppt.pptx
Hihihihihihihivivivirtual reality.ppt.pptx
 
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt )
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt ) Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt )
Алексей Рыбаков (Senior Engineer,Technical Evangelist DataArt )
 
HoloLens.pdf
HoloLens.pdfHoloLens.pdf
HoloLens.pdf
 
Holography
HolographyHolography
Holography
 
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
 
Android
AndroidAndroid
Android
 
Hacking for salone: drone races
Hacking for salone: drone racesHacking for salone: drone races
Hacking for salone: drone races
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to development
 
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)
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challenges
 
Augmented reality for consumer devices
Augmented reality for consumer devicesAugmented reality for consumer devices
Augmented reality for consumer devices
 
IoT Day Italy - Mixed Reality & IoT
IoT Day Italy - Mixed Reality & IoTIoT Day Italy - Mixed Reality & IoT
IoT Day Italy - Mixed Reality & IoT
 
eng.pptx
eng.pptxeng.pptx
eng.pptx
 
Virtual_Reality_New.pptx
Virtual_Reality_New.pptxVirtual_Reality_New.pptx
Virtual_Reality_New.pptx
 
Virtual Reality
Virtual RealityVirtual 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
 

More from Cameron Vetter

More from Cameron Vetter (10)

Why do most machine learning projects never make it to production
Why do most machine learning projects never make it to productionWhy do most machine learning projects never make it to production
Why do most machine learning projects never make it to production
 
Ml.net machine learning for .net developers!
Ml.net machine learning for .net developers!Ml.net machine learning for .net developers!
Ml.net machine learning for .net developers!
 
Cloud First Architecture
Cloud First ArchitectureCloud First Architecture
Cloud First Architecture
 
Mixed reality the second generation is all about ux
Mixed reality   the second generation is all about uxMixed reality   the second generation is all about ux
Mixed reality the second generation is all about ux
 
Global ai night sept 2019 - Milwaukee
Global ai night sept 2019 - MilwaukeeGlobal ai night sept 2019 - Milwaukee
Global ai night sept 2019 - Milwaukee
 
Integrating Machine Learning Capabilities into your team
Integrating Machine Learning Capabilities into your teamIntegrating Machine Learning Capabilities into your team
Integrating Machine Learning Capabilities into your team
 
Azure Notebooks - Jupyter for the Cloud
Azure Notebooks - Jupyter for the CloudAzure Notebooks - Jupyter for the Cloud
Azure Notebooks - Jupyter for the Cloud
 
An Introduction to Artificial Neural Networks
An Introduction to Artificial Neural NetworksAn Introduction to Artificial Neural Networks
An Introduction to Artificial Neural Networks
 
Azure Batch AI for Neural Networks
Azure Batch AI for Neural Networks Azure Batch AI for Neural Networks
Azure Batch AI for Neural Networks
 
Using a Service Bus for Microservice Communication
Using a Service Bus for Microservice CommunicationUsing a Service Bus for Microservice Communication
Using a Service Bus for Microservice Communication
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Augmented Reality - Let’s Make Some Holgrams! (Developer Version)

  • 2. Goal of this Presentation www.cameronvetter.com 2 Learn AR Terminology Build an Application See Some Code See Lot’s of Examples
  • 3. www.cameronvetter.com About Me Senior Software Architect www.cameronvetter.com @PoshPorcupine
  • 4. Presentation Roadmap www.cameronvetter.com 4 Holograms Persistence Control Real World Understanding Spatial Mapping Plane Finding Spatial Understanding Gaze Cursor Gestures Voice Billboarding Placement Physics World Anchors
  • 5. Holographic Lens 1268 x 720 Per Eye 3 Waveguide Lenses Per Eye Intel Atom CPU X5-Z8100 1.4 GHZ 2GB Ram Holographic Processing Unit Custom build Microsoft GPU Sensors 4 Environment Cameras 1 Depth Camera 1 Video Camera 4 Microphones 1 Light Sensor What is the HoloLens? www.cameronvetter.com 05
  • 6. Development Tools www.cameronvetter.com 6 Visual Studio 2015 Update 3 Windows 10 SDK Unity 3d HoloLens Technical Preview HoloLens Emulator HoloToolkit / HoloToolkit-Unity
  • 8. World Coordinate System 1 Unit = 1 Meter User Start is Origin X=0, Y=0, Z=0 Hidden Triangles Called the Spatial Mesh Spatial Anchors Attach Hologram to Reference Points in the Spatial Map Spatial Mapping www.cameronvetter.com 08
  • 9. Room Mesh Visualized with Solids in the Illustration Physics Holograms and Real World interact with each other through Game Engine Physics Occlusion Works Both Ways Plane Finding Ability to Find Planes in the Real World What do we get? www.cameronvetter.com 09
  • 10. Uses Spatial Map Spatial Map Data used to find Planes Type of Planes Walls Floor Ceiling Horizontal Surfaces Other Skipping this Topic We now have Spatial Understanding Plane Finding www.cameronvetter.com 010
  • 11. World Understanding More Detail than Spatial Map Topology Queries Simple Surface and Spatial Queries Object Placement Solver Constraint Based Placement of Object Sets Shape Queries Look for Real World Shape Matching Custom Shape by the User Spatial Understanding www.cameronvetter.com 011
  • 14. Body Locked Tags Along with the Display Display Locked Positionally Locked to the Display Use Sparingly Clinginess is Frustrating for Users Breaks Illusion Holograms are Intended to Blend, Not Overlay Billboarding www.cameronvetter.com 014
  • 15. Relative to Origin Origin is Starting Position, Not Current Position Relative to Real World Must take into Account, Real World Objects Spatial Understanding Used to Accurately Place Objects with Object Placement Solver Plane Finding Used to Quickly Find Ceiling, Tables, Walls, and Other Surfaces Placement www.cameronvetter.com 015
  • 16. Tracks World State Real World Objects and Holograms Placement Types OnFloor, OnWall, OnCeiling, OnShape, OnEdge, OnFloorAndCeiling, RandomInAir, InMidAir, UnderFurnitureEdge Placement Constraint NearPoint, NearWall, AwayFromOtherObjects, AwayFromPoint Placement Rules AwayFromPosition, AwayFromWalls, AwayFromOtherObjects Object Placement Solver www.cameronvetter.com 016
  • 17. Unity Engine Provided Add a RigidBody to Any Hologram to Make it Observe Game Engine Physics Spatial Map Collider Each Plane in the Spatial Mesh Receives a Unity Collider Not the Other Way Real World Objects are not Impacted by Holograms Real World Impact Holograms are Impacted by Real World Physics www.cameronvetter.com 017
  • 20. Detects Using Raycast Raycast from User’s Eyes to Unity Collider Primary Interaction Looking At Holograms is the Primary Way to Interact with Holograms Real World has Colliders Remember During Spatial Mapping the Real World is given Colliders Invisible Objects Any Holograms missing a Collider are not Selectable with Gaze Gaze www.cameronvetter.com 020
  • 21. Center of View Display Locked to Center of View Requires Gaze Cursor Depends on Gaze, Expect Both to be in Every Project Stick with Standard Cursor Use Microsoft Provided Cursors Unless you Have a Good Reason to Customize, TIP: You Don’t Selection Primarily used for Selection Confirmation in Conjunction with Gaze and Gestures Cursor www.cameronvetter.com 021 The Cursor
  • 22. Bloom Task Switch / Start Menu Air Tap Similar to Primary Mouse Button Manipulation Typically Used to Move or Drag Items Hold Similar to Right Clicking Gestures www.cameronvetter.com 022
  • 23. Auxiliary Controls The Real Right Click Use Windows 10 Speech Standard Engine Built into Windows System Level Commands Select == Air Tap Face Me Bigger Smaller Concise Commands Too Long is Hard to Remember Too Short is Hard to Differentiate Voice Input www.cameronvetter.com 023
  • 26. Frame of Reference Requires Stationary Frame of Reference all Anchors are Tracked Relative to Attaches Hologram Hologram is Attached to Frame of Reference, Remains Stationary as Coordinate System Changes Persistable HoloToolkit has built in Serializer Separate Coordinate System Anchor has own Coordinate System, adjusts as World Coordinate System changes to Keep Hologram in Place Spatial Anchors www.cameronvetter.com 026
  • 27. Unity Specific for AR Not Hololens Specific, Unity Specific Uses Spatial Anchor World Anchor is a Wrapped Spatial Anchor Persist Between Sessions Survives App Restarts Unity Anchor Store World Anchors are Managed by Unity Engine World Anchors www.cameronvetter.com 027
  • 28. LIVE DEMO!!! www.cameronvetter.com 28 01 02 03 04 05 06 Place Holograms Map the Room Use A Gesture Shadows Voice Commands Physics
  • 29. In Summary www.cameronvetter.com 29 Holograms Persistence Control Real World Understanding Spatial Mapping Plane Finding Spatial Understanding Gaze Cursor Gestures Voice Billboarding Placement Physics World Anchors