不一致的鼠标外观灵敏度(Unity)

问题描述 投票:0回答:2

灵敏度随着帧率的降低而增加。 例如,以 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,这使得播放器始终旋转。

为什么会发生这种情况以及如何解决它?

c# unity3d
2个回答
0
投票

哦,问题在于将它与 Time.deltaTime 相乘。看起来 Input.GetAxis 已经独立于帧率。


0
投票

我可以通过将输入保存在向量 2 中然后对其进行归一化来解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.