どうも!洋梨🍐です。
「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);
}
}
そして、実行の様子がこちら
最後に
お疲れ様でした!
今回はコントローラーを複数使う方法を紹介しました。
これで一台のパソコンで対戦するようなゲームも作れて楽しそうですね!
読んでくれてありがとう!またお会いしましょう👼
ホームページでは他にも
・様々な記事や作った作品および過程
・ソースコード、素材ファイル
・あらゆる”モノ”の作り方
などなど随時、記事や作品を新規公開・更新していますので是非見ていってくださいね!見ていただけると本当に嬉しいです!