Book Image

Unity 2020 By Example - Third Edition

By : Robert Wells
Book Image

Unity 2020 By Example - Third Edition

By: Robert Wells

Overview of this book

The Unity game engine, used by millions of developers around the world, is popular thanks to its features that enable you to create games and 3D apps for desktop and mobile platforms in no time. With Unity 2020, this state-of-the-art game engine introduces enhancements in Unity tooling, editor, and workflow, among many other additions. The third edition of this Unity book is updated to the new features in Unity 2020 and modern game development practices. Once you’ve quickly got to grips with the fundamentals of Unity game development, you’ll create a collection, a twin-stick shooter, and a 2D adventure game. You’ll then explore advanced topics such as machine learning, virtual reality, and augmented reality by building complete projects using the latest game tool kit. As you implement concepts in practice, this book will ensure that you come away with a clear understanding of Unity game development. By the end of the book, you'll have a firm foundation in Unity development using C#, which can be applied to other engines and programming languages. You'll also be able to create several real-world projects to add to your professional game development portfolio.
Table of Contents (16 chapters)

Chapter 14: Completing the AR Game with the Universal Render Pipeline

This chapter completes the Augmented Reality (AR) project we started in the previous chapter. We'll extend the project by adding custom logic to detect a horizontal or vertical surface and spawn the turtle on the detected surface by tapping the screen.

An indispensable tool for creating an AR game is the ability to detect features in the environment. A feature could be anything from a face to a specific image or QR code. In this chapter, we will leverage the tools built into AR Foundation to detect surfaces, which Unity calls planes. We'll take advantage of prebuilt components and GameObjects to visualize the planes, which makes debugging easier. We will be able to see in real time when Unity has detected a plane, the size of the detected plane, and its location in the world.

We'll then write custom logic that will extract the plane data generated by Unity and make it accessible to our scripts...