Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop, Web, and Mobile

As virtual reality approaches mainstream consumer use, a vibrant development ecosystem has emerged in the past few years. This hands-on guide takes you through VR development essentials for desktop, mobile, and browser-based applications. You’ll explore the three go-to platforms—OculusVR, Gear VR, and Cardboard VR—as well as several VR development environments, programming tools, and techniques.

If you’re an experienced programmer familiar with mobile development, this book will help you gain a working knowledge of VR development through clear and simple examples. Once you create a complete application in the final chapter, you’ll have a jumpstart on the next major entertainment medium.

  • Learn VR basics for UI design, 3D graphics, and stereo rendering
  • Explore Unity3D, the current development choice among game engines
  • Create native applications for desktop computers with the Oculus Rift
  • Develop mobile applications for Samsung’s Gear VR with the Android and Oculus Mobile SDKs
  • Build browser-based applications with the WebVR Javascript API and WebGL
  • Create simple and affordable mobile apps for any smartphone with Google’s Cardboard VR
  • Bring everything together to build a 360-degree panoramic photo viewer
1121116585
Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop, Web, and Mobile

As virtual reality approaches mainstream consumer use, a vibrant development ecosystem has emerged in the past few years. This hands-on guide takes you through VR development essentials for desktop, mobile, and browser-based applications. You’ll explore the three go-to platforms—OculusVR, Gear VR, and Cardboard VR—as well as several VR development environments, programming tools, and techniques.

If you’re an experienced programmer familiar with mobile development, this book will help you gain a working knowledge of VR development through clear and simple examples. Once you create a complete application in the final chapter, you’ll have a jumpstart on the next major entertainment medium.

  • Learn VR basics for UI design, 3D graphics, and stereo rendering
  • Explore Unity3D, the current development choice among game engines
  • Create native applications for desktop computers with the Oculus Rift
  • Develop mobile applications for Samsung’s Gear VR with the Android and Oculus Mobile SDKs
  • Build browser-based applications with the WebVR Javascript API and WebGL
  • Create simple and affordable mobile apps for any smartphone with Google’s Cardboard VR
  • Bring everything together to build a 360-degree panoramic photo viewer
25.99 In Stock
Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop, Web, and Mobile

Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop, Web, and Mobile

by Tony Parisi
Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop, Web, and Mobile

Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop, Web, and Mobile

by Tony Parisi

eBook

$25.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

As virtual reality approaches mainstream consumer use, a vibrant development ecosystem has emerged in the past few years. This hands-on guide takes you through VR development essentials for desktop, mobile, and browser-based applications. You’ll explore the three go-to platforms—OculusVR, Gear VR, and Cardboard VR—as well as several VR development environments, programming tools, and techniques.

If you’re an experienced programmer familiar with mobile development, this book will help you gain a working knowledge of VR development through clear and simple examples. Once you create a complete application in the final chapter, you’ll have a jumpstart on the next major entertainment medium.

  • Learn VR basics for UI design, 3D graphics, and stereo rendering
  • Explore Unity3D, the current development choice among game engines
  • Create native applications for desktop computers with the Oculus Rift
  • Develop mobile applications for Samsung’s Gear VR with the Android and Oculus Mobile SDKs
  • Build browser-based applications with the WebVR Javascript API and WebGL
  • Create simple and affordable mobile apps for any smartphone with Google’s Cardboard VR
  • Bring everything together to build a 360-degree panoramic photo viewer

Product Details

ISBN-13: 9781491922781
Publisher: O'Reilly Media, Incorporated
Publication date: 10/26/2015
Sold by: Barnes & Noble
Format: eBook
Pages: 172
File size: 32 MB
Note: This product may take a few minutes to download.

About the Author

Tony Parisi is an entrepreneur and career CTO/software architect. He has developed international standards and protocols, created noteworthy software products, and started and sold technology companies. Tony’s passion for innovating is exceeded only by his desire to build great products.

Tony is a pioneer in virtual reality, the co-creator of the VRML and X3D ISO standards for networked 3D graphics, and continues to innovate in 3D technology. Tony is the co-organizer of the San Francisco WebGL Meetup, and the San Francisco WebVR Meetup, and a member of the Khronos COLLADA working group creating glTF, the new file format standard for 3D web and mobile applications. Tony is also the author of O’Reilly Media’s books on WebGL: WebGL Up and Running (2012), and Programming 3D Applications in HTML5 and WebGL (2014).

Tony is currently VP of Platform Products at WEVR, a virtual reality community and VR media player for aspiring and professional creatives.

Table of Contents

Preface vii

1 Introduction 1

What Is Virtual Reality? 2

Stereoscopic Displays 3

Motion Tracking Hardware 5

Input Devices 5

Computing Platforms 6

Virtual Reality Applications 8

Chapter Summary 9

2 Virtual Reality Hardware 11

Oculus Rift 11

The DK1 12

The DK2 13

Crescent Bay 14

Setting Up Your Oculus Rift 15

Other High-End Head-Mounted Displays 17

Samsung Gear VR: Deluxe, Portable Virtual Reality 18

The Oculus Mobile SDK 20

Google Cardboard: Low-Cost VR for Smartphones 20

Stereo Rendering and Head Tracking with Cardboard VR 22

Cardboard VR Input 22

Developing for Google Cardboard 23

VR Input Devices 23

Chapter Summary 24

3 Going Native: Developing for Oculus Rift on the Desktop 27

3D Graphics Basics 28

3D Coordinate Systems 28

Meshes, Polygons, and Vertices 29

Materials, Textures, and Lights 30

Transforms and Matrices 31

Cameras, Perspective, Viewports, and Projections 32

Stereoscopic Rendering 34

Unity3D: The Game Engine for the Common Man 34

Setting Up the Oculus SDK 36

Setting Up Your Unity Environment for Oculus Development 38

Building Your First VR Example 39

Building and Running the Application 40

Walking Through the Code 44

Chapter Summary 47

4 Going Mobile: Developing for Gear VR 49

The Gear VR User Interface and Oculus Home 50

Using the Oculus Mobile SDK 51

Setting Up the Android SDK 52

Generating an Oculus Signature File 52

Setting Up Your Device for USB Debugging 52

Developing for Gear VR Using Unity3D 53

Setting Up Your Unity3D Environment 53

A Simple Unity3D Sample 54

Handling Touchpad Events 59

Deploying Applications for Gear VR 62

Chapter Summary 62

5 WebVR: Browser-Based Virtual Reality in HTML5 63

The Story of WehVR 65

The WebVR API 66

Supported Browsers and Devices 66

Querying for VR Devices 67

Setting Up VR Fullscreen Mode 69

Head Tracking 70

Creating a WebVR Application 70

Three.js: A JavaScript 3D Engine 71

A Full Example 71

Tools and Techniques for Creating Web VR 79

WebVR Engines and Development Tools 79

Using UnitySD and Unreal for Web VR Development 80

Open Source Libraries and Frameworks 82

WebVR and the Future of Web Browsing 83

Chapter Summary 83

6 VR Everywhere: Google Cardboard for Low-Cost Mobile Virtual Reality 85

Cardboard Basics 87

Supported Devices and Operating Systems 87

Headset Manufacturers 87

Cardboard Applications 89

Input Devices for Cardboard 91

Cardboard Stereo Rendering and Head Tracking 93

Developing with the Cardboard SDK for Android 94

Setting Up the Environment 95

Walking Through the Code 95

Developing with the Cardboard SDK for Unity 100

Setting Up the SDK 100

Building Treasure Hunt for Unity 102

A Walkthrough of the Unity Code 104

Developing Cardboard Applications Using HTML5 and a Mobile Browser 105

Setting Up the WebVR Project 107

The JavaScript Cardboard Code 107

Chapter Summary 110

7 Your First VR Application 113

About 360-Degree Panoramas 114

Setting Up the Project 115

Getting the Software, Hardware, and Sample Code 115

Creating the Unity Scene and Project 116

Adding Cardboard VR Support 121

Creating a Gaze-and-Tap User Interface 125

Creating a 2D Plane 126

Adding Input Support to the Project 126

Creating an Event Handler Script 128

Handling Magnet Switch Events 130

Creating the Functioning User Interface 131

Where to Take the Project from Here 132

Chapter Summary 133

A Resources 135

Index 143

From the B&N Reads Blog

Customer Reviews