1. 程式人生 > >Unity3D——學習分享(十四)實現自動尋路

Unity3D——學習分享(十四)實現自動尋路

為了使遊戲增加更多的可玩性,自動尋路功能已經是遊戲中不可或缺的功能了。比如絕地求生中的人機自動尋找目標等。今天分享一個簡單的自動尋路的實現,通過這節的學習,應該會對尋路有更多的瞭解,就可以嘗試更加深層次的尋路功能的實現啦。

1. 先建立一個簡單的場景

在這裡插入圖片描述

2.將Ground(即建立的地形)設為靜態(static) 併為主角新增尋路元件

在這裡插入圖片描述

在這裡插入圖片描述

3.烘焙地圖,簡單來說就是烘焙自動行走的路徑(要注意藍色區域為烘焙的路徑,其它區域是不識別的,可以通過調整引數來達到你想要導航的區域)

在這裡插入圖片描述

在這裡插入圖片描述

4. 為主角新增尋路指令碼,並將目標點賦給主角

在這裡插入圖片描述

using System.
Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI;//新增AI引用 使用其中定義的方法 public class navment : MonoBehaviour { public Transform target; //尋路目標點 private NavMeshAgent agent;//定義尋路元件 void Start () { agent = GetComponent<NavMeshAgent>();//獲取主角身上的尋路元件 } void
Update () { agent.SetDestination(target.position);//呼叫尋路方法 } }

最終實現效果

在這裡插入圖片描述