###前提・実現したいこと
お世話になっております。
現在unityで球体を転がすゲームを作成しているのですが、
イメージ通りに実装できなくて悩んでおります。
球体は「塊魂」のように素早く動き、自然な回転をするように転がしたいです。
粗末なコードで申しわけありませんが、ご教示のほどよろしくお願いします。
###問題点
画面奥に向かって回転し(Z軸回転)、画面ドラッグで横に移動させて球体を回転すると(X軸回転)、
画面をドラッグしていないときに球体のZ軸が傾いて、見た目がおかしい回転になってしまいます。
###該当のソースコード
C#
1 private float ballSpeedX = 0f; 2 private float ballRotateSpeedZ = 0f; 3 private float ballRotateSpeedX = 2.5f; 4 5 private void Update() 6 { 7 BallMoveRotation(); 8 } 9 10 // ボールの移動・回転. 11 private void BallMoveRotation() 12 { 13 if (Input.GetMouseButton(0)) 14 { 15 // 画面左側をドラッグ. 16 if (Input.mousePosition.x <= 159) 17 { 18 ballSpeedX = -4.0f; 19 ballRotateSpeedZ = 4.0f; 20 } 21 // 画面右側をドラッグ. 22 else 23 { 24 ballSpeedX = 4.0f; 25 ballRotateSpeedZ = -4.0f; 26 } 27 } 28 else 29 { 30 ballSpeedX = 0f; 31 ballRotateSpeedZ = 0f; 32 } 33 34 // 移動. 35 this.transform.position += new Vector3(ballSpeedX * Time.deltaTime, 0f, 0f); 36 // 回転. 37 this.transform.Rotate(new Vector3(ballRotateSpeedX, 0f, ballRotateSpeedZ)); 38 }
###ゲームの補足情報
ゲームは縦スクロールで進行させます。カメラは俯瞰です。
画面背景を(地面)を移動させてボールが移動し続けるようにさせようとしています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。