SlideShare une entreprise Scribd logo
1  sur  38
DEVELOP YOUR MIXED REALITY APP FOR HOLOLENS
WITH UNITY AND VISUAL STUDIO
HOLOBASICS
“HoloLens Evangelist”
I am responsible for architecture related business for our project services
department at ETTU. I’m involved as architect at different companies like Jumbo
Maritime, PGGM, Gemeente Amersfoort and others
Alexander Meijers
ABOUT ME
 Solutions Architect for ETTU
 Founder of the Mixed Reality User Group
 MixUG: http://www.mixug.nl
 Email: a.meijers@ettu.nl or alexander@appzinside.com
 Twitter: @ameijers
 Blog: http://www.appzinside.com
3INTRO ETTU
TODAY’S TALK
AGENDA
 Realities explained
 Microsoft HoloLens
Building blocks and tools
 Tools
 Gestures
 Sound
 Spatial Mapping & Occlusion
Slider
Content Ads
MIXED REALITY
HOLOBASICS 5
REALITIES
EXPLAINED
Merging of real and virtual worlds to
produce new environments and
visualizations where physical and
digital objects co-exist and interact
in real time.
An overlay of synthetic content on
the real world that is anchored to
and interacts with the real world
MIXED REALITY
Direct or indirect view of a physical,
real-world environment whose
elements are augmented by
computer-generated sensory input
such as sound, video, graphics
or GPS data
An overlay of content on the real
world where that content is not
anchored to or part of it
AUGMENTED REALITY
Generation of realistic images, sounds
and other sensations that replicate a
real environment or create an
imaginary setting
An immersive experience created
entirely from computer-generated
Content. Also similar to 360 degree
video
VIRTUAL REALITY
MICROSOFT HOLOLENS
HOLOBASICS 7
MICROSOFT HOLOLENS
SPECIFICATIONS
 Windows 10 device based on 32 bit architecture
 Contains CPU, GPU and HPU
 1GB Holographic Processor Unity (HPU)
 64GB flash / 2GB memory
 Device is more powerful than a laptop or game computer
 No overheating due to warm air flows to the sides
 2-3 hours active and 2 weeks standby
 Weight 579g
 Wi-fi
 Gestures, Voice input and spatial understanding
HOLOBASICS 8
SENSORS, OPTICS AND
SPEAKERS
Environment
camera
Depth
camera
Video
camera
Spatial Sound
With
speakers
High definition
lenses
HOLOBASICS 9
HOLOLENS EXAMPLES
“DEMONSTRATION OF SPATIAL DESIGN
CONCEPT APP”
“HoloBasics by Alexander Meijers”
BUILDING BLOCKS AND TOOLS
HOLOBASICS 12
DEVELOPMENT TOOLS
 Visual Studio 2017
 UWP workload
 Game development with Unity workload
 Windows 10 SDK (version 1511 or later)
 There is no separate SDK for HoloLens
 Unity 2017.2 or Unity 5.6.x
 Scripting Runtime Version  Experimental .NET4.6. Equivalent
 HoloLens emulator
 HoloLens Emulator (build 10.0.14393.1358)
 Hyper-V
 Contains DirectX project templates for Visual Studio
 HoloLens device
 GitHub
 Microsoft/MixedRealityToolkit-Unity
HOLOBASICS 13
BUILD LIFECYCLE OF A
HOLOLENS PROJECT
 Create Unity Project
 Configure HoloLens settings
 Create scene
Visual Studio
Unity HoloLens
 Configure build settings
 Build and generate Visual Studio
project
 Open project with Visual Studio
 Pair with HoloLens
 Build & deploy Visual Studio project
 Start Application
 Test & debug
 Monitor
Unity
HOLOBASICS 14
WINDOWS DEVICE PORTAL
 3D View
 Mixed Reality Capture
 Performance
 Performance tracing
 System performance
 Processes
 Apps
 Maintenance
 Crash dumps
 Additional tools
 Logging
 File Explorer
 Virtual Input
HOLOBASICS 15
UNITY
EDITOR
Main
Camera
Directional
Light
Game
Objects
Assets
Components
Script
Scene
HOLOBASICS 16
UNITY
PREFABS
• Predefined Game Objects
• Contains components with predefined values
• Prefabs used in Scene inherit the components and settings
HOLOBASICS 17
UNITY
GAMEOBJECT SCRIPT
• Derived from MonoBehaviour
• Contains methods which are called by Unity through the a
broadcast messaging system
• void Awake() – Called when class is instantiated
• void Start() – Called when object is enabled once before
the first Update()
• void Update() – Called once per frame
• More methods are available
• FixedUpdate, LateUpdate, OnGUI, OnDisable, OnEnabled
HOLOBASICS 18
UNITY
MESSAGE SYSTEM
public void BroadcastMessage(string methodName, object parameter = null, SendMessageOptions options =
SendMessageOptions.RequireReceiver);
• Used for calling methods on GameObjects
• Calls the methods also on its Children
• Examples
• this.BroadcastMessage(“OnSelect”);
• focusedObject.BroadcastMessage(“OnSelect”);
HOLOBASICS 19
UNITY
COMPONENTS
• Transform
• Position of object
• Rotation of object
• Scale (size) of object
• Mesh Renderer & Mesh Filter
• Renders the object
• Mostly done using a mesh
• Mesh Collider
• Determines the collision for the object
• Script
• Perform actions on the object
• Handle messages on an object
“</CODE>”
“HoloBasics by Alexander Meijers”
HOLOBASICS 21
COORDINATE SYSTEM
HOLOLENS AND UNITY
forward (x, y, z)Camera (0, 0, 0)
Rotation (x, y, z)
Camera (1, -1, 4)
Rotation (x, y, z)
Hologram
Object Pinned
HoloLens
moved to
new location
View direction
Gaze
GESTURES
HOLOBASICS 23
GESTURES
GAZE
• The direction of the HoloLens pointing is called the
gaze
• Hits an object or part of the environment
• Uses a Vector3 based value to define its so called
“forward” direction
HOLOBASICS 24
GESTURES
GESTURE RECOGNIZER
• Recognize input by tracking the position of either or both hands
• Gesture frame (Frustum)
• Recognized input from hands
• Bloom
• Press, hold and release
• Gestures
• Hold
• Manipulation
• Navigation
HOLOBASICS 25
GESTURES
GESTURE RECOGNIZER
• Connect commands to gestures
• GestureRecognizer gestures = new GestureRecognizer();
• gestures.TappedEvent += OnGesturesTapped;
• gestures.StartCapturingGestures();
• Events
• Tapped
• Select press and release
• Hold (Started, Completed, Canceled)
• Select press beyond system hold threshold
• Navigation (Started, Updated, Completed, Canceled)
• Select press with relative movement
• Velocity based continuous scrolling or zooming
• Virtual Joystick
• Manipulation (Started, Updated, Completed, Canceled)
• Select press with absolute movement
• Move, resize or rotate hologram
HOLOBASICS 26
GESTURES
SPEECH RECOGNIZER
• Use words or sentences to control your environment
• English language only at the moment
• Connect commands to spoken text
• Dictionary<string, System.Action> keywords = new Dictionary<string,
System.Action>();
• keywords.Add(“some text”, () => { … };
• KeywordRecognizer keywords = new
KeywordRecognizer(keywords.Keys.ToArray());
• keywordRecognizer.OnPhraseRecognized += OnPhraseRecognized;
• keywordRecognizer.Start();
• OnPhraseRecognized( PhaseRecognizedEventArgs args);
• Invoke the action
• keywords[args.text].Invoke();
“</CODE>”
“HoloBasics by Alexander Meijers”
SPATIAL SOUND
HOLOBASICS 29
SPATIAL SOUND
OVERALL
• Simulates 3D sound using direction,
distance and environmental
simulations
• Above, below, behind, to the side, etc.
• Attach sound to holographic objects
• Works also when object is not in line of
sight
• Used to draw attention
• Audio engine in HoloLens
• CPU and memory considerations
• 10-12 spatial sound voices
HOLOBASICS 30
SPATIAL SOUND
TYPES
• Audio Haptics
• Reactive audio for touchless interactions
• Play a sound when user selects an object or when his hands appear inside
the gesture frame
• Gaze mixing
• Highlighting objects
• Play a sound on the object to get the users attention
• Immersion
• Ambient sounds surrounding the user
• Support your scene with background sounds or music
SPATIAL MAPPING & OCCLUSION
HOLOBASICS 32
SPATIAL PERCEPTION
HOW DOES IT WORK?
• Spatial perception and mapping
• Rooms
• Different ways of detecting and working with spatial
perception
• Device scans your environment and builds a digital model in
real time
• It allows HoloLens to see different
surfaces like walls and ceiling
• Meshes & planes
• Possible to simulate
a physical space
• E.g. Projecting a terrain
over your floor
Spatial perception is the
ability to be aware of
your relationships with
the environment around
you and with yourself
“DEMONSTRATION OF LIVE SPATIAL MAPPING
AND UNDERSTANDING BY HOLOLENS”
“HoloBasics by Alexander Meijers”
HOLOBASICS 34
SPATIAL MAPPING AND
UNDERSTANDING
 Spatial Mapping components in Unity
 Spatial Mapping Renderer script
 Spatial Mapping Collider script
 Use an empty GameObject in your scene
 Spatial Mapping render state
 None
 Visualization
 Occlusion
 Rendering material
 Occlusion material
 Visual material
 Cursor on spatial mapping
 SpatialMappingCollider.layer = 31;
 Cursor uses Raycast with layer mask 1<< 31
HOLOBASICS 35
OCCLUSION
CULLING
 Process of determining which surfaces and parts are not visible from a certain viewpoint
 Create a more naturally feeling with mixed reality
 Holograms can be occluded by
 Other holograms
 Real-life objects in your environment which are spatially mapped
 Culling enforces the HoloLens not to (partially) render the object
 To speed up the rendering process
 Objects which are too far away are left out the view (frustum)
 Use Spatial Mapping Renderer
 Set Occlusion material
 Set SpatialMappingRenderer.renderState = RenderState.Occlusion;
“</CODE>”
“DEMONSTRATION OF SPATIAL MAPPING AND
OCCLUSION WITH HOLOGRAM FOR TRUE
MIXED REALITY”
“HoloBasics by Alexander Meijers”
HOLOBASICS 37
WRAP-UP
TAKAWAYS
 Unity and Visual Studio are the tools to build any HoloLens application
 HoloLens applications are not more than UWP with a cool UI
 Make use of the Windows Device Portal to have more control over the HoloLens
 Make use of all the functionality HoloLens offers like spatial mapping, spatial sound, speech and gestures
 Use your environment when building HoloLens applications
THANKS FOR WATCHING!
HoloBasics code on gitHub - https://github.com/ameijers/HoloBasics
Kampenringweg 45b, Gouda
0182-686 000
a.meijers@ettu.nl / alexander@appzinside.com
Contact me:
facebook.com/alexandermeijers.5
@ameijers
Follow me on:

Contenu connexe

Tendances

Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
Ravi Krishna
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
ramazika1
 

Tendances (20)

HoloLens and Windows Mixed Reality
HoloLens and Windows Mixed RealityHoloLens and Windows Mixed Reality
HoloLens and Windows Mixed Reality
 
HoloLens
HoloLensHoloLens
HoloLens
 
Microsoft holo lens
Microsoft holo lensMicrosoft holo lens
Microsoft holo lens
 
Microsoft_HoloLens
Microsoft_HoloLensMicrosoft_HoloLens
Microsoft_HoloLens
 
Microsoft HoloLens
Microsoft HoloLensMicrosoft HoloLens
Microsoft HoloLens
 
HoloLens
HoloLensHoloLens
HoloLens
 
Microsoft Hololens
Microsoft HololensMicrosoft Hololens
Microsoft Hololens
 
SPSNL17 - Introductie HoloLens - Augmented Reality in 2017 - Michiel Hamers
SPSNL17 - Introductie HoloLens - Augmented Reality in 2017 - Michiel HamersSPSNL17 - Introductie HoloLens - Augmented Reality in 2017 - Michiel Hamers
SPSNL17 - Introductie HoloLens - Augmented Reality in 2017 - Michiel Hamers
 
Holo lens
Holo lensHolo lens
Holo lens
 
Microsoft hololens
Microsoft  hololensMicrosoft  hololens
Microsoft hololens
 
Microsoft HoloLens
Microsoft HoloLensMicrosoft HoloLens
Microsoft HoloLens
 
Microsoft Hololens
Microsoft Hololens Microsoft Hololens
Microsoft Hololens
 
Microsoft's Hololens
Microsoft's Hololens Microsoft's Hololens
Microsoft's Hololens
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
 
Microsoft HoloLens
Microsoft HoloLensMicrosoft HoloLens
Microsoft HoloLens
 
Microsoft HoloLens
Microsoft HoloLensMicrosoft HoloLens
Microsoft HoloLens
 
Introduction to HoloLens development
Introduction to HoloLens developmentIntroduction to HoloLens development
Introduction to HoloLens development
 
Microsoft Hololens Ronak
Microsoft Hololens RonakMicrosoft Hololens Ronak
Microsoft Hololens Ronak
 
Microsoft hololens
Microsoft hololensMicrosoft hololens
Microsoft hololens
 
Microsoft Hololens
 Microsoft Hololens Microsoft Hololens
Microsoft Hololens
 

Similaire à Code europe holobasics - develop your mixed reality hololens app with unity and visual studio

Introduction to Augmented Reality using MIcrosoft Hololens
Introduction to Augmented Reality using MIcrosoft HololensIntroduction to Augmented Reality using MIcrosoft Hololens
Introduction to Augmented Reality using MIcrosoft Hololens
santhosh sreeram
 

Similaire à Code europe holobasics - develop your mixed reality hololens app with unity and visual studio (20)

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...
 
Code europe holoadvanced - building more advanced mixed reality apps for ho...
Code europe   holoadvanced - building more advanced mixed reality apps for ho...Code europe   holoadvanced - building more advanced mixed reality apps for ho...
Code europe holoadvanced - building more advanced mixed reality apps for ho...
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to development
 
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
 
HoloToolkit for Unity - Gaze & Voice
HoloToolkit for Unity - Gaze & VoiceHoloToolkit for Unity - Gaze & Voice
HoloToolkit for Unity - Gaze & Voice
 
Mixed Reality Development Overview
Mixed Reality Development OverviewMixed Reality Development Overview
Mixed Reality Development Overview
 
Getting started with Unity and AR/VR for the .NET developer... Reloaded!
Getting started with Unity and AR/VR for the .NET developer... Reloaded!Getting started with Unity and AR/VR for the .NET developer... Reloaded!
Getting started with Unity and AR/VR for the .NET developer... Reloaded!
 
Portiva Sharing & Sushi 11 april 2018 - HoloLens & MIxed Reality - Alexander ...
Portiva Sharing & Sushi 11 april 2018 - HoloLens & MIxed Reality - Alexander ...Portiva Sharing & Sushi 11 april 2018 - HoloLens & MIxed Reality - Alexander ...
Portiva Sharing & Sushi 11 april 2018 - HoloLens & MIxed Reality - Alexander ...
 
BIMO Forum 2017 - Présentation Microsoft HoloLens
BIMO Forum 2017 - Présentation Microsoft HoloLensBIMO Forum 2017 - Présentation Microsoft HoloLens
BIMO Forum 2017 - Présentation Microsoft HoloLens
 
Building Mixed Reality Experiences with the HoloToolkit for Unity
Building Mixed Reality Experiences with the HoloToolkit for UnityBuilding Mixed Reality Experiences with the HoloToolkit for Unity
Building Mixed Reality Experiences with the HoloToolkit for Unity
 
Forge - DevCon 2016: Introduction to building for HoloLens
Forge - DevCon 2016: Introduction to building for HoloLensForge - DevCon 2016: Introduction to building for HoloLens
Forge - DevCon 2016: Introduction to building for HoloLens
 
HoloLens inspiration session
HoloLens inspiration sessionHoloLens inspiration session
HoloLens inspiration session
 
Microsoft HoloLens
Microsoft HoloLens Microsoft HoloLens
Microsoft HoloLens
 
SharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and CloudSharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and Cloud
 
SPUnite17 Build Business Applications with HoloLens and Cloud
SPUnite17 Build Business Applications with HoloLens and CloudSPUnite17 Build Business Applications with HoloLens and Cloud
SPUnite17 Build Business Applications with HoloLens and Cloud
 
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
 
Introduction to Augmented Reality using MIcrosoft Hololens
Introduction to Augmented Reality using MIcrosoft HololensIntroduction to Augmented Reality using MIcrosoft Hololens
Introduction to Augmented Reality using MIcrosoft Hololens
 
HoloLens Introduction and Technical Specifications
HoloLens Introduction and Technical SpecificationsHoloLens Introduction and Technical Specifications
HoloLens Introduction and Technical Specifications
 
Microsoft HoloLens Technology
Microsoft HoloLens TechnologyMicrosoft HoloLens Technology
Microsoft HoloLens Technology
 

Plus de Alexander Meijers

Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
Alexander Meijers
 
Share point unvealed apps in sharepoint 2013
Share point unvealed   apps in sharepoint 2013Share point unvealed   apps in sharepoint 2013
Share point unvealed apps in sharepoint 2013
Alexander Meijers
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
Alexander Meijers
 
Uw Aanpak Voor Slimme Integratie
Uw Aanpak Voor Slimme IntegratieUw Aanpak Voor Slimme Integratie
Uw Aanpak Voor Slimme Integratie
Alexander Meijers
 
Architecture In Share Point2010
Architecture In Share Point2010Architecture In Share Point2010
Architecture In Share Point2010
Alexander Meijers
 

Plus de Alexander Meijers (20)

Microsoft ignite tour - Create an immersive experience with office 365 data ...
Microsoft ignite tour  - Create an immersive experience with office 365 data ...Microsoft ignite tour  - Create an immersive experience with office 365 data ...
Microsoft ignite tour - Create an immersive experience with office 365 data ...
 
Microsoft ignite tour empower your workers using remote assist - theater se...
Microsoft ignite tour   empower your workers using remote assist - theater se...Microsoft ignite tour   empower your workers using remote assist - theater se...
Microsoft ignite tour empower your workers using remote assist - theater se...
 
O365 and SharePoint Connect - Create an immersive experience with office 365...
O365 and SharePoint Connect  - Create an immersive experience with office 365...O365 and SharePoint Connect  - Create an immersive experience with office 365...
O365 and SharePoint Connect - Create an immersive experience with office 365...
 
Modern workplace conference create an immersive experience with office 365 ...
Modern workplace conference   create an immersive experience with office 365 ...Modern workplace conference   create an immersive experience with office 365 ...
Modern workplace conference create an immersive experience with office 365 ...
 
Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...
 
Spsbe2016 extend your office 365 environement to cross-platform apps
Spsbe2016   extend your office 365 environement to cross-platform appsSpsbe2016   extend your office 365 environement to cross-platform apps
Spsbe2016 extend your office 365 environement to cross-platform apps
 
Implementation of azure active directory authentication with cross platform d...
Implementation of azure active directory authentication with cross platform d...Implementation of azure active directory authentication with cross platform d...
Implementation of azure active directory authentication with cross platform d...
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
 
SharePoint 2013 for internet websites
SharePoint 2013 for internet websitesSharePoint 2013 for internet websites
SharePoint 2013 for internet websites
 
Build you own yammer app
Build you own yammer appBuild you own yammer app
Build you own yammer app
 
Sp24 design a share point 2013 architecture – the basics
Sp24   design a share point 2013 architecture – the basicsSp24   design a share point 2013 architecture – the basics
Sp24 design a share point 2013 architecture – the basics
 
Design a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basicsDesign a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basics
 
Share point 2013 and sql server 2012 what to choose
Share point 2013 and sql server 2012   what to chooseShare point 2013 and sql server 2012   what to choose
Share point 2013 and sql server 2012 what to choose
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 
Share point unvealed apps in sharepoint 2013
Share point unvealed   apps in sharepoint 2013Share point unvealed   apps in sharepoint 2013
Share point unvealed apps in sharepoint 2013
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
 
Uw Aanpak Voor Slimme Integratie
Uw Aanpak Voor Slimme IntegratieUw Aanpak Voor Slimme Integratie
Uw Aanpak Voor Slimme Integratie
 
Architecture In Share Point2010
Architecture In Share Point2010Architecture In Share Point2010
Architecture In Share Point2010
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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...
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Code europe holobasics - develop your mixed reality hololens app with unity and visual studio

  • 1. DEVELOP YOUR MIXED REALITY APP FOR HOLOLENS WITH UNITY AND VISUAL STUDIO HOLOBASICS
  • 2. “HoloLens Evangelist” I am responsible for architecture related business for our project services department at ETTU. I’m involved as architect at different companies like Jumbo Maritime, PGGM, Gemeente Amersfoort and others Alexander Meijers ABOUT ME  Solutions Architect for ETTU  Founder of the Mixed Reality User Group  MixUG: http://www.mixug.nl  Email: a.meijers@ettu.nl or alexander@appzinside.com  Twitter: @ameijers  Blog: http://www.appzinside.com
  • 3. 3INTRO ETTU TODAY’S TALK AGENDA  Realities explained  Microsoft HoloLens Building blocks and tools  Tools  Gestures  Sound  Spatial Mapping & Occlusion Slider Content Ads
  • 5. HOLOBASICS 5 REALITIES EXPLAINED Merging of real and virtual worlds to produce new environments and visualizations where physical and digital objects co-exist and interact in real time. An overlay of synthetic content on the real world that is anchored to and interacts with the real world MIXED REALITY Direct or indirect view of a physical, real-world environment whose elements are augmented by computer-generated sensory input such as sound, video, graphics or GPS data An overlay of content on the real world where that content is not anchored to or part of it AUGMENTED REALITY Generation of realistic images, sounds and other sensations that replicate a real environment or create an imaginary setting An immersive experience created entirely from computer-generated Content. Also similar to 360 degree video VIRTUAL REALITY
  • 7. HOLOBASICS 7 MICROSOFT HOLOLENS SPECIFICATIONS  Windows 10 device based on 32 bit architecture  Contains CPU, GPU and HPU  1GB Holographic Processor Unity (HPU)  64GB flash / 2GB memory  Device is more powerful than a laptop or game computer  No overheating due to warm air flows to the sides  2-3 hours active and 2 weeks standby  Weight 579g  Wi-fi  Gestures, Voice input and spatial understanding
  • 8. HOLOBASICS 8 SENSORS, OPTICS AND SPEAKERS Environment camera Depth camera Video camera Spatial Sound With speakers High definition lenses
  • 10. “DEMONSTRATION OF SPATIAL DESIGN CONCEPT APP” “HoloBasics by Alexander Meijers”
  • 12. HOLOBASICS 12 DEVELOPMENT TOOLS  Visual Studio 2017  UWP workload  Game development with Unity workload  Windows 10 SDK (version 1511 or later)  There is no separate SDK for HoloLens  Unity 2017.2 or Unity 5.6.x  Scripting Runtime Version  Experimental .NET4.6. Equivalent  HoloLens emulator  HoloLens Emulator (build 10.0.14393.1358)  Hyper-V  Contains DirectX project templates for Visual Studio  HoloLens device  GitHub  Microsoft/MixedRealityToolkit-Unity
  • 13. HOLOBASICS 13 BUILD LIFECYCLE OF A HOLOLENS PROJECT  Create Unity Project  Configure HoloLens settings  Create scene Visual Studio Unity HoloLens  Configure build settings  Build and generate Visual Studio project  Open project with Visual Studio  Pair with HoloLens  Build & deploy Visual Studio project  Start Application  Test & debug  Monitor Unity
  • 14. HOLOBASICS 14 WINDOWS DEVICE PORTAL  3D View  Mixed Reality Capture  Performance  Performance tracing  System performance  Processes  Apps  Maintenance  Crash dumps  Additional tools  Logging  File Explorer  Virtual Input
  • 16. HOLOBASICS 16 UNITY PREFABS • Predefined Game Objects • Contains components with predefined values • Prefabs used in Scene inherit the components and settings
  • 17. HOLOBASICS 17 UNITY GAMEOBJECT SCRIPT • Derived from MonoBehaviour • Contains methods which are called by Unity through the a broadcast messaging system • void Awake() – Called when class is instantiated • void Start() – Called when object is enabled once before the first Update() • void Update() – Called once per frame • More methods are available • FixedUpdate, LateUpdate, OnGUI, OnDisable, OnEnabled
  • 18. HOLOBASICS 18 UNITY MESSAGE SYSTEM public void BroadcastMessage(string methodName, object parameter = null, SendMessageOptions options = SendMessageOptions.RequireReceiver); • Used for calling methods on GameObjects • Calls the methods also on its Children • Examples • this.BroadcastMessage(“OnSelect”); • focusedObject.BroadcastMessage(“OnSelect”);
  • 19. HOLOBASICS 19 UNITY COMPONENTS • Transform • Position of object • Rotation of object • Scale (size) of object • Mesh Renderer & Mesh Filter • Renders the object • Mostly done using a mesh • Mesh Collider • Determines the collision for the object • Script • Perform actions on the object • Handle messages on an object
  • 21. HOLOBASICS 21 COORDINATE SYSTEM HOLOLENS AND UNITY forward (x, y, z)Camera (0, 0, 0) Rotation (x, y, z) Camera (1, -1, 4) Rotation (x, y, z) Hologram Object Pinned HoloLens moved to new location View direction Gaze
  • 23. HOLOBASICS 23 GESTURES GAZE • The direction of the HoloLens pointing is called the gaze • Hits an object or part of the environment • Uses a Vector3 based value to define its so called “forward” direction
  • 24. HOLOBASICS 24 GESTURES GESTURE RECOGNIZER • Recognize input by tracking the position of either or both hands • Gesture frame (Frustum) • Recognized input from hands • Bloom • Press, hold and release • Gestures • Hold • Manipulation • Navigation
  • 25. HOLOBASICS 25 GESTURES GESTURE RECOGNIZER • Connect commands to gestures • GestureRecognizer gestures = new GestureRecognizer(); • gestures.TappedEvent += OnGesturesTapped; • gestures.StartCapturingGestures(); • Events • Tapped • Select press and release • Hold (Started, Completed, Canceled) • Select press beyond system hold threshold • Navigation (Started, Updated, Completed, Canceled) • Select press with relative movement • Velocity based continuous scrolling or zooming • Virtual Joystick • Manipulation (Started, Updated, Completed, Canceled) • Select press with absolute movement • Move, resize or rotate hologram
  • 26. HOLOBASICS 26 GESTURES SPEECH RECOGNIZER • Use words or sentences to control your environment • English language only at the moment • Connect commands to spoken text • Dictionary<string, System.Action> keywords = new Dictionary<string, System.Action>(); • keywords.Add(“some text”, () => { … }; • KeywordRecognizer keywords = new KeywordRecognizer(keywords.Keys.ToArray()); • keywordRecognizer.OnPhraseRecognized += OnPhraseRecognized; • keywordRecognizer.Start(); • OnPhraseRecognized( PhaseRecognizedEventArgs args); • Invoke the action • keywords[args.text].Invoke();
  • 29. HOLOBASICS 29 SPATIAL SOUND OVERALL • Simulates 3D sound using direction, distance and environmental simulations • Above, below, behind, to the side, etc. • Attach sound to holographic objects • Works also when object is not in line of sight • Used to draw attention • Audio engine in HoloLens • CPU and memory considerations • 10-12 spatial sound voices
  • 30. HOLOBASICS 30 SPATIAL SOUND TYPES • Audio Haptics • Reactive audio for touchless interactions • Play a sound when user selects an object or when his hands appear inside the gesture frame • Gaze mixing • Highlighting objects • Play a sound on the object to get the users attention • Immersion • Ambient sounds surrounding the user • Support your scene with background sounds or music
  • 31. SPATIAL MAPPING & OCCLUSION
  • 32. HOLOBASICS 32 SPATIAL PERCEPTION HOW DOES IT WORK? • Spatial perception and mapping • Rooms • Different ways of detecting and working with spatial perception • Device scans your environment and builds a digital model in real time • It allows HoloLens to see different surfaces like walls and ceiling • Meshes & planes • Possible to simulate a physical space • E.g. Projecting a terrain over your floor Spatial perception is the ability to be aware of your relationships with the environment around you and with yourself
  • 33. “DEMONSTRATION OF LIVE SPATIAL MAPPING AND UNDERSTANDING BY HOLOLENS” “HoloBasics by Alexander Meijers”
  • 34. HOLOBASICS 34 SPATIAL MAPPING AND UNDERSTANDING  Spatial Mapping components in Unity  Spatial Mapping Renderer script  Spatial Mapping Collider script  Use an empty GameObject in your scene  Spatial Mapping render state  None  Visualization  Occlusion  Rendering material  Occlusion material  Visual material  Cursor on spatial mapping  SpatialMappingCollider.layer = 31;  Cursor uses Raycast with layer mask 1<< 31
  • 35. HOLOBASICS 35 OCCLUSION CULLING  Process of determining which surfaces and parts are not visible from a certain viewpoint  Create a more naturally feeling with mixed reality  Holograms can be occluded by  Other holograms  Real-life objects in your environment which are spatially mapped  Culling enforces the HoloLens not to (partially) render the object  To speed up the rendering process  Objects which are too far away are left out the view (frustum)  Use Spatial Mapping Renderer  Set Occlusion material  Set SpatialMappingRenderer.renderState = RenderState.Occlusion;
  • 36. “</CODE>” “DEMONSTRATION OF SPATIAL MAPPING AND OCCLUSION WITH HOLOGRAM FOR TRUE MIXED REALITY” “HoloBasics by Alexander Meijers”
  • 37. HOLOBASICS 37 WRAP-UP TAKAWAYS  Unity and Visual Studio are the tools to build any HoloLens application  HoloLens applications are not more than UWP with a cool UI  Make use of the Windows Device Portal to have more control over the HoloLens  Make use of all the functionality HoloLens offers like spatial mapping, spatial sound, speech and gestures  Use your environment when building HoloLens applications
  • 38. THANKS FOR WATCHING! HoloBasics code on gitHub - https://github.com/ameijers/HoloBasics Kampenringweg 45b, Gouda 0182-686 000 a.meijers@ettu.nl / alexander@appzinside.com Contact me: facebook.com/alexandermeijers.5 @ameijers Follow me on:

Notes de l'éditeur

  1. Mixed Reality (5) Microsoft HoloLens (5) Tools (5) Our first hologram (10) Sound (5) Gestures (5) Spatial Mapping (5) Occlusion (5)
  2. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  3. https://github.com/Microsoft/MixedRealityToolkit-Unity
  4. https://github.com/Microsoft/MixedRealityToolkit-Unity
  5. https://github.com/Microsoft/MixedRealityToolkit-Unity
  6. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  7. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  8. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  9. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  10. https://github.com/Microsoft/MixedRealityToolkit-Unity
  11. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  12. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  13. https://developer.microsoft.com/en-us/windows/mixed-reality/gestures
  14. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  15. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  16. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  17. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  18. https://github.com/Microsoft/MixedRealityToolkit-Unity
  19. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
  20. https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools