2015-01-12 28 views
2

我明白導航網格的工作原理,但我如何真正創建導航網格。如何使導航網格進行尋路?

我的猜測是選擇具有給定的約束集的隨機頂點,例如,使z軸的值保持不變,選擇不小於頂點之間最小指定間隔的隨機點,以便網格具有有限區域等等。

正如你所看到的,我對於如何實現這一點並不知情。創建導航網格對我來說似乎更手動。什麼可能是在3D環境中創建凸網格的有效方法?

回答

2

實際上有很多種方法。

用幾句話概述 - 獲得可行走的區域輪廓並使用Delaunay三角剖分將它們分割成三角形,如果有高度變化或太大的多邊形,則添加更多點。

查看RecastNavigation庫(github源代碼),它將NavMesh作爲其功能的一部分進行生成。

+0

非常感謝您的回覆。提到之後,我一直在查看RecastNavigation庫。我理解的是Recast製作導彈,並且可以使用Detour來進行尋路。由於Recast Demo是Recast的一個實現,能否使用重鑄演示來生成一個包含創建的導航網格數據的文件?我找不到導出或保存創建的導航網格的方法。或者,我是否應該自己實施圖書館來完成這項任務? – user3124361

+0

@ user3124361:如果您只需要navmesh多邊形,則可以在生成導圖網格後調用'duDumpPolyMeshDetailToObj'。 – Kromster