我已经使用骨骼动画实现了加载 MD5 模型,并且效果很好。现在我正在尝试增强游戏循环以流畅地播放所有内容并正确计时。我读到了不同的游戏循环,然后实现了我读到的最好的一个,它具有以下场景:
accumulatedTime += timer.elapsed();
nLoops = 0;
processInputs();
while (accumulatedTime >= dt && nLoops < maxSkipFrames)
{
updateGame(dt/20.0);
accumulatedTime -= dt;
nLoops++;
}
timer.reset();
我实现了 CPU 骨骼动画,因此每帧更新所有顶点和法线。该updateGame(dt)
方法根据骨架动画更新网格顶点,它应该花费一些时间并将其添加到更新顶点的动画时间。我的游戏循环实现中有一些问题,导致不同设备上的更新率不同。我在 Android 上使用 OpenGL 和 C++。