2018年5月3日 星期四

[Unity][教學][翻譯][筆記]動態尋路Part1

原址:https://www.youtube.com/watch?v=4Kj6YUPLWCw

首先來看最後成果
最後成果為藍球走到藍色目標、紅球走到紅色目標。

#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
會寫這篇只是想留個筆記

沒有留言:

張貼留言