一种在没有光线投射的情况下在 3D 中使用寻路和多目标的方法



我目前正在用 c++ 在 DirectX 引擎中制作游戏。我正在使用寻路来引导一支士兵军队到一个特定的位置。问题是我使用光线投射来查看我的路径上是否没有任何东西,这会减慢游戏的速度。有没有更好的寻路方法?

我的军队的移动也有问题。现在我使用士兵位置的平均数作为起点,这意味着所有士兵都需要先去那里,然后再移动到终点。有没有办法让他们在不去起点的情况下到达终点?

感谢您的帮助。

你试过像A-Star这样的东西吗? 通过节点或地图的某种二维数组表示进行导航? 写得好,它可能更快,也更容易用作业(多线程)。

如果你有一个士兵,他在 A 位置,需要到达 B。只需计算从 C(平均位置)到 B 的路径,即可获得从 A 到 B 的方向并进行某种插值。(没有这样做,也没有尝试过,但它可能会很好地工作!

在光线投射时,您是否对每个对象进行了命中测试?

当你有很多物体和士兵时,这可能会非常昂贵。一种常见的解决方案是将你的世界划分为方形网格单元,并将每个对象放在该网格的对象列表中。

然后,你画一条从士兵到目的地的假想线,并检查每个单元格你需要测试的对象。这样,您将仅评估靠近直线路径的对象,而忽略所有其他对象。

相关内容

  • 没有找到相关文章

最新更新