遊テックプログラミング教室

プログラミングノートNOTE

Unityでバーチャルパッドを作る

概要

バーチャルパッドとは、スマホやタブレットで、画面上に仮想のコントローラーを表示し、プレイヤーを操作できるようにしたものです。

PCの上下左右キーや、WASDキーに代わるものです。iPhoneやAndroid用にビルドする時に必要になったりしますね。

ここでは、「Joystick Pack」というアセットを利用します。とても簡単に実装出来て便利です。

バーチャルパッドでCubeを動かす手順

ここでは、サンプルとしてバーチャルパッドを実装して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(内側)のイメージをそれぞれ変更してみましょう。