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

tvz2xvvm  于 2023-03-19  发布在  其他
关注(0)|答案(2)|浏览(200)

灵敏度随着帧率的降低而增加。例如,200 fps我可以做1圈,60 fps几乎可以做5圈。
我从update调用这个方法。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,这使得播放器旋转一致。
为什么会发生这种情况,如何解决?

yqhsw0fo

yqhsw0fo1#

哦,问题是用Time.deltaTime进行乘法运算。看起来Input.GetAxis已经独立于帧率了。

tzcvj98z

tzcvj98z2#

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

相关问题