相机围绕一个点旋转,我可以相对于相机上下移动它。 我试图找出角度差以限制用户上下移动相机的输入。 我不在乎Z轴,因此我将其从期望旋转中移除。
问题在于,当它只旋转而不能上下移动时,angleDifference会改变。
camTransform.RotateAround(target.position, transform.forward, 5);
Quaternion desiredRotation = Quaternion.Euler(camTransform.eulerAngles.x + (-rotation.y), camTransform.eulerAngles.y, 0);
float angleDifference = Quaternion.Angle(desiredRotation, Quaternion.identity);
// I haven't set up any check to see if angleDifference is valid yet
camTransform.Rotate(-rotation.y, 0, 0, Space.Self);