我一直在读这篇文章:http://gafferongames.com/game-physics/fix-your-timestep/,因为我要在我的游戏引擎中实现物理/力量。 我的发动机已经实现了连续碰撞检测,以避免错过快速移动的弹丸碰撞。
我有两个选择:
我可以使用半固定时间步(参见Glenn Fiedler的文章)和物理/力量吗?我想知道,因为该技术基于可变增量时间和固定增量时间,即
while(frameTime > 0.0)
{
deltaTime = min(frameTime, 1.0 / 60.0);
//Physics + Collision here...
frameTime -= deltaTime;
}
固定时间步长似乎是稳定物理学的最佳选择,但插值步骤(对于更平滑的视觉效果,避免时间混叠/抖动运动)会破坏与碰撞检测相关的所有内容。插值步骤将为视觉效果引入一些延迟(最多一次更新刻度),这将导致幕后实际碰撞检测与您在屏幕上看到的内容之间不同步。
如何使用固定时间步同步插值物理状态以获得更平滑的视觉效果和碰撞检测?
是否可以将半固定时间步长用于物理/力量?这种技术有多稳定/不稳定?