Algorithm 在两个单元之间查找网格空间的算法
我正在制作一个基于网格的游戏,它有“视线”瞄准。通常情况下,游戏引擎会使用Raycast来实现这一点,但我不想使用引擎,所以我尝试“推出我自己的”解决方案 基本上,给定P1,P2对,我想找到它们之间的所有空格(标记为Algorithm 在两个单元之间查找网格空间的算法,algorithm,path-finding,raycasting,Algorithm,Path Finding,Raycasting,我正在制作一个基于网格的游戏,它有“视线”瞄准。通常情况下,游戏引擎会使用Raycast来实现这一点,但我不想使用引擎,所以我尝试“推出我自己的”解决方案 基本上,给定P1,P2对,我想找到它们之间的所有空格(标记为X) 我很难弄明白怎么做。不知何故,我必须找出哪一边距离最近,并将它们作为“光线投射”的起点。然后我想我可以以单元格大小为增量提取“样本”,并将其和单元格的索引进行比较 不幸的是,我还没有任何代码。。。我希望有人能用一些伪代码来帮助我得到算法。我想如果我能找出每一条粉色线的起点和终点
X
)
我很难弄明白怎么做。不知何故,我必须找出哪一边距离最近,并将它们作为“光线投射”的起点。然后我想我可以以单元格大小为增量提取“样本”,并将其和单元格的索引进行比较
不幸的是,我还没有任何代码。。。我希望有人能用一些伪代码来帮助我得到算法。我想如果我能找出每一条粉色线的起点和终点,那么我就可以用它来找到橙色的正方形
你的视线需要这么粗吗?为什么不从P1的中心追踪一条光线到P2的中心呢?@Stef是的,我想了一下,但是如果它们完全对角,那么什么都不能等,我想那不是真的……谢谢Shridhar,这应该是足够的信息,让我去。我想让线更厚的原因是因为整个“对角线可以透过墙看”的元素。但我认为这可以通过增加墙壁的厚度来解决(如果需要容纳,增加网格大小)。所以Bresenham算法应该可以完成这项工作。@maxpleaner我很高兴你现在被解锁了。