在不同的物理模拟中选择固定和可变的时间步长

时间:2016-09-21 15:25:01

标签: game-physics timedelta

我知道固定时间步骤中的物理模拟可能对CPU要求很高。 我应该以这种方式优先考虑物理(为了获得最佳性能):

可变时间步骤:

  • 基于物理的仅视觉粒子效果(例如,速度verlet与恒定加速度的积分)
  • 基于物理的其他视觉材料,但不与场景互动。
  • 基于这个简单等式的对象:p_new(dt)= p_old + v * dt,其中v是常数。
  • 基于此等式的对象:p(dt)= p_0 + v_0 * dt + 1/2 * a * dt ^ 2, 其中 v_o a 是常量。

固定时间步,物理+碰撞检测。

  • 布娃娃
  • 基于物理的玩家移动。
  • 根据物理学射击射弹。

这可以吗?碰撞检测应该使用固定的时间步长吗?

1 个答案:

答案 0 :(得分:0)

  

这可以吗?碰撞检测应该使用固定的时间步长吗?

这取决于你的项目。如果您描述的“视觉材料”在物理上表现出来(即受到物理力,相互作用或碰撞的影响),那么如果将它们设置为与物理引擎不同的时间步长,您可能会遇到问题

但是,因为它们是“视觉效果”,因此我认为它们对游戏玩法并不重要,那么问题可能并非明显或者可能足够罕见足以让你的游戏逃脱。

换句话说,你当然可以尝试 ......但是,“它是否正常”(你将会遇到或不会遇到问题)取决于项目。

PS:如果你想进行优化,有些东西会产生更大的影响(假设你还没有对它们进行优化)。

对游戏性能产生巨大影响的特定事物的一个主要示例(如果不是 主要示例)是减少draw calls。但是解释它或其他优化,这是不合适的,因为那不是问题,而且还有很多其他Q& As在SO,以及GameDev已经讨论并回答了这些优化的原因,为什么他们有这样的影响,以及如何应用它们。