Book Image

Unity 2020 Virtual Reality Projects - Third Edition

By : Jonathan Linowes
Book Image

Unity 2020 Virtual Reality Projects - Third Edition

By: Jonathan Linowes

Overview of this book

This third edition of the Unity Virtual Reality (VR) development guide is updated to cover the latest features of Unity 2019.4 or later versions - the leading platform for building VR games, applications, and immersive experiences for contemporary VR devices. Enhanced with more focus on growing components, such as Universal Render Pipeline (URP), extended reality (XR) plugins, the XR Interaction Toolkit package, and the latest VR devices, this edition will help you to get up to date with the current state of VR. With its practical and project-based approach, this book covers the specifics of virtual reality development in Unity. You'll learn how to build VR apps that can be experienced with modern devices from Oculus, VIVE, and others. This virtual reality book presents lighting and rendering strategies to help you build cutting-edge graphics, and explains URP and rendering concepts that will enable you to achieve realism for your apps. You'll build real-world VR experiences using world space user interface canvases, locomotion and teleportation, 360-degree media, and timeline animation, as well as learn about important VR development concepts, best practices, and performance optimization and user experience strategies. By the end of this Unity book, you'll be fully equipped to use Unity to develop rich, interactive virtual reality experiences.
Table of Contents (15 chapters)

Technical skills that are important to VR

Being a VR developer requires the integration of multiple skills. Yes, you may likely specialize in one or a few areas. But sooner or later you're going to need at least some hands-on experience in a range of areas, as depicted in the following diagram:

Years ago, software development was revolutionized by the web. Web development draws upon a range of engineering and artistic disciplines to make a successful website, including artists, designers, typographers, photographers, and others. With VR, the reach is an order of magnitude greater. VR is multimedia, requiring audio, animation, and 3D design. VR is software engineering, requiring programming, debugging, and platform operations. VR is architecture and modeling, requiring 3D models, level design, and space construction. VR is theater and storytelling, requiring lighting, blocking, and character development. And the list goes on. But do not be discouraged. Consider this a challenge. Dip your toes into each aspect of the whole, and, as needed, deep dive into one area or another and engage friends and colleagues who have these skills and knowledge.

Each chapter of this book introduces new technical skills and concepts that are important if you wish to build your own VR applications. You will learn about the following in this book:

  • World scale: When building for a VR experience, attention to the 3D space and scale is important. One unit in Unity is usually equal to one meter in the virtual world.
  • First-person controls: There are various techniques that can be used to control the movement of your agent (first-person camera), gaze-based selection, tracked hand-input controllers, and head movements.

  • User interface controls: Unlike conventional video (and mobile) games, all user interface components are in world coordinates in VR, not screen coordinates. We'll explore ways to present notices, buttons, selectors, and other user interface (UI) controls to the users so that they can interact with the environment and make selections.
  • Lighting and rendering: Managing the look of each scene is important to accomplishing the feel you want. This is a complex set of topics (light sources, global illumination, render pipelines, quality settings, lightmapping, and other effects!). We'll introduce enough basics to get you going.
  • Physics and gravity: Critical to the sense of presence and immersion in VR is the physics and gravity of the world. We'll use the Unity physics engine to our advantage.
  • Animations: Moving objects within the scene is called animation—duh! It can either be along predefined paths or it may use artificial intelligence (AI) scripting that follows a logical algorithm in response to events in the environment.
  • Multiuser services: Real-time networking and multiuser games are not easy to implement, but online services make it easy without you having to be a computer engineer.
  • Build, run, and optimize: Different HMDs use different developer kits and assets to build applications that target a specific device. We'll consider techniques that let you use a single interface for multiple devices. Understanding the rendering pipeline and how to optimize performance is a critical skill for VR development.
  • C# programming: We will write scripts in the C# language and use features of Unity as and when they are needed to get things done.

However, there are technical areas that we will not cover. We will not go into modeling techniques, terrains, or humanoid animations. We also won't discuss game mechanics, dynamics, and strategies. All of these are very important topics that may be necessary for you (or for someone in your team) to learn, in addition to this book, to build complete, successful, and immersive VR applications.

So, let's see what this book actually covers and who it caters to.