This presentation introduces HoloToolkit for Unity, which is an open-source framework started by the Microsoft HoloLens team, which encapsulates and simplifies key concepts of working with HoloLens: Gaze, Gesture, Voice, Spatial Audio, Spatial Mapping. The slides walk the audience through a concrete example illustrating Gaze and Voice Recognition, and show a few specific contributions to HoloToolkit that help developers avoid boilerplate code and focus on their applications.
2. Background
• Waterloo CS, 16 years software engineering
• Unity + AR/VR/MR + full-stack development
• Multiple startups, technical & product roles
• Looking for experts: Unity, graphics, shaders
3. Overview
• HoloToolkit is an open-source framework
brought to you by the Microsoft HoloLens
team
• Encapsulates and simplifies key concepts
of working with HoloLens: Gaze, Gesture,
Voice, Spatial Audio, Spatial Perception
• Today: Gaze & Voice Recognition
4. Gaze & Keyword Managers
• HoloToolkit provides GazeManager prefab for getting
information about objects hit with user’s gaze
• HoloLens Unity SDK provides KeywordRecognizer API
to register voice commands and trigger event
callbacks
• Example: “Bigger”, “Smaller” to adjust object size
• HoloToolkit adds KeywordManager prefab for
registering keywords and handlers in Unity Editor
5. Problem
• Scenario: Looking at objects instantiated at runtime and
sending voice commands to those objects
• Problem: Objects need to exist in scene hierarchy to register
keywords and event handlers in KeywordManager
• Workaround: OnSelect sent by GestureManager,
OnGazeEnter & OnGazeLeave sent by GazeManager +
multiple dynamically created KeywordRecognizers
• Ideal: No boilerplate code when using voice commands +
solution that scales with large number of objects
11. Outcome
• Now: Sending voice commands to focused and
selected objects is easy, no code required
• Simple: Modular architecture decouples message
senders from message receivers
• Next: Automatic registration of keywords from
holographic UI elements and other objects
• Challenges: String message performance + type
safety
12. Join the Community!
• Discuss issues and challenges on HoloLens
Developer Forums & at HoloLens meetups
• Recognize common problems that can be solved
for everyone with some minimal code
• Fork HoloTookit-Unity on Github, open issues,
submit pull requests, address code reviews
• Spread the word and help grow the community