在统一中,如何在缓慢的帧速率中保持平稳运动?
当目标帧速率大于30时,就可以了。动作很好,游戏是可以玩的。但是,当事情发生在10-20目标框架速率时,就无法得到我想要的。结果是矮胖且无法播放的。因此,我的问题是这个问题。
Unity的自我LERP功能现在无法正常工作。 好吧,它有效,但结果不是我想要的。事情仍然很卑鄙。
我在我的代码中将“ target framerate”值分配给“ application.targetFramerate” ”
我试图为此使用Kalman Filter。结果好一些,但没有更接近我的期望。 过滤值:
float filteredX = kalmanFilterFloat.Update(p.value.x);
float filteredY = kalmanFilterFloat.Update(p.value.y);
float filteredZ = kalmanFilterFloat.Update(p.value.z);
此处即时模拟污点LERP:
private void SimulateFilteredLerp(InterpolatedProperty<Vector3> p, Vector3 filteredVec)
{
p.prevValue = p.value = Vector3.Lerp(p.value + new Vector3(filteredVec.x,
filteredVec.y, filteredVec.z) * masterClock.delta, p.target, masterClock.delta * settings.interpolationSnapping);
}
应用过滤的向量:
Vector3 filteredVec = new Vector3((float)filteredX, (float)filteredY, (float)filteredZ);
更新中的调用函数
SimulateFilteredLerp(p, filteredVec);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论