随意的想法(无代码)...
在现实生活中,人们试图通过弄清楚运动是什么来预测运动,从而将目标对准具有复杂运动的车辆。如果要编写用于目标AI的AI代码,则应创建一个从目标AI派生的目标AI。例如,如果您的目标在附近将要掩护,则目标AI应当能够预见到这一变化。
另一方面,如果您尝试以AI为目标人群,则难度会更大。随机定位可能会起作用,但看起来可能只是“随机”,这可能对您的游戏来说不是问题。
要提出解决方案,您可以做的一件事是在心理上将问题分解为尝试射击的不同部分...
追踪能力
为了用可以移动的目标设备击中目标,一个人必须能够跟踪并移动该设备以跟随目标。瞄准者观察目标的移动,并移动其目标以跟随。如果跟踪器的移动量有限,则其跟踪能力将受到阻碍,并且可能很难跟踪某些事物。但是,如果跟踪器具有很大的跟踪自由度,则它可以潜在地跟踪很多东西。考虑一下坦克炮塔与您用手指指着东西之间的区别。
追踪速度
另一个因素是跟踪器可以跟踪的速度。如果速度很慢(想想“坦克炮塔”),那么它就无法追踪快速移动的目标。相反,它必须依赖于目标路径的预期。另一方面,具有“快速”速度的跟踪器可以快速移动到目标的新位置。
追踪反应时间
跟踪的第三个因素是跟踪的反应时间。也就是说,当目标改变方向时,跟踪器会反应多快?最终的跟踪器是具有快速跟踪速度和即时反应时间的跟踪器-它可以跟踪任何更改。
目标识别
定位器能如何识别目标?如果在复杂的环境中跟踪目标,则有时目标器无法识别或“丢失”目标。目标者识别目标的速度越快,它将做得越好。失去目标的可能性越小,它将做的越好。
射击反应时间
仅仅因为目标出现在十字准线上一小段时间并不意味着会发生射击。跟踪器能否足够快地做出反应以扣动扳机?反应时间很差的真正不好的跟踪器不会造成任何影响。真正具有良好反应时间的出色跟踪器可以击中任何东西,因为它们只需要一点点时间就可以达到目标。
预期运动
期望运动是另一个因素。这只是尝试跟踪到目标现在与跟踪您认为目标将在哪里之间的区别。如果跟踪者可以预期,他们可以更好地跟踪目标,并有更多机会将目标放到十字准线中,从而提高其根据反应时间发动射击的能力。零预期跟踪器将自动将目标移向目标,而与目标的行动无关。最糟糕的情况是跟踪器的速度很慢,没有预期会跟踪简单的移动目标。想象一下一个目标,它每隔几秒钟就会向左移动,然后向右移动。慢速跟踪器只会不断地来回跳动目标,而永远不会快到能达到目标的程度。
模拟目标运动
如上所述,跟踪器可以通过对目标的运动进行建模来预测目标,而这并不一定那么难。如果车辆以一定速度行驶,那么下一秒内可能存在有限数量的位置,并且它们在移动前的位置基本上像一个三角形。他们走得越快,三角形就越紧。他们转得越快,越宽。一辆几乎不能转弯(如火箭)的非常快的车辆,其潜在路径很小。可以很好转弯的慢速轮胎具有更大的潜在路径。就像某些汽车上的备用摄像头覆盖了线条一样,向您显示了如果您保持现在的状态,您的汽车将驶向何方,以及如果您进一步转动方向盘,则可能驶向何处。
因此,考虑到这一点,您应该将“潜在目标空间”框放在该潜在路径空间中。如果您知道目标物倾向于左右移动,则目标物盒需要足够宽以容纳所有可能的移动。如果目标的运动非常线性,则可以使目标框更小,并以预期的运动位置为中心。我认为这种想法将帮助您为跟踪提供一个单一的解决方案,该解决方案无法真正区分线性和非线性预期。线性跟踪只是具有较高置信度的预期(较小的目标框),而随机跟踪是较低置信度的跟踪(较大的跟踪框)。
当然,如果目标静止不动,这将具有挑战性,因为它有可能向任何方向移动。但是,当然,如果它坐得太久,即使是最慢的跟踪器,也很容易成为目标。
目标心理学
考虑一下如果突然有镜头落在您的左边该怎么办。你会冲他们吗?没有!你会跑到右边。也许您会寻求掩护。但是,也许目标器会专门在掩体位置射击,这样您就不必再为它奔跑了。
学习能力
潜在的目标者可以从经验中学习。首先,假设他们对车辆的潜在运动一无所知。他们不知道它能走多快,或者能走多快。观察它的实际情况会告诉他们这是什么。这意味着他们第一次尝试跟踪一个对象时,可能效果不佳。但是他们学习运动行为,并在以后的尝试中做得更好。
进一步阅读
在写完这篇文章后,进行了一些谷歌搜索,找到了本手册的步枪射击技巧。
http://www.globalsecurity.org/military/library/policy/army/fm/3-22-9/c07.htm
可能会有一些关于真实的人如何/应该/应该如何瞄准和追踪的想法。