Book Image

Unity 2021 Cookbook - Fourth Edition

By : Shaun Ferns
Book Image

Unity 2021 Cookbook - Fourth Edition

By: Shaun Ferns

Overview of this book

If you are a Unity developer looking to explore the newest features of Unity 2021 and recipes for advanced challenges, then this fourth edition of Unity Cookbook is here to help you. With this cookbook, you’ll work through a wide variety of recipes that will help you use the essential features of the Unity game engine to their fullest potential. You familiarize yourself with shaders and Shader Graph before exploring animation features to enhance your skills in building games. As you progress, you will gain insights into Unity's latest editor, which will help you in laying out scenes, tweaking existing apps, and building custom tools for augmented reality and virtual reality (AR/VR) experiences. The book will also guide you through many Unity C# gameplay scripting techniques, teaching you how to communicate with database-driven websites and process XML and JSON data files. By the end of this Unity book, you will have gained a comprehensive understanding of Unity game development and built your development skills. The easy-to-follow recipes will earn a permanent place on your bookshelf for reference and help you build better games that stay true to your vision.
Table of Contents (15 chapters)
Free Chapter
2
Responding to User Events for Interactive UIs
3
Inventory and Advanced UIs
6
2D Animation and Physics
13
Advanced Topics - Gizmos, Automated Testing, and More
15
Virtual and Augmented Reality (VR/AR)

How to do it...

To make a group of objects flock together, please follow these steps:

  1. Create a Material object in the Project window and name it m_green, with Main Color tinted green.
  2. Create a Material object in the Project window and name it m_yellow, with Main Color tinted yellow.
  3. Create a 3D Cube GameObject named Cube-drone at (0,0,0). Drag the m_yellow material into this object.
  1. Add a Navigation | NavMeshAgent component to Cube-drone. Set the Stopping Distance property of the NavMeshAgent component to 2.
  2. Add a Physics RigidBody component to Cube-drone with the following properties:
    • Mass is 1
    • Drag is 0
    • Angular Drag is 0.05
    • Use Gravity and Is Kinematic are both unchecked
    • Constraints Freeze Position: Check the Y-axis
  3. Create the following Drone C# script class and add an instance object as a component to the Cube-drone GameObject:
 using UnityEngine;
using UnityEngine.AI;

public class Drone : MonoBehaviour {
private NavMeshAgent...