如何在寻路情况下处理不同大小的物体(A*、A-star)

发布于 2024-07-19 04:26:05 字数 277 浏览 6 评论 0原文

我正在开发一款使用 A 星 (A*) 进行路径查找的游戏,但我已经遇到了一些比单个网格方块更大的对象。

我在 16*16px 的网格上运行。 墙段为 16*16,因此单个正方形无法通过。 我的一些坏人的尺寸是 32*32,因此他们需要检查间隙是否至少有 2 个方格宽才能通过。

我不能简单地将网格设置为 32*32,因为设计需要薄壁(16 像素),并且有几个较小的坏人只占用一个 16*16 的正方形。

如何实现这个多分辨率环境? A-star 仍然是正确的工具吗?

I'm working on a game that uses A-star (A*) for path finding but I've come to a point where by I have some objects that are larger than a single grid square.

I'm running on a grid of 16*16px. wall segments are 16*16 and so make a single square impassable. Some of my baddies are 32*32 and so they need to check that a gap is at least 2 grid square wide in order to be able to pass throguh it.

I can't simply make the grid 32*32 as the design requires thin walls (at 16px) and there are a couple of smaller baddies that only take up a single 16*16 square.

How do I implement this mutli-resolution environment?
Is A-star still the correct tool to use?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

獨角戲 2024-07-26 04:26:05

对于相对简单的解决方案,我会坚持使用与 16x16 大小的对象相同的 A* 算法,但使用稍微不同的方式来评估正方形是否适合步行。

  • 如果该正方形可行走,则 16x16 大小的物体可以在该正方形上行走。
  • 如果一个正方形及其邻居都是可步行的,则 32x32 大小的物体可以在该正方形上行走。

For a relatively simple solution, I would stick to the same A* algorithm as for 16x16 sized objects but with a slightly different way to evaluate if a square is walkable or not.

  • A 16x16 sized object can walk on a square if that square is walkable.
  • A 32x32 sized object can walk on a square if that square and its' neighbors are all walkable.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文