Unity3D實現(xiàn)NavMesh導航網(wǎng)格尋路
NavMesh(導航網(wǎng)格)是3D游戲世界中用于動態(tài)物體實現(xiàn)自動尋路的技術。
NavMesh系統(tǒng)是人工智能的一種,它使用一個添加在游戲對象上或者作為游戲對象父物體的名為“導航網(wǎng)格代理”(NavMeshAgent)的組件來控制該游戲對象尋找能夠通過的路徑,并最終到達目的地。
自動尋路還可以實現(xiàn)繞過障礙、爬上與跳下障礙物、按類別尋找屬于自己的道路、動態(tài)設置道路中的障礙等技術。
下面用一個簡單的Demo來介紹NavMesh的應用:
1.在Scene場景中添加Cube設置場景,如圖所示:
2.選擇除了主角、目標以及攝像機、直線光以外的所有物體,在Inspector窗口的右上角勾選Static,成為靜態(tài)物體,并設置成Navigation Static靜態(tài)類型。
3.在主窗口中選擇[Window]→[Navigation],打開Navigation窗口。該窗口用于生成路徑尋找所需要的導航網(wǎng)格結構,代理將根據(jù)該導航網(wǎng)格進行尋路計算。確保勾選了“Navigation Static”。點擊Bake進行烘培。
4.選擇需要尋路的游戲對象,為它添加一個NavMeshAgent組件。
5.編寫尋路代碼,新建一個腳本:
//尋路網(wǎng)格導航 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); } } }
運行結果:
這樣就實現(xiàn)了NavMesh導航網(wǎng)格尋路。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C#實現(xiàn)Excel數(shù)據(jù)導入到SQL server數(shù)據(jù)庫
這篇文章主要為大家詳細介紹了在C#中如何實現(xiàn)Excel數(shù)據(jù)導入到SQL server數(shù)據(jù)庫中,文中的示例代碼簡潔易懂,希望對大家有一定的幫助2024-03-03C#基于DBContext(EF)實現(xiàn)通用增刪改查的REST方法實例
這篇文章主要介紹了C#基于DBContext(EF)實現(xiàn)通用增刪改查的REST方法實例,是C#程序設計中非常實用的技巧,需要的朋友可以參考下2014-10-10C#連接Mysql數(shù)據(jù)庫詳細教程(內(nèi)附Mysql及Navicat)
這篇文章主要給大家介紹了C#連接Mysql數(shù)據(jù)庫詳細教程(內(nèi)附Mysql及Navicat),文中通過代碼示例和圖文介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2023-10-10C#打包部署并把.net framework框架打到安裝包的方法步驟
打包c#程序時,有時需要添加.net framework組件到安裝包,本文就來介紹一下C#打包部署并把.net framework框架打到安裝包的方法步驟,具有一定的參考價值,感興趣的可以了解一下2023-10-10算法練習之從String.indexOf的模擬實現(xiàn)開始
這篇文章主要介紹了算法練習從String.indexOf的模擬實現(xiàn)開始,需要的朋友可以參考下2014-12-12