単に猫を表示するだけではおもしろくないので、スワイプ操作で動かしてみたいと思います
スポンサードリンク
まずは対象プラットフォームをスマホにするため、Unity メニュー [File]-[Build Settings] を開いて iOS を選択したのち、「Switch Platform」ボタンで切り替え処理を走らせます
プラットフォームの切り替えが終わったら Project ビューの右クリックから [Import Package]-[CrossPlatformInput] を選び入力制御ライブラリを追加します
追加したら Hierarchy ビューに Event System と MobileSingleStickControl を追加します
MobileSingleStickControl の中の JumpButton はいらないので削除して、ついでに地面代わりの 3D Object メニューにある Plate オブジェクトを Hierarchy に追加し、名前を Ground にします
さらに Cat オブジェクトを選択して Add Component ボタンから [Physics]-[Character Controller] を追加します・・・これで Cat が重力や衝突の影響を受けたり、移動させやすくなったりします
猫モデルの小ささに合わせて Character Controller の数値は調整
ここまで来たら MobileSingleStickControl に Add Component ボタンから [New Script] で InputController というクラスを追加します
コードの中身は下記のとおり
using UnityEngine; using UnityStandardAssets.CrossPlatformInput; using System.Collections; /// <summary> /// 入力制御クラス /// </summary> public class InputController : MonoBehaviour { /// <summary> /// 制御対象のキャラクターコントローラー /// </summary> public CharacterController PlayerController; /// <summary> /// メインカメラ /// </summary> public Camera MainCamera; /// <summary> /// Use this for initialization /// </summary> public void Start() { this.MainCamera = Camera.main; } /// <summary> /// Update is called once per frame /// </summary> public void Update() { if (this.PlayerController == null) { return; } // 移動方向を決める var dx = CrossPlatformInputManager.GetAxis("Horizontal"); var dz = CrossPlatformInputManager.GetAxis("Vertical"); if (Mathf.Abs(dx) + Mathf.Abs(dz) <= 0) { return; } this.PlayerController.transform.rotation = Quaternion.Euler(0, - Mathf.Atan2(dz, dx) * Mathf.Rad2Deg - this.MainCamera.transform.rotation.eulerAngles.y, 0); // 単純移動 this.PlayerController.SimpleMove(this.PlayerController.transform.forward * new Vector3(dx, 0, dz).magnitude * 0.5f); } }
CrossPlatformInputManager.GetAxis() メソッドで Horizontal や Vertical を指定して 各 XY 軸の入力方向を取得し、CharacterController を利用して向きと位置移動をさせてます
CrossPlatformInputManager は UnityStandardAssets.CrossPlatformInput の名前空間にあるので using の追加が必要です
Unity Editor に戻ると MobileSingleStickControl の InputController に CharacterController プロパティが増えているのでここに Cat オブジェクトをドラッグドロップします
最後に Add Component ボタンから [Layout]-[Canvas Scaler] を追加して複数解像度対応させたら試しに動かしてみます
ジョイスティックのドラッグ方向に応じて猫が動きました!