Unityで複数コントローラーを使う方法 / マルチコントローラーの使い方

どうも!洋梨🍐です。

「Unityでコントローラーを使ったことはあるけれど、複数のコントローラーを使う方法はわからない!

一台のパソコンで複数コントローラーを使って対戦ゲームを作りたい!」

という話を聞きました。意外と知られていない複数コントローラーを使う方法。

なので今回はDual Sock 4,ゲームパッドをどちらも使い、Unity上で動かしたいと思います。

Unityでコントローラーを使う方法

まず、「Unityでコントローラー使ったことが無いぴえん🥺」という方は、

以前書いたこちらの記事ご覧ください。おそらく世界一わかりやすいと思います😊(適当)

複数コントローラーを使う方法

まずコントローラーを複数用意します。

今回私はPS4のコントローラーと面白そうなコントローラーを入手したのでこれを使って試したいと思います。


BUFFALO USBゲームパッド 8ボタン スーパーファミコン風 グレー [並行輸入品]

↑こんなコントローラー。かわいい☻

.

ではUnityです。

まず皆さんお馴染み「Input Profiles」を開きます。

そしたら「Size」で数を増やして入力し、配列(入力数)を増やします。

増やしたら、ボタンを割り振っていきます。

ここで肝なのが「Alt Positive Button」、「Name」の所です。

「Name」は使用するときの名前になり、「Alt Positive Button」は

controller {対象コントローラ番号} button {対象コントローラー割当ボタン}

となるように書きます。例えば2台目のコントローラーのボタン1を指定したい場合、「joystick 2 button 1」とかきます。

このように割り当てて行き、あとは使うだけです。

スクリプトでボタンを受け取る

ここは以前紹介した方法と同じです。

Input.GetButton( “{名前}” )

と書き、押されているかを判定するだけです。

サンプル

public class main : MonoBehaviour
{

    public Rigidbody objA, objB;

    // Update is called once per frame
    void Update()
    {
        if (Input.GetButton("A1")) objA.AddForce(Vector3.up * 30) ;
        if (Input.GetButton("B1")) objB.AddForce(Vector3.up * 30);
    }
}

そして、実行の様子がこちら

※がしつがわるくて手がきたなく見えるけどじつぶつはきれいだよ☻

最後に

お疲れ様でした!

今回はコントローラーを複数使う方法を紹介しました。

これで一台のパソコンで対戦するようなゲームも作れて楽しそうですね!

読んでくれてありがとう!またお会いしましょう👼


ホームページでは他にも

・様々な記事や作った作品および過程
・ソースコード、素材ファイル
・あらゆる”モノ”の作り方

などなど随時、記事や作品を新規公開・更新していますので是非見ていってくださいね!見ていただけると本当に嬉しいです!