欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Unity3D實(shí)現(xiàn)NavMesh導(dǎo)航網(wǎng)格尋路

 更新時(shí)間:2020年05月18日 17:09:40   作者:Gary_Leong  
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)NavMesh導(dǎo)航網(wǎng)格尋路,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

NavMesh(導(dǎo)航網(wǎng)格)是3D游戲世界中用于動(dòng)態(tài)物體實(shí)現(xiàn)自動(dòng)尋路的技術(shù)。

NavMesh系統(tǒng)是人工智能的一種,它使用一個(gè)添加在游戲?qū)ο笊匣蛘咦鳛橛螒驅(qū)ο蟾肝矬w的名為“導(dǎo)航網(wǎng)格代理”(NavMeshAgent)的組件來(lái)控制該游戲?qū)ο髮ふ夷軌蛲ㄟ^(guò)的路徑,并最終到達(dá)目的地。

自動(dòng)尋路還可以實(shí)現(xiàn)繞過(guò)障礙、爬上與跳下障礙物、按類別尋找屬于自己的道路、動(dòng)態(tài)設(shè)置道路中的障礙等技術(shù)。

下面用一個(gè)簡(jiǎn)單的Demo來(lái)介紹NavMesh的應(yīng)用:

1.在Scene場(chǎng)景中添加Cube設(shè)置場(chǎng)景,如圖所示:

2.選擇除了主角、目標(biāo)以及攝像機(jī)、直線光以外的所有物體,在Inspector窗口的右上角勾選Static,成為靜態(tài)物體,并設(shè)置成Navigation Static靜態(tài)類型。

3.在主窗口中選擇[Window]→[Navigation],打開(kāi)Navigation窗口。該窗口用于生成路徑尋找所需要的導(dǎo)航網(wǎng)格結(jié)構(gòu),代理將根據(jù)該導(dǎo)航網(wǎng)格進(jìn)行尋路計(jì)算。確保勾選了“Navigation Static”。點(diǎn)擊Bake進(jìn)行烘培。

4.選擇需要尋路的游戲?qū)ο螅瑸樗砑右粋€(gè)NavMeshAgent組件。

5.編寫(xiě)尋路代碼,新建一個(gè)腳本:

//尋路網(wǎng)格導(dǎo)航
using UnityEngine;
using System.Collections;
 
public class DemoNavigation : MonoBehaviour
{
 private NavMeshAgent agent;   //導(dǎo)航代理
 public Transform TransHero;
 
 // Use this for initialization
 void Start()
 {
  agent = this.GetComponent<NavMeshAgent>();
  if (agent && TransHero)
  {
   agent.SetDestination(TransHero.transform.position);
  }
 }
}

運(yùn)行結(jié)果:

這樣就實(shí)現(xiàn)了NavMesh導(dǎo)航網(wǎng)格尋路。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論