[英]Pathfinding in isometric game with autotiles: How to modify NavigationMesh
我正在使用等距自動圖塊程序生成 map。 每個圖塊都有在 Tilemap 編輯器中定義的導航多邊形。 Navigationmesh 工作正常。 問題是我生成的 map 比實際可玩區域要大。 我不想讓人類玩家看到 map 的邊界,即“黑色背景”。 所以我限制了相機視圖的移動。 因此,導航網格超出了可玩區域,如下圖所示:
我正在使用尋路來移動玩家角色。 由於 map 是程序生成的,有時它會生成一個 map,其中一個點的路徑超出可玩區域然后返回以到達其目的地。 像這樣:
O 中的玩家將 go 在可玩之外到達 X。在 X 中可能是一個興趣點,所以如果生成這種 map,我會簡單地重新生成它,直到我得到一個可行的。
我正在使用 GODOT 3.51。
我考慮過:
- 在邊界上添加 NavigationObstacles:沒試過這個,但據我的研究了解,這不會避免代理生成到目的地的路徑。
我的想法是實現沒有路徑超出可玩區域,然后通過檢查所有興趣點(隨機生成)是否可達來檢查 map 是否可行。 這是通過檢查從起點到興趣點的每條路徑的最后一點,看看它是否等於興趣點 position 來完成的。
我希望這是可以理解的。 有時我不明白自己。
我想到的是使用兩個版本的磁貼。 一個不可通行的,將用於生成玩家不應到達的區域。 以及用於可玩區域的常規區域。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.