在Update中设置位置和LateUpdate中设置相机旋转时,unity中的相机抖动



我知道这是一个经常被问到的问题,但是我还没有为我的具体场景找到一个解决方案:

我正在创建一个服务器权威游戏,服务器计算移动并以Vector3的形式发送给客户端。这个Vector3在接收时存储在一个变量中,在更新时,位置被设置为等于Vector3。

相机旋转是客户端授权的,旋转是基于鼠标增量计算的,并添加到当前旋转。Y轴旋转应用于整个身体(旋转),X轴旋转应用于相机(向上和向下看)。这些都在后期更新

中完成当移动和观看一个物体时,它似乎抖动得非常快。我发现的所有解决方案都不起作用,我认为这是因为它们的设计是为了修复相机抖动与刚体运动

在处理物理、旋转、位置和其他相关内容时,更建议使用FixedUpdate而不是Update

为什么会这样?

https://docs.unity3d.com/ScriptReference/MonoBehaviour.FixedUpdate.html

嗯,Fixed Update被称为固定帧率帧,在物理上更可靠。

如果有人有这个问题,我通过使用rb.MoveRotation而不是transform.rotation旋转字符来修复它,同时将其插值模式设置为interpolate

最新更新