少しだけオブジェクトを傾けて移動できるように、スクリプトを作成してみましょう。
キー操作で、オブジェクトが進みます。
進行方向へ20°だけ傾いた状態で動き、キーを離せば正常の角度に戻ります。
関連記事:
向きを変えて移動する十字キー操作
簡単に十字キー操作できるスクリプト(transform.position)
簡単に十字キー操作できるスクリプト(transform.Translate)
簡単に十字キー操作できるスクリプト(transform.Rotate)
進行方向へ回転するプレーヤー操作1
進行方向へ回転するプレーヤー操作2
引力で移動しづらくする
キー操作で上下左右、前後の移動
動く方向に傾ける
Cubeオブジェクトを作成します。
CubeMove.csを作成して、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { void Update() { float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * 5.0f; float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 5.0f; transform.position = new Vector3 ( transform.position.x + moveX, 0, transform.position.z + moveZ); if (Input.GetKey(KeyCode.RightArrow)) { transform.rotation = Quaternion.Euler(0,0,-20); } else if (Input.GetKey(KeyCode.LeftArrow)) { transform.rotation = Quaternion.Euler(0,0,20); } else if (Input.GetKey(KeyCode.UpArrow)) { transform.rotation = Quaternion.Euler(20,0,0); } else if (Input.GetKey(KeyCode.DownArrow)) { transform.rotation = Quaternion.Euler(-20,0,0); } else { transform.rotation = Quaternion.Euler(0,0,0); } } } |
ゲームプレイして動きを確認しましょう。
十字キーで、前後左右に動かします。
キーを押したタイミングで進行方向へ傾き、キーを離せば元の状態に戻ります。
関連記事:
向きを変えて移動する十字キー操作
簡単に十字キー操作できるスクリプト(transform.position)
簡単に十字キー操作できるスクリプト(transform.Translate)
簡単に十字キー操作できるスクリプト(transform.Rotate)
進行方向へ回転するプレーヤー操作1
進行方向へ回転するプレーヤー操作2
引力で移動しづらくする
キー操作で上下左右、前後の移動