Book Image

Complete Virtual Reality and Augmented Reality Development with Unity

By : Jesse Glover, Jonathan Linowes
Book Image

Complete Virtual Reality and Augmented Reality Development with Unity

By: Jesse Glover, Jonathan Linowes

Overview of this book

Unity is the leading platform to develop mixed reality experiences because it provides a great pipeline for working with 3D assets. Using a practical and project-based approach, this Learning Path educates you about the specifics of AR and VR development using Unity 2018 and Unity 3D. You’ll learn to integrate, animate, and overlay 3D objects on your camera feed, before moving on to implement sensor-based AR applications. You’ll explore various concepts by creating an AR application using Vuforia for both macOS and Windows for Android and iOS devices. Next, you’ll learn how to develop VR applications that can be experienced with devices, such as Oculus and Vive. You’ll also explore various tools for VR development: gaze-based versus hand controller input, world space UI canvases, locomotion and teleportation, timeline animation, and multiplayer networking. You’ll learn the Unity 3D game engine via the interactive Unity Editor and C# programming. By the end of this Learning Path, you’ll be fully equipped to develop rich, interactive mixed reality experiences using Unity. This Learning Path includes content from the following Packt products: • Unity Virtual Reality Projects - Second Edition by Jonathan Linowes • Unity 2018 Augmented Reality Projects by Jesse Glover
Table of Contents (24 chapters)
Title Page
Copyright
About Packt
Contributors
Preface
Index

Resetting center and position 


Sometimes in VR, the view presented in the headset is not quite in sync with your body's orientation. Device SDKs provide functions to reset the orientation of the headset with respect to the real-world space. This is often referred to as the recentering of the view.

Unity provides an API call that maps to the underlying device SDK to recenter the device, UnityEngine.VR.InputTracking.Recenter(). This function will center tracking to the current position and orientation of the HMD. It only works with seated and standing experiences. Room scale experiences are not affected.

At the time of this writing, Recenter does not work in SteamVR, even for seated configuration. The solution is to call the following code instead:

Valve.VR.OpenVR.System.ResetSeatedZeroPose();
Valve.VR.OpenVR.Compositor.SetTrackingSpace(Valve.VR.ETrackingUniverseOrigin.TrackingUniverseSeated);

The Daydream controller has reset built into the underlying system (press and hold the system button...