首先來看最後成果
最後成果為藍球走到藍色目標、紅球走到紅色目標。
#1 設置好你的場景
我將場景靜態物件都放在同一物件Map之下,之後可以一同設定。
然後挑一個紅球當Agent、另一個紅色為目標物
其它顏色及數量最後再複製就好
#2 設定好靜態物件
將你所有的場景物件設為靜態,即為右上角的選項Static
事實上主要是要設定Navigation Static,右鍵點擊Static可以看到
#3 Bake Navigation Map
由上排選單列打開Window/Navigation
參數有空再看文件調整,
直接按下Bake就會產出Navigation Map了.
你可以在scene的視窗看到他畫出的圖,淺藍色即是可以移動的路徑
#4 將NavMeshAgent指定給紅球
#5 寫個簡單的script Agent控制NavMeshAgent
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class Agent : MonoBehaviour {
public Transform target;
private NavMeshAgent navAgent;
// Use this for initialization
void Start () {
navAgent = GetComponent<NavMeshAgent>();
navAgent.SetDestination(target.position);
}
// Update is called once per frame
void Update () {
}
}
#6 將Agent也塞給紅球
並目標Target設定好#7 按下執行
若想測試多個只要再複製紅球
及再用同方法製造藍球即可
範例:https://github.com/MageWang/Crowd-Behaviours-on-a-Dynamic-Navmesh-in-Unity-Part-1-Sample
會寫這篇只是想留個筆記