Reader small image

You're reading from  Unity Artificial Intelligence Programming - Fifth Edition

Product typeBook
Published inMar 2022
Reading LevelBeginner
PublisherPackt
ISBN-139781803238531
Edition5th Edition
Languages
Tools
Right arrow
Author (1)
Dr. Davide Aversa
Dr. Davide Aversa
author image
Dr. Davide Aversa

Dr. Davide Aversa holds a PhD in Artificial Intelligence (AI) and an MSc in AI and robotics from the University of Rome La Sapienza in Italy. He has a strong interest in AI for the development of interactive virtual agents and procedural content generation. He has served as a program committee member for video game-related conferences such as the IEEE conference on computational intelligence and games, and he also regularly participates in game-jam contests. He also writes a blog on game design and game development.
Read more about Dr. Davide Aversa

Right arrow

Alternative implementation

In this section, we use the Unity physics engine to simplify the code a bit. In fact, in this example, we attach a Rigidbody component to the boids to use the Rigidbody properties to translate and steer them. In addition, the Rigidbody component is also helpful in preventing the other boids from overlapping with each other.

In this implementation, we have two components: the individual boid behavior and the controller behavior (the element referred to as the flock controller in the previous section). As before, the controller is the object that the rest of the boids follow.

The code in the Flock.cs file is as follows:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Flock : MonoBehaviour { 
    internal FlockController controller;
    private new Rigidbody rigidbody;
    private void Start() {
        rigidbody...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Unity Artificial Intelligence Programming - Fifth Edition
Published in: Mar 2022Publisher: PacktISBN-13: 9781803238531

Author (1)

author image
Dr. Davide Aversa

Dr. Davide Aversa holds a PhD in Artificial Intelligence (AI) and an MSc in AI and robotics from the University of Rome La Sapienza in Italy. He has a strong interest in AI for the development of interactive virtual agents and procedural content generation. He has served as a program committee member for video game-related conferences such as the IEEE conference on computational intelligence and games, and he also regularly participates in game-jam contests. He also writes a blog on game design and game development.
Read more about Dr. Davide Aversa