如何避免用射弹击中盟友
How to avoid hitting allies with projectiles
我正在创建一个游戏并且遇到了一个我很难找到解决方案的问题。我试过搜索,但我得到的只是关于射弹轨迹的各种数学方程式,这不是我要找的。
我正在寻找解释或链接或更好的搜索词,我可以用来查找有关如何实施非瞬态射弹的信息,这些射弹的行进路径不会击中沿途的盟军单位。
示例问题:
0. 游戏是3D的。
1. 实体A已经瞄准,并根据目标速度和子弹速度等因素确认其目标实体B可以被击中。
2. 实体 A 发射一枚弹丸,假设需要 1.5 秒才能命中。
3. 随机实体 C 进入并直接穿过射弹路径,在 0.8 秒时被击中。
如何避免这种情况?
计算所有可能的实体和射弹轨迹并说明一切?如果有很多实体在四处移动怎么办?
处理这个问题的常见做法是什么?
如果您的可击中实体具有全局最大速度(即忽略其他弹丸之类的东西,所有单位或抛出的物体可能会限制为 Xm/s),那么您可以使用它沿着飞行路径(末端有一个半球)生成 "cone" 来识别您需要检查的实体。这有望减少实体每次瞄准时的检查次数。
不要忘记考虑超调 - 被抛出的实体可能靠近飞行路径,但如果无法应用加速度,它可能会在抛射物前面快速过去而不会被击中。您正在寻找 'potential' 运动的上限和下限。
我正在创建一个游戏并且遇到了一个我很难找到解决方案的问题。我试过搜索,但我得到的只是关于射弹轨迹的各种数学方程式,这不是我要找的。
我正在寻找解释或链接或更好的搜索词,我可以用来查找有关如何实施非瞬态射弹的信息,这些射弹的行进路径不会击中沿途的盟军单位。
示例问题:
0. 游戏是3D的。
1. 实体A已经瞄准,并根据目标速度和子弹速度等因素确认其目标实体B可以被击中。
2. 实体 A 发射一枚弹丸,假设需要 1.5 秒才能命中。
3. 随机实体 C 进入并直接穿过射弹路径,在 0.8 秒时被击中。
如何避免这种情况?
计算所有可能的实体和射弹轨迹并说明一切?如果有很多实体在四处移动怎么办?
处理这个问题的常见做法是什么?
如果您的可击中实体具有全局最大速度(即忽略其他弹丸之类的东西,所有单位或抛出的物体可能会限制为 Xm/s),那么您可以使用它沿着飞行路径(末端有一个半球)生成 "cone" 来识别您需要检查的实体。这有望减少实体每次瞄准时的检查次数。
不要忘记考虑超调 - 被抛出的实体可能靠近飞行路径,但如果无法应用加速度,它可能会在抛射物前面快速过去而不会被击中。您正在寻找 'potential' 运动的上限和下限。