以前在制作尋路的時(shí)候,總是借助A Star插件。但Unity3D現(xiàn)在已經(jīng)可以使用自己自帶的尋路Component了,而且使用來氣非常的簡單明了!
和U3D以前大多數(shù)的優(yōu)化組件類似,Nav也需要在設(shè)置好尋路網(wǎng)格和尋路對象之后Bake一下。關(guān)于U3D內(nèi)置的尋路組件主要分為兩大個(gè)類,NavMesh和NavMeshAgent;前者用于設(shè)置尋路的網(wǎng)絡(luò),后者設(shè)置尋路的Object。在NavMesh對外公開的方法有: Raycast 跟蹤上NavMesh的兩個(gè)點(diǎn)之間的射線。
CalculatePath 計(jì)算兩點(diǎn)之間的路徑和存儲路徑。
DistanceToEdge 找到最近從一個(gè)點(diǎn)的NavMesh NavMesh邊緣。
SamplePosition 樣品到指定點(diǎn)最接近的NavMesh。
SetLayerCost 設(shè)置成本超過一層上的所有代理類型的幾何遍歷。
GetLayerCost 取得成本超過一層上的所有代理類型的幾何遍歷。
GetNavMeshLayerFromName 返回一個(gè)已命名的層層指數(shù)。
此外它還繼承了一些變量 name 對象的名稱。
hideFlags 如果對象是隱藏的,由用戶在現(xiàn)場或修改保存?
繼承的函數(shù)
GetInstanceID 返回該對象的實(shí)例ID。
ToString 返回游戲?qū)ο蟮拿Q。
繼承類的功能
operator bool 對象是否存在?
Instantiate 克隆原始的對象,并返回克隆 。
Destroy 刪除一個(gè)游戲物體,組件或資產(chǎn)。
DestroyImmediate 立即銷毀對象 obj 。強(qiáng)烈建議,而不是使用毀滅。
FindObjectsOfType 返回的所有活動加載的類型對象的列表類型 。
FindObjectOfType 返回的第一個(gè)活動類型加載的對象類型。
運(yùn)算符== 比較如果兩個(gè)對象指向同一個(gè)
運(yùn)算符! 比較,如果兩個(gè)對象是指不同的對象
DontDestroyOnLoad 使得對象的目標(biāo)不會被破壞時(shí)自動裝載一個(gè)新的場景。
在NavMesh對外公開的方法有: 變量
destination 導(dǎo)航朝目的地。
stoppingDistance 在這個(gè)距離內(nèi)停止從目標(biāo)位置。
velocity navmesh代理組件的當(dāng)前速度。
nextPosition 路徑上的下一個(gè)位置。
remainingDistance 當(dāng)前路徑上的剩余距離。
baseOffset 擁有游戲物體的相對垂直位移。
isOnOffMeshLink 代理目前定位上OffMeshLink。
autoTraverseOffMeshLink 自動運(yùn)動到和關(guān)閉OffMeshLinks。
autoRepath 試圖獲取一個(gè)新的路徑,如果現(xiàn)有的路徑變?yōu)闊o效
hasPath 代理目前有一個(gè)路徑。
pathPending 正在計(jì)算路徑,但還沒有準(zhǔn)備好
isPathStale 當(dāng)前路徑陳舊。
pathStatus 查詢當(dāng)前路徑的狀態(tài)。
walkableMask 指定巫NavMesh層是差強(qiáng)人意(位域)。更改walkableMask將陳舊的路徑(見isPathStale)
speed 最大移動速度。
angularSpeed 最高轉(zhuǎn)速(deg / s的)。
acceleration 最大加速度
updatePosition 如果代理更新變換位置。
updateRotation 如果代理更新變換方向。
radius 代理半徑。
height 代理的高度。
obstacleAvoidanceType 避免質(zhì)量水平
功能
SetDestination 設(shè)置或更新的目標(biāo)。這會觸發(fā)一個(gè)新的路徑計(jì)算。
ActivateCurrentOffMeshLink 啟用或禁用當(dāng)前??鏈接。
GetCurrentOffMeshLinkData 提取當(dāng)前的OffMeshLink狀態(tài)。
GetCurrentOffMeshLinkGameObject 參考當(dāng)前OffMeshLink的游戲?qū)ο蟆?br>
CompleteOffMeshLink 終止電流OffMeshLink。
Move 當(dāng)前位置應(yīng)用相對運(yùn)動。
Stop 停止代理的運(yùn)動沿著目前的道路。
Resume 恢復(fù)運(yùn)動沿著目前的道路。
ResetPath 清除當(dāng)前路徑。請注意,代理將開始尋找一條新的道路,直到SetDestination被稱為。
SetPath 指定代理的路徑。
DistanceToEdge 找到最近的NavMesh邊緣。
Raycast 對一個(gè)目標(biāo)位置的NavMesh的跟蹤運(yùn)動。不移動代理。
SamplePathPosition 采樣沿著目前的道路位置。
SetLayerCost 設(shè)置為以上的層類型的幾何遍歷成本。
GetLayerCost 獲取超過該層類型的幾何遍歷成本。 繼承的成員
繼承的變量
enabled 啟用Behaviours更新,禁用Behaviours都沒有。
transform 變換連接到這個(gè)游戲物體(null,如果是沒有連接)。
rigidbody 剛性主體連接到這個(gè)游戲物體(null,如果是沒有連接)。
camera 該相機(jī)連接到這個(gè)游戲物體(NULL,如果有沒有附加) 。
light 這個(gè)游戲物體光連接(如果是沒有連接的空) 。
animation 動畫的連接到這個(gè)游戲物體(NULL,如果有沒有附加) 。
constantForce ConstantForce連接到這個(gè)游戲物體(null,如果是沒有連接)。
renderer 渲染器 連接到這個(gè)游戲物體(空;如果沒有附加)。
audio AudioSource附加游戲物體(null,如果是沒有連接)。
guiText GUIText連接到這個(gè)游戲物體(null,如果是沒有連接)。
networkView NetworkView連接這個(gè)游戲物體 (只讀)。(空;如果沒有連接)
guiTexture GUITexture連接這個(gè)游戲物體 (只讀)。(空;如果沒有連接)
collider 對撞機(jī)的連接到這個(gè)游戲物體(空;如果沒有附加)。
hingeJoint HingeJoint連接到這個(gè)游戲物體(null,如果是沒有連接)。
particleEmitter ParticleEmitter連接到這個(gè)游戲物體(null,如果是沒有連接)。
particleSystem ParticleSystem連接到這個(gè)游戲物體(null,如果是沒有連接)。
GameObject 此組件連接到游戲的目標(biāo)。始終是一個(gè)組件連接到一個(gè)游戲?qū)ο蟆?br>
tag 這個(gè)游戲?qū)ο蟮臉?biāo)記。
name 對象的名稱。
hideFlags 如果對象是隱藏的,由用戶在現(xiàn)場或修改保存? 繼承的函數(shù)
GetComponent 如果比賽的對象之一附著,空,如果它不返回類型的組件類型。
GetComponentInChildren 返回的類型的組件類型的游戲物體或任何其使用深度優(yōu)先搜索的兒童 。
GetComponentsInChildren 返回類型的所有組件類型在游戲物體或任何其子女。
GetComponents 返回類型的所有組件類型的游戲物體。
CompareTag 這是游戲?qū)ο髽?biāo)簽的標(biāo)簽嗎 ?
SendMessageUpwards 調(diào)用命名方法methodName中每MonoBehaviour在這場比賽中對象的行為的每一個(gè)祖先
SendMessage函數(shù) 調(diào)用命名的方法methodName中每MonoBehaviour在這個(gè)游戲?qū)ο蟆?br>
BroadcastMessage 調(diào)用命名的方法methodName中每MonoBehaviour在這場比賽中的對象或任何其子女。
GetInstanceID 返回該對象的實(shí)例ID。
ToString 返回游戲?qū)ο蟮拿Q。
繼承類的功能
運(yùn)算符BOOL 對象是否存在?
Instantiate 克隆原始的對象,并返回克隆 。
Destroy 刪除一個(gè)游戲物體,組件或資產(chǎn)。
DestroyImmediate 立即銷毀對象 obj 。強(qiáng)烈建議,而不是使用毀滅。
FindObjectsOfType 返回的所有活動加載的類型對象的列表類型 。
FindObjectOfType 返回的第一個(gè)活動類型加載的對象類型。
運(yùn)算符== 比較如果兩個(gè)對象指向同一個(gè)
API參考地址:點(diǎn)擊打開鏈接
視頻教程:1、Navmesh Generation and Agent Follow 2、Unity3D NavMesh Tutorial
原文鏈接 http://www./html/xwzx/ty/4110.html
|