O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

HoloLens Beginner’s Guide

Book Description

Create interactive and intuitiveness HoloLens applications with ease

About This Book

  • Start developing immersive and interactive apps for Microsoft HoloLens
  • Explore the Windows Universal Development platform for HoloLens development
  • Leverage the full set of HoloLens sensors to create mesmerizing apps

Who This Book Is For

If you are a developer new to Windows Universal development platform and want to get started with HoloLens development, then this is the book for you. No prior experience of C# programming or of the .NET framework is needed to get started with this book.

What You Will Learn

  • Write an app that responds to verbal commands
  • Communicate between devices in the boundaries of the UWP model
  • Create sounds in the app and place them in a 3D space
  • Build simple apps that display holograms
  • Interact with the physical environment while taking physical boundaries into account

In Detail

HoloLens revolutionizes the way we work and interact with the virtual world. HoloLens brings you the amazing world of augmented reality and provides an opportunity to explore it like never before.

This is the best book for developers who want to start creating interactive and intuitive augmented reality apps for the HoloLens platform.

You will start with a walkthrough of the HoloLens hardware before creating your first app. Next you will be introduced to the various HoloLens sensors and find out how to program them efficiently so that they can interact with the real world seamlessly. Moving on, you will learn how to create smart animations and add video overlay that implements real-time tracking and motion-sensing abilities to your HoloLens app. Finally, you will learn how to test your app effectively.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the example code
      2. Downloading the color images of this book
      3. Errata
      4. Piracy
      5. Questions
  2. Welcome to the New World
    1. What exactly is the HoloLens?
    2. What you need to develop for the HoloLens
      1. Unity
      2. Visual Studio community
      3. HoloToolkit - Unity
      4. HoloLens emulator
      5. Visual Studio tools for Unity
      6. Other useful tools
    3. Installing the software
      1. Installing Visual Studio
      2. Unity HoloLens technical preview
      3. Visual Studio 2015 tools for Unity
      4. HoloLens emulator
      5. HoloToolkit-Unity
    4. Unity3d quick overview
      1. The main view
    5. Summary
  3. HoloWorld
    1. Hello World!, as its customary
      1. The layout of a HoloLens project
      2. Unity directory structure
    2. Saving the scene
    3. Objects and components
      1. Objects
      2. Components
    4. First project
      1. Our cubism period
      2. Adding a little color
      3. Material plane
      4. Creating the text
    5. Physics simulations
    6. Building the project in Unity
      1. Build settings
      2. Player settings
      3. Compiling our project
      4. Setting Up Visual Studio
        1. Using the HoloLens emulator
        2. Compilation time
    7. Summary
  4. I am in Control
    1. Prefabs
      1. Let's save the HelloWorld
      2. Parent/Child relationship
      3. Creating prefabs
    2. Installing the HoloToolkit
    3. User Input overview
      1. InputManager prefab
      2. New Camera prefab updated HoloToolkit
      3. Cursor
    4. Gaze
    5. Gesture
    6. Voice
    7. Animation
      1. A quick history
      2. Humble beginnings
      3. Time to move!
      4. It's easier than it seems
    8. Mecanim
      1. The Mecanim window
      2. Make them interactive
    9. Here is the Game Plan
    10. Our first script
    11. Materials, textures, and shaders
      1. Materials
      2. Search For It
      3. Adding the details
    12. Changing the color
      1. OnFocusEvent component
      2. Speech Input Source
    13. Time to build and test
    14. Summary
  5. User-Friendly Interface
    1. Reloading
    2. Unity C# scripting
      1. What is C#?
    3. A quick example
      1. Where to begin
      2. The breakdown of a Unity C# class
      3. Variables
      4. Access modifiers
      5. Class methods
      6. Understanding scope
      7. A lot to take in
    4. User interface design
      1. General user interface best practices
      2. Something new
      3. Microsoft HoloLens best practices
    5. The Unity camera and HoloLens
    6. Unity UI
      1. Overview
      2. Interactivity
      3. HoloLens UI
      4. A visible canvas
      5. Now it's time to build again
    7. Any object can be an interface object
    8. Summary
  6. Now That Is How It Should Sound
    1. Audio overview
    2. Here is what it is all about
    3. Unity audio components
      1. Audio Listener
      2. Audio Source
    4. Spatial sound and HoloLens
      1. Spatial sound
      2. Setting up Audio Sources
      3. Building a soundscape
      4. Finding sounds
      5. Importing our sounds into Unity
      6. Audio Source options
      7. Using our sounds
    5. Let's listen to our work
    6. Summary
  7. Not So Blank Spaces
    1. Spatial Mapping
    2. Let's get into this
      1. Importing the essentials
    3. Spatial Mapping in practice
      1. Spatial Mapping Observer
      2. Spatial Mapping Manager
      3. Object Surface Observer
    4. Our new Skeeball machine
      1. Application management
      2. Design patterns
      3. There can be only one
      4. Creating our application manager
      5. The ApplicationManager code
      6. Attaching our application manager and wiring it up
      7. So let it be written... so let it be done...
    5. The home stretch
      1. Code matters
      2. Let us enjoy our hard work
    6. Summary
  8. The Tools of the Trade
    1. Persistence
      1. Why are persistent holograms necessary?
      2. Coordinate systems
    2. World Anchors
      1. World Anchor system
      2. Some quick upkeep
      3. World Anchor code
      4. ApplicationManager changes
      5. A few more quick changes
      6. Seeking help
    3. The in-game debug window
      1. The prefab
      2. Let's wire this sucker up
    4. In-game menu
      1. Creating the menu items
      2. Setting up to code
        1. Time to code
    5. Summary
  9. Share What You Have Got
    1. Networking
      1. What is a network?
    2. Making the Skeeball game a shared experience
      1. Quick setup
    3. A very simple first step
      1. Too much information
    4. Spawning our Skeeball machine
      1. It's not really backtracking if it was the plan
      2. Application manager
      3. Enums
      4. Updating the Update() method
    5. Filling in the blanks
    6. The payoff
    7. Summary
  10. Putting It All Together
    1. Our main Prefab
      1. The organization system
      2. The reorganization
    2. Importing the RampColliders
    3. When bounding boxes collide
      1. Who wants to score?
      2. Think globally act locally
    4. Finishing the Prefab
      1. Ball Spawn Point
      2. SkeeSpawner
      3. Speed indicator
    5. GameBall Prefab
      1. Tags and Layers
      2. ThrowBall.cs
    6. Finishing touches
      1. Updating Placeskee ballMachine
    7. ApplicationManager
      1. Action makes sound
      2. Some quick house cleaning
      3. Replacing the main Prefab
    8. Summary
  11. Fixing Problems
    1. The Application Manager
      1. Seeing it all at once
      2. What does our Application Manager do?
    2. Debugging
      1. Bring the black flag
      2. Inspector
      3. Unity Property Attributes
      4. Unity Inspector Debug Mode
      5. Debug.Log/Console window
      6. Visual Studio Debugger
    3. Profiling and fixing performance
      1. HoloLens Developers Portal
      2. HoloToolkit FPS prefab
      3. Unity Profiler
      4. Visual Studio performance profiler
      5. Unity Frame Debugger
      6. Visual Studio Graphics Debugger
    4. Simplygon
    5. Summary