【发布时间】:2019-05-10 03:27:21
【问题描述】:
我在 godot 中有一个瓷砖地图,但所有瓷砖都是障碍物并提供碰撞。只有没有任何瓷砖的单元格可以步行。我现在正在尝试通过 Navigation2D 节点添加导航。据我所知,没有办法告诉它“一切都可以步行,但不是这些瓷砖在哪里”(只能说“瓷砖的这一部分是可步行的”,但在我目前的设置中没有瓷砖步行空间)。
作为一种解决方法,我尝试将没有瓷砖的每个单元格设置为“虚拟瓷砖”,使用以下代码可以完全步行:
func _ready():
for x in size.x:
for y in size.y:
var cell = get_cell(x, y)
if cell == -1:
set_cell(x, y, WALKABLE)
但 Navigation2D 节点无法识别这些图块。如果我手动放置 WALKABLE 磁贴,一切都会按预期进行。
我想我可能会打到this issue,需要致电update_dirty_quadrants(),但这并不能解决问题。
我在 3.0.6stable、3.1Alpha2 版本和最近提交的 9a8569d (provided by godotwild) 上进行了尝试,结果始终相同。
有没有办法在不事先手动放置每个图块的情况下使用 tilemaps 进行导航?
【问题讨论】:
-
你是怎么克服这个问题的?你是不是到处都用瓷砖?
-
我正在使用以帖子中概述的方式生成的每个“空图块”的节点进行自定义寻路。所以从某种意义上说,我根本没有解决这个问题。
标签: godot