我无法理解何时进行推断以及何时进行推断。在游戏中,他说要进行插值,但是在另一篇文章中,他建议对玩家进行插值。所以我的问题是,什么时候可以更好地推断,什么时候可以更好地推断?
我无法理解何时进行推断以及何时进行推断。在游戏中,他说要进行插值,但是在另一篇文章中,他建议对玩家进行插值。所以我的问题是,什么时候可以更好地推断,什么时候可以更好地推断?
Answers:
在知道 “之前”和“之后”值时进行插值。
例如:在点击游戏中,玩家当前位于X位置,并且从界面上单击点Y。您必须在X和Y之间插入位移,因为您知道这两个值。
当您根据已经知道的知识猜测未来的价值时,可以进行推断。
例如:在第一人称射击游戏中,玩家位于X位置,并且在最后一秒钟一直按下键盘上的UP箭头,您可以假设他将在下一秒钟再次进行此操作,因为这基本上是游戏中最常见的行为;因此,您可以推断他将成为下一帧的位置。服务器将其发送给其他游戏客户端,这说明了从服务器到玩家的传输延迟。
外推主要用于运动预测。游戏服务器不需要它,但是游戏客户需要它来显示游戏状态的某种现实和当前的视觉,以便为玩家提供流畅的视觉体验。
您进行插值以查找已知值之间的状态,然后进行插值以查找将来的状态。
从状态变量(例如位置和速度)的角度考虑问题。在所有情况中,最好的情况是,每台需要使用状态的计算机都可以在他们想要使用的时间内访问状态数据。例如,使用碰撞算法来查看X射线步枪是否会触及玩家A的头部,所有情况中最好的情况是,该算法知道在发射激光时每个物体的确切位置。
在现实世界中,我们并不总是那么幸运。有时,我们收到的真相信息很少。例如,如果播放器A是另一台计算机上的远程播放器,则当您发射激光并需要计算击球次数时,您可能并不确切知道他们要去哪里。在这种情况下,您需要为A的位置创建一个估算器,通常使用内插法或外推法。
两者之间的区别在于,您是在两侧还是仅在一侧限制数据。假设玩家A已经宣布了t = 0和t = 1的真实位置。玩家B在t = 0.5时发射激光。在许多情况下,玩家A可能会在玩家B扣动扳机之前宣布他们在t = 1的位置。为什么?在许多游戏中,控件的响应能力并非瞬间完美。在赛车模拟中,玩家的大部分位置都受到移动车辆物理特性的限制。您可能会选择宣布“未来职位”,因为您知道自己确实无法在短时间内充分掌控一切。如果将来有信息,则可以在两个值之间进行插值。
如果您没有足够的幸运值达到1怎么办?如果玩家A不能宣布他们的未来位置,而您只想决定是否从t = 0的信息中击中或错过,该怎么办?在这种情况下,您必须进行推断。在推论中,您将利用对运动的了解来扩展所拥有的任何数据。您可能知道玩家A具有一定的速度,因此假设您将其乘以时间,就可以每次获得一个位置。
区别在于行为。插值要求您有一个上限和一个下限,而并非总是如此。但是,在几乎所有情况下,其结果都比外推要好得多。外推很容易导致不切实际的运动。考虑一个为避免前进时被枪击而向左和向右回避的玩家的情况。在任何给定的点上,它们的速度都沿着对角线,因此,如果您进行推断,则实际上玩家可能从不向一侧跑去。如果仅进行插值,则这些值往往不会偏离实际值。
内插和外推是过滤领域的两个极端。有很多很多很多很多过滤器用于处理这样的数据,这些数据在插值和外推之间混合并匹配属性。因此,如果您看到的算法没有明显的内插或外推,请不要感到惊讶。那两个只是冰山一角。
插值使用已知数据来计算数据集范围内的数据(即“内部”前缀)。外推法计算的是现有数据范围之外的数据(额外为“外部”前缀)。两者都用于合成其他数据,精确的计算方法定义了所生成数据的预期可靠性。
或放入一个非常简单的图表中:
A - - - - - B - - - - - C - - - - - D
给定数据点A
,C
您就可以进行内插B
和外推D
。
内插或外推的精度完全取决于您在计算中对每个变量的解释能力。如果您知道所有变量,并且有一个方程式说明了所有变量,则可以轻松进行内插或外推。
对于游戏机制而言,限制因素将是变量受玩家或某些随机或伪随机元素以不可预测的方式影响的点。
例如,可以将“突破”中球的运动(以最简单的形式)一直推算到可能与玩家的球拍交互的点。到那时为止,所有变量都可以被考虑,因此您可以精确地模拟球的动作。当达到可能与玩家互动的地步时,就会有许多可能的结果,并且没有办法准确模拟其中的哪种情况,直到实际发生为止。这是游戏物理模型的预测极限。
插值在游戏中更简单,因为您正在处理已知点,而不必怀疑条件是否会改变。此外,您可以完全控制所涉及的变量,并且可以使用定义的任何规则来确定对象的路径。规则越复杂,插值就越困难。
对于在无重力的游戏空间(例如Breakout或Pong)中具有简单碰撞的对象运动,沿路径上的直线进行插值的机制是对点进行简单的线性插值,并且可以使用相同的计算方法将线外推到测试未来的碰撞。一旦检测到碰撞,您就可以推断该碰撞对所涉及对象的影响。