所以,我需要一个方法,返回最近(可达)的点在我的导航网格上,具有明确的视线,并且在半径内。
我在考虑始终将圆边作为计算的起点。因为这应该是最接近的点。但在这个例子中不起作用:
由于在圆的边缘没有直接的视线,我不能把它作为起点。
我也考虑过随机选择点(比如5000个),检查它们是否有视线,并检查与弓箭手的距离。但这当然是一个可怕的解决方案。
我如何找到这个神奇的点呢?
(我不需要一个脚本,只需要一个想法:D)
编辑:
不需要到达目标点的有效路径。例如,如果河流挡路,弓箭手就无法找到通往目标的路径。但他仍然可以射过河流。这意味着他可以找到一个有效的位置。