基本上我有一个旋转的物体.它是一种单击和拖动类型的旋转,但是当对象面向-z -x角或左下角时,再次单击时,它有可能以相反的方式完全翻转180度.这非常麻烦,我甚至知道这发生了什么.这是点击代码:
void OnMouseDown() { Vector3 pos = Camera.main.WorldToScreenPoint(transform.position); pos = Input.mousePosition - pos; baseAngle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg; baseAngle -= Mathf.Atan2(transform.right.y, transform.up.x) * Mathf.Rad2Deg; startRotation = transform.rotation; }
baseAngle - = Mathf.Atan2(transform.right.y,transform.up.x)*Mathf.Rad2Deg;
^^^这条线让我头疼.我尝试使用".x"和".z"结尾,但我无法理解.当我用".z"切换".x"时,问题就出现在右下角.如果我甚至搞砸了".y",我只能远离我想要的东西.
图片:
顺便说一句,Z轴垂直向上,X轴水平向右.任何帮助赞赏.