找出角度差

时间:2019-02-22 08:50:24

标签: c# unity3d

相机围绕一个点旋转,我可以相对于相机上下移动它。 我试图找出角度差以限制用户上下移动相机的输入。 我不在乎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);

0 个答案:

没有答案