LoginSignup
4
3

More than 1 year has passed since last update.

UnityのRewired導入とその使い方

Last updated at Posted at 2021-12-22

本記事はUnityでキーボード、マウス、ゲームパッドなどの入力を全て管理してくれるRewiredというアセットの導入とその使い方についてご紹介します。
5000円ほどかかりますが、十分その価値がありました!
https://assetstore.unity.com/packages/tools/utilities/rewired-21676
#Rewiredの導入
Unityのプロジェクトを作成したら、Window -> Asset Store -> Search onlineでアセットストアを開きます。
COCOdayo - SampleScene - PC, Mac & Linux Standalone - Unity 2020.3.11f1 Personal DX11 2021_12_17 20_32_40.png
検索欄にRewiredと入力すると見つかるので、そちらを購入しましょう。
Rewired _ Utilities Tools _ Unity Asset Store - Google Chrome 2021_12_17 21_02_51.png
次にUnityに戻ってWindow -> Package Managerでパッケージマネージャを開きます。
COCOdayo - SampleScene - PC, Mac & Linux Standalone - Unity 2020.3.11f1 Personal DX11 2021_12_20 12_14_39.png
その中からRewiredを選択してDownloadボタンを押します。
ダウンロードが完了したらImportボタンを押してパッケージをインポートします。
Importボタンを押すと以下のようなポップアップメッセージが次々表示されるので、Proceed、Add Settings、Installを押していきます。
    153da2a1a4d5e84b880939cbbdce1947.png
 c9c069e633dbaa5a80bd06b63ceb178f.png
    bc1b08d1d9bfad86eea6a8cc10a96d43.png
続いてこのようなポップアップメッセージが表示されます。こちらはインストール前にパッケージマネージャからText Mesh Proをインストールしないと、コンパイラーエラーが発生するとのことなので、Text Mesh Proをインストールしていない場合はStandard Versionを選択します。
今回はStandard Versionを選択していきます。
    f383f5bee6dc2b179661a26d7d723a6f.png
次にこのようなポップアップメッセージが表示されます。
こちらはスマートフォンに対応したゲームを作っている場合にはInstallを押しましょう。
    2998127b3b56037541ddf10fc4f069b1.png
最後にこのようなポップアップメッセージが表示されるのでInstall Docsを押しましょう。
62c0b7fc412c3073245192970b016cfd.png
ここまでの流れでやっぱりインストールしたい、と思ったところがあった場合はWindow -> Rewired -> Setup -> Run Installerから再度やり直せます。

Rewiredの使い方

Window -> Rewired -> Create -> Input ManagerでRewired Input Managerをヒエラルキーウィンドウに作ります。
その後、Rewired Input Managerを選択してインスペクターウィンドウのInput Manager内にあるLaunch Rewired Editorを選択します。
図1.png
Launch Rewired Editorを押すとこのようなウィンドウが表示されます。選択項目がたくさんありますが、今回は主に使用するPlayers、Actions、Joystick Maps、Keyboard Maps、Mouse Mapsについて説明します。
COCOdayo - SampleScene - PC, Mac & Linux Standalone - Unity 2020.3.11f1 Personal_ DX11 2021_12_20 22_27_33.png
上の五つの項目について軽く説明しておくと
Players:ゲームのプレイヤーを人数分登録する
Actions:ゲーム内でジャンプや歩くなどの動作に名前を付けます
Joystick Maps:様々な種類のゲームパッドの各ボタンにActionsで設定した動作を対応させる
Keyboard Maps:キーボードの各キーにActionsで設定した動作を対応させる
Mouse Maps:マウスのクリックなどにActionsで設定した動作を対応させる
というものになってます。

一つの動作に対してゲームパッド、キーボード、マウスを設定する

まずはPlayersを選択して左下にあるNewを押しましょう。
図2.png
するとPlayers:の項目に1:Player0が追加されます。
この数を増やすことでゲームのプレイヤーを増やしていくことができます。
次にActionsを選択して画面下らへんにあるNewを押しましょう。
その後、右にいくつか項目が出てくるので、その中のNameとDescriptive Nameを作りたい動作の名前に変更します。(この名前はスクリプトで使うので入力しやすい名前にしましょう)
図5.png

ゲームコントローラーの入力を実装する

Joystick Mapsを選択します。
すると左側に数多くの種類のゲームコントローラーがあるので、実装したいものを選びましょう。今回はXbox 360 Controllerを使います。
コントローラーを選択したらCreate Mapを押します。
図6.png
下にCreate Defaultsというボタンが表示されるのでそちらを押します。
するとElement欄に選択したコントローラーの入力一覧が表示されるので使いたい入力を選択します。今回はAを使うことにします。
入力を選択したら右側に先ほどActionsで作ったhogeという名前の動作があるのでそちらを選択することで、そのボタンにhogeという動作が紐づきます。

キーボード入力を実装する

Keyboard Mapsを選択し、表示されるCreate Mapを選択します。
図8.png
次に画面下にあるNewを押してから動作を発生させたいキーをKey欄から選択します。
Actionsで作ったhogeという名前の動作を選択し、そのキーにhogeという動作を紐づけます。
図9.png

マウス入力を実装する

Mouse Mapsを選択し、表示されるCreate Mapを選択します。
図10.png
次に画面下にあるNewを押してから画面右にあるNoneを押して、動作を発生させたいマウス入力を選択します。今回はLeft Mouse Button(左クリック)を選択しました。
その後、先ほどまでと同様にActionsで作ったhogeという動作を選択して紐づけます。
図11.png

ここまで設定したMapsをPlayerに紐づける

Playersを選択します。
下に表示されるJoystick Mapsを選択して、Add Joystick Mapを押します。
図13.png
これだけでPlayer0にJoystick Mapが紐づきました!
あとは同じようにKeyboard MapsとMouse Mapsも紐づけます。

実際にスクリプトで作った動作を使ってみる

以下のようなスクリプトを作ります。
COCOdayo - Microsoft Visual Studio 2021_12_21 0_12_02.png
using Rewired; を忘れないように注意してください。
player0.GetButtonDown("hoge")は、先ほどRewiredで作った動作名hogeに紐づけた入力のいずれかが押されることを取得できます。
今回はhogeにXbox360 ControllerのA、キーボードのW、マウスの左クリックが紐づいているので、このいずれかが押されるとhogeという文字をコンソールウィンドウに表示するようになっています。
このスクリプトをヒエラルキー上の適当なところにアタッチしてから実行すると
以下のようにキーボード、マウス、Xbox360 Controller全ての入力でhogeと表示されました!
bea5d0d62a92dd6a9e400cb40ae450e4.png
あとはこの入力でゲーム内のキャラクターがジャンプしたりするようにすればすべての入力に対応したゲームを作ることができます!
Rewiredを使ってぜひ快適なゲーム制作ライフを~

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3