テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unityでゲームパットを複数挿してプレイしよう

「友人と一緒に遊ぶゲーム」はどんなゲームであっても大抵面白いです。例えばモンストのようなケースや、モンハンやスマブラMMORPGマリカーボンバーマンくにおくん等々。その場で騒ぎながら一緒にプレイするのは中毒性に似た何かがあります。

 

複数人でプレイするゲームはAIやルールを整えなくとも、振る舞いを作るだけである程度は面白さを感じる程度まで動作させる事が出来るので、非常に手軽に面白いゲームを作ることが可能です。

一緒に遊んでくれる友達(チームメイト)が居れば( ・`ω・´)b

 

・・・・・・・・・・・・・・・・・・・・・・・(  ;`ω;´)b

リア充爆発しろ爆発しろ爆発しろ爆発しろ

 

前回のユニティちゃんゲームジャムで作成したゲーム。Nuggetが無双する。

 

複数人プレイですが、概ね2通りの手法があります。

  • インターネットやアドホックといった手法で情報を共有する
  • 複数ゲームパットを挿して1画面で遊ぶ

  

今回は「複数パット挿してプレイする」方法を紹介します。

使い方

f:id:tsubaki_t1:20140807210510p:plain

Gamepad Input

 

正直Unityの複数コントローラー刺す機能はイケてないので、Gamepad Inputを使用します。

 

使い方は非常に簡単です。まずは事前準備。InputManagerを上書きするので、Fire1等を使っている場合はご注意下さい。

  1. パッケージ内にある「InputManager」を解凍します。
  2. ProjectSettingsフォルダ内のInputManager.assetを上書きします。

 

後は以下のような形で取得します。

 

ゲームパットの情報取得

var playerNo = GamePad.Index.One

var keyState = GamePad.GetState (playerNo, false);

 ゲームパットの入力情報の取得

if( keyState.A )

          Debug.Log("push A button");

 

これの他にも、OSSですがinControlもあります。こちらはXBOXやOUYA・バーチャルパット等の様々なコントローラーに対応しています。こっちはその内。

 

次はbaba_sさまでEditor Console Pro でゲーム開発効率化です。