灵敏度随着帧率的降低而增加。例如,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,这使得播放器旋转一致。
为什么会发生这种情况,如何解决?
2条答案
按热度按时间yqhsw0fo1#
哦,问题是用Time.deltaTime进行乘法运算。看起来Input.GetAxis已经独立于帧率了。
tzcvj98z2#
我可以通过将输入保存在向量2中,然后将其归一化来解决这个问题。