🤖

Creating AI in Unity Tutorial

Aug 21, 2024

AI Tutorial Notes

Introduction

  • Creating a simple Artificial Intelligence (AI) in Unity.
  • AI characters will move in an enclosed area without colliding with each other.
  • Many methods exist to achieve this; the chosen method is preferred for its modifiability.

Project Setup

  • Software Used: Unity
  • New Project: Name it "AI Crow"
    • Select 3D and no packages.
    • Create an empty project.

Initial Configurations

  • Unity Settings:
    • Turn off shadows to reduce lag during recording.

Creating the Level

  • Plane Creation:
    • Create a plane for AI movement.
    • Expand the plane as needed.
  • Folders Setup:
    • Create folders for scripts, scenes, and artwork (for materials).
  • Scene Saving:
    • Save the scene as "test".

Creating Boundaries

  • 3D Objects:
    • Create boundary cubes to prevent AI from falling off.
    • Duplicate and rotate cubes as needed to form an enclosed area.

Camera Setup

  • Move and rotate the camera to get an aerial view of the level.
  • Position the camera appropriately on the Z-axis.

AI Character Setup

  • Material Creation:
    • Create a material with a darker color for the plane.
    • Create another material for the AI with a red color.
  • AI Creation:
    • Create a cube as the AI object, resize it appropriately.
  • Attach AI Controller:
    • Create a script named "AIController" and open it in Visual Studio.

Programming the AI Controller

Sensor Creation

  • Sensors:
    • Create four sensors for the AI (front, left, right, back).
    • Use Gizmos for visual representation in the editor.

Movement Logic

  • AI Movement:
    • Add movement to the AI using transform.position += transform.forward * speed * Time.deltaTime.
    • Implement public float for speed (default value of 10).

Sensor Detection

  • Raycast Implementation:
    • Use Raycast to detect obstacles.
    • Implement logic to determine collision with walls.
  • Sensors should trigger different movements based on detected obstacles:
    • Front sensor: if wall detected, move backward.
    • Back sensor: if wall detected, move forward.
    • Left and right sensors: adjust turning based on wall detection.

Additional Features

  • Turn Value: Control AI direction with turn value.
  • Flag Check: Use a flag to detect if a sensor has detected anything.
    • Adjust turn value based on sensor detection.

Final Testing

  • Duplicate AI instances to test movement and collision detection.
  • Observe AI behavior in response to obstacles.

Summary

  • The AI can navigate without colliding by using sensors and simple turning logic.
  • Potential for enhancements:
    • Pathfinding, random target selection, or using Unity's NavMesh.
  • Project Files: Will be available in the description after the video upload.

Conclusion

  • Feedback encouraged for future AI ideas.
  • Thanks for following along!