Unityの入力設定(Input Manager)について

ここではUnityの入力に関する設定を行える「入力設定(Input Manager)」の使い方について説明します。


※この記事で使用しているUnityのバージョン:Unity2019.1

一般的なゲームの「入力」について

はじめにごく当たり前の話をしますが、ゲームではプレイヤーからの入力が取得できないとどうしようもありません(ボタンを押してもそれが取得できなければゲームにならないからです)。そこでUnityではプレイヤーからの入力を簡単に取得できる機能が用意されています。

ただし、一口に「入力」といっても世の中には色々な入力の方法があります。例えば、ゲームで使われる主な入力デバイスとしては

  • マウス
  • キーボード
  • ゲームパッド(コントローラー)
  • ジョイスティック
  • タッチパネル

等があるのはみなさんご存じだと思いますが、こうした入力デバイスはそれぞれ入力方法が異なるため、自力で色々なデバイスに対応しようとするとかなり面倒なことになります。

そこで活躍するのがUnityの入力設定(Input Manager)です。これをうまく使えば、例えば「キーボードのSpaceキー」と「ゲームパッドのAボタン」をまとめて「Jump」という一つの仮想的な入力軸に設定することができます。こうするとスクリプトから「Jump」入力を取得すれば、キーボードからの入力にも、ゲームパッドからの入力にも対応できてとても便利なのです。

Input Managerについて

さて、それではInput Managerの使い方を説明していきます。Input Managerは、メニューバーの「編集」→「プロジェクト設定」からプロジェクト設定(Project Settings)を開き、左のメニューの「入力」を選択することで開くことができます(下図)。

入力設定(Input Manager)

設定項目について

Input Managerを見てみると「軸」という名前の配列の中に、各入力軸の設定が格納されていることがわかります。配列の中身を見ると分かりづらい項目がずらり並んでいてとっつきづらいですが、一つ一つ見ていきましょう。

  1. 名前
  2. 正方向の通称
  3. 負方向の通称
  4. 負方向ボタン
  5. 正方向ボタン
  6. 負方向ボタン(副)
  7. 正方向ボタン(副)
  8. 重力
  9. 無効
  10. 感度
  11. スナップ
  12. 反転
  13. タイプ
  14. ジョイスティック番号

名前

入力軸の名前です。その入力軸の入力を取得するときには、ここで設定した名前を指定する必要があるので分かりやすい名前にしましょう。

なお、同じ名前の軸を複数登録することも可能です。その場合は項目が分かれていても同じ軸として扱われます。

正方向の通称・負方向の通称

スタンドアロンビルドで表示される、設定ダイアログのInputタブで表示される正の値の名前です。昔はスタンドアロンのときに設定ダイアログが表示されることが多かったのですが、最近はデフォルトで非表示になったため、今は特に記入する必要はないと思います。

負方向ボタン・正方向ボタン

入力の正負を決めるボタンです。例えば左右移動なら左が負・右が正、発射ボタンなら正で発射、というような感じです。

負方向ボタン(副)・正方向ボタン(副)

上記と同じ役割をする別のボタンを登録します。なければ空欄でOK。

重力

何もボタンが押されてない場合に、軸がニュートラルになるための秒速です。

無効

絶対値がこの数値未満の場合は0として処理されます。ジョイスティックの場合に便利です。

感度

軸がターゲット値に向かう速さ。デジタルデバイスのときのみ有効です。

スナップ

有効の場合、反対方向への入力があると値が0にリセットされます。

反転

ボタンの方向を逆にします。

タイプ

軸を制御する入力の種類です。次の3種類があります。

  1. キーまたはマウスボタン
  2. マウス動作
  3. ジョイスティック軸

軸を制御するために接続されたデバイスの軸です。X軸(第1軸)~第28軸まであります。

ジョイスティック番号

ジョイスティックの番号です。