您好,登錄后才能下訂單哦!
小編這次要給大家分享的是Unity3D如何實現NavMesh導航網格尋路,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
NavMesh(導航網格)是3D游戲世界中用于動態物體實現自動尋路的技術。
NavMesh系統是人工智能的一種,它使用一個添加在游戲對象上或者作為游戲對象父物體的名為“導航網格代理”(NavMeshAgent)的組件來控制該游戲對象尋找能夠通過的路徑,并最終到達目的地。
自動尋路還可以實現繞過障礙、爬上與跳下障礙物、按類別尋找屬于自己的道路、動態設置道路中的障礙等技術。
下面用一個簡單的Demo來介紹NavMesh的應用:
1.在Scene場景中添加Cube設置場景,如圖所示:
2.選擇除了主角、目標以及攝像機、直線光以外的所有物體,在Inspector窗口的右上角勾選Static,成為靜態物體,并設置成Navigation Static靜態類型。
3.在主窗口中選擇[Window]→[Navigation],打開Navigation窗口。該窗口用于生成路徑尋找所需要的導航網格結構,代理將根據該導航網格進行尋路計算。確保勾選了“Navigation Static”。點擊Bake進行烘培。
4.選擇需要尋路的游戲對象,為它添加一個NavMeshAgent組件。
5.編寫尋路代碼,新建一個腳本:
//尋路網格導航 using UnityEngine; using System.Collections; public class DemoNavigation : MonoBehaviour { private NavMeshAgent agent; //導航代理 public Transform TransHero; // Use this for initialization void Start() { agent = this.GetComponent<NavMeshAgent>(); if (agent && TransHero) { agent.SetDestination(TransHero.transform.position); } } }
運行結果:
這樣就實現了NavMesh導航網格尋路。
看完這篇關于Unity3D如何實現NavMesh導航網格尋路的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。