前提・実現したいこと
Unityでios向けにアプリを開発をしています。
球体の3Dオブジェクトをドラッグで任意の方向に回転させたい。
例
・画面左から右にドラッグしたら、カメラから見て球体が右方向へ回転
・画面右下から左上にドラッグしたら、カメラから見て球体が斜め左上に回転
発生している問題
現状のスクリプトでは
X方向にドラッグした場合はy軸・y方向に動かした場合X軸を指定して回転させているので、
カメラから見て垂直方向にY軸、水平方向にX軸がある場合のみしか意図した動きにならない。
動的に球体の角度を把握して、
都度回転する方向を変化させないといけないと思うのですが、やり方がわからない。
該当のソースコード
C#
1[SerializeField] 2Vector2 RotationSpeed; 3 4//deltaはドラッグの方向を取得しています。 5void OnRotate(Vector2 delta) 6{ 7 Vector2 currentAngles = transform.transform.localEulerAngles; 8 currentAngles.x += delta.y * RotationSpeed.x; 9 currentAngles.y -= delta.x * RotationSpeed.y; 10 transform.transform.localEulerAngles = currentAngles; 11} 12
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/17 23:30