灵敏度随着帧率的降低而增加。 例如,以 200 fps 的速度我可以转 1 圈,以 60 fps 的速度将近 5 圈。
我从更新调用这个方法。 PlayerCamera 是连接到播放器的相机。
private void HandlePlayerLook()
{
transform.Rotate(0, Input.GetAxis("Mouse X") * lookSensitivity
* Time.deltaTime, 0);
playerCamera.transform.Rotate(-Input.GetAxis("Mouse Y") * lookSensitivity
* Time.deltaTime, 0, 0);
}
我尝试用常量替换 Input.GetAxis,这使得播放器始终旋转。
为什么会发生这种情况以及如何解决它?
哦,问题在于将它与 Time.deltaTime 相乘。看起来 Input.GetAxis 已经独立于帧率。
我可以通过将输入保存在向量 2 中然后对其进行归一化来解决这个问题。