从上一个位置插值到当前物理体位置时,Libgdx会出现间歇性抖动

从上一个位置插值到当前物理体位置时,Libgdx会出现间歇性抖动,libgdx,game-physics,jitter,Libgdx,Game Physics,Jitter,我最近将渲染时间步与物理时间步分离。物理以20hz的频率运行,每次渲染调用时,客户端都会将精灵位置从上一个位置插值到当前物理位置。我使用的是一种来自的技术。此代码位于render(delta)调用中 这是更新(物理步骤) 这是插值(alpha) 它在大多数情况下渲染都很平滑,但正如我说过的,每个人都会时不时地看到角色开始抖动。过了一会儿,它又变得光滑了。关于如何处理这个问题有什么想法吗 我一直在搞乱它,抖动是由插值在到达目标位置(当前物理位置)之前“减速”引起的。它在平稳运行时不会减速,只有在抖

我最近将渲染时间步与物理时间步分离。物理以20hz的频率运行,每次渲染调用时,客户端都会将精灵位置从上一个位置插值到当前物理位置。我使用的是一种来自的技术。此代码位于render(delta)调用中

这是更新(物理步骤)

这是插值(alpha)

它在大多数情况下渲染都很平滑,但正如我说过的,每个人都会时不时地看到角色开始抖动。过了一会儿,它又变得光滑了。关于如何处理这个问题有什么想法吗

我一直在搞乱它,抖动是由插值在到达目标位置(当前物理位置)之前“减速”引起的。它在平稳运行时不会减速,只有在抖动时才会减速

if (delta > 0.25f) delta = 0.25f;
accumulator += delta;

while (accumulator >= physicsStep) {
    update(physicsStep); 
    accumulator -= physicsStep;
}

interpolate(accumulator / physicsStep);
renderWorld();
prevPosition.set(position);
physPosition.add(velocity.cpy().scl(physicsStep));
bounds.setCenter(physPosition);
position.set(prevPosition).lerp(physPosition, alpha);