バーチャルパッドとは、スマホやタブレットで、画面上に仮想のコントローラーを表示し、プレイヤーを操作できるようにしたものです。
PCの上下左右キーや、WASDキーに代わるものです。iPhoneやAndroid用にビルドする時に必要になったりしますね。
ここでは、「Joystick Pack」というアセットを利用します。とても簡単に実装出来て便利です。
ここでは、サンプルとしてバーチャルパッドを実装してCubeを動かすまでの手順を紹介します。
「VirtualPadTest」など適当な3Dプロジェクトを作って、Cubeを追加してください。
そして、Asset Storeから「Joystick Pack」をダウンロードしてそのプロジェクトにインポートしてください。
UI->Canvasを追加してください。
Canvasの下にAssets->Joystick Pack -> Prefabs ->Variable Joystickを追加してください。
PlayerControllerというC#スクリプトを作って、Cubeにアタッチしてください。
下記のコードを書いてください。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
[SerializeField] VariableJoystick vj;
float speed = 10f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
float x = vj.Horizontal;//X軸方向の入力
float z = vj.Vertical;//Z軸方向の入力
transform.Translate(x * Time.deltaTime * speed, 0, z * Time.deltaTime * speed);//移動
}
}
CubeのインスペクターのPlayerController -> vj にCanvas下のVariable Joystickをドラッグ&ドロップ
以上で動くと思います。
バーチャルパッドのデザインを変更することが出来ます。あらかじめ画像が用意されています。
BackgroundとHandle(内側)のイメージをそれぞれ変更してみましょう。