Book Image

Mastering Oculus Rift Development

By : Jack Donovan
Book Image

Mastering Oculus Rift Development

By: Jack Donovan

Overview of this book

Virtual reality (VR) is changing the world of gaming and entertainment as we know it. VR headsets such as the Oculus Rift immerse players in a virtual world by tracking their head movements and simulating depth, giving them the feeling that they are actually present in the environment. We will first use the Oculus SDK in the book and will then move on to the widely popular Unity Engine, showing you how you can add that extra edge to your VR games using the power of Unity. In this book, you’ll learn how to take advantage of this new medium by designing around each of its unique features. This book will demonstrate the Unity 5 game engine, one of most widely-used engines for VR development, and will take you through a comprehensive project that covers everything necessary to create and publish a complete VR experience for the Oculus Rift. You will also be able to identify the common perils and pitfalls of VR development to ensure that your audience has the most comfortable experience possible. By the end of the book, you will be able to create an advanced VR game for the Oculus Rift, and you’ll have everything you need to bring your ideas into a new reality.
Table of Contents (17 chapters)
Mastering Oculus Rift Development
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Using coroutines to split up complex work


So you've got a function that taxes the CPU too much. What do you do now? Sometimes you can pare down your experience to create a little more breathing room for your CPU, but obviously it's preferable to figure out a way to split all of the workup so that it can be done in a more conservative manner, even if it takes slightly longer.

This is where Unity's coroutine system comes in. Coroutines are functions that can run for a while, yield to other functions, and then pick up right where they left off. In this section, we'll modify the GenerateRandomNumbers function to be a coroutine so that it can generate one million random numbers without ever blocking the other functions the CPU is responsible for.

There are a few caveats to coroutine functions as well, which we'll cover in this section. One that will immediately impact our function is the required return type; all coroutines must return an IEnumerator object, so we'll have to change GenerateRandomNumbers...