[Unity3D]A*算法、導航網格、路徑點尋路對比(A-Star VS NavMesh VS WayPoint)

【轉載】[Unity3D]A*算法、導航網格、路徑點尋路對比(A-Star VS NavMesh VS WayPoint)

在Unity3d中,我們一般常用的尋路算法:

1.A*算法插件

與貪婪算法不一樣,貪婪算法適合動態規劃,尋找局部最優解,不保證最優解。A*是靜態網格中求解最短路最有效的方法。也是耗時的算法,不宜尋路頻繁的場合。一般來說適合需求精確的場合。

與啓發式的搜索一樣,能夠根據改變網格密度、網格耗散來進行調整精確度。

使用較好的地方:
a.策略遊戲的策略搜索
b.方塊格子游戲中的格子尋路


2.U3D自帶的導航網格系統

U3D內置了NavMesh導航網格系統,一般來說導航網格算法大多是“拐角點算法”,具體大家可以去查下。效率是比較高的,但是不保證最優解算法。

使用較好的地方:
a.遊戲場景的怪物尋路
b.動態規避障礙

3.WayPoint尋路插件

速度最快,但相應來說表現也非常侷限,它常常走“Z”型的軌跡,並不適合複雜場合的使用。例如它不能根據寬度、高度、路徑點耗散等來改變行進路徑。

使用較好的地方:
a.塔防怪物行進路徑
b.AI巡邏路線



大概簡單一說,其實大家心裏都會有個底,什麼情況用什麼。並沒有說一種尋路可以通吃所有場合或想適應所有場合。選擇都是基於需求而定。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章