2015-12-17 9 views
6

基本的にオブジェクトが回転しています。クリック&ドラッグのタイプですが、オブジェクトが-z -xコーナーまたは左下コーナーの方に向いている場合は、再びクリックすると反対方向に180度反転する可能性があります。これは非常に面倒ですし、私もこれはで行わ並ぶものを知っている。ここでクリックコードです:オブジェクトが-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"エンディングで遊んでみましたが、私はそれを理解できません。 ".x"を ".z"で切り替えると、右下隅に問題が発生します。私が ".y"を混乱させると、私は自分が望むものから遠ざかるだけです。

画像:Z軸が垂直方向に上がっていると、X軸が右に水平に起こっているところで

。どんな助けもありがたい。

答えて

1

問題は、.x、.y、.zの組み合わせが見つからなかったようです。私が "transform.up.x"を "transform.up.y"に置き換えようとしたとき、私はその問題を止めました。

関連する問題