この記事ではUnityの標準機能Input Managerについて解説しています。
<Input Managerとは>
Unityはマルチプラットフォーム対応です。その為、色々な端末の入力を受け取りたい時があります。
例えば、ジャンプを実装したい時、それに対応するボタンはキーボードの↑キーだったり、×ボタンだったり、Bボタンだったりするかもしれません。
そういった時に、端末毎にifで分岐させていては大変です。この機能はそんないろいろな入力方法を一括にまとめてくれる機能です。
<Input Managerの設定方法>
Unityの上部メニュー>Edit>Project Settingを選択します。
↓のようなウィンドウが開くので、左側のInputをクリックすればInputManagerの設定ができます。
<Project Setting Inputの各種パラメータ>
Axes
軸入力を表します。
↑では一種類しかありませんが、プラットフォームによっては増えるかもしれません。
Size
入力の種類数です。
自分で好きな数を設定できます。デフォルトで18個設定されていますが、これに縛られる必要はありません。数を増やせば設定できる入力の種類を増やせます。
Horizontal〜Cancel
設定できる入力の種類です。
この名前の文字列をプログラムで使用します。これらもUnityがデフォルトで用意してくれてあるだけで自由に設定することができます。
これに縛られる必要はありませんが、入力を表すコンポーネントのデフォルトの値(例えばStandaloneInputModule等)が、この文字列になっていたりするので、注意が必要です。
また、この名前は↓のnameで決定されます。
入力のパラメータ
入力の名前の左の▼を押すと展開して各種パラメータが見れます。
また、入力キーを表す場合は以下の文字列で表すことができます。
通常キー: “a”, “b”, “c” …
数字キー: “1”, “2”, “3”, …
矢印キー: “up”, “down”, “left”, “right”
キーパッド キー: “[1]”, “[2]”, “[3]”, “[+]”, “[equals]”
修飾キー: “right shift”, “left shift”, “right ctrl”, “left ctrl”, “right alt”, “left alt”, “right cmd”, “left cmd”
マウスボタン: “mouse 0”, “mouse 1”, “mouse 2”, …
(任意の)ジョイスティックボタン: “joystick button 0”, “joystick button 1”, “joystick button 2”, …
(特定の)ジョイスティックボタン: “joystick 1 button 0”, “joystick 1 button 1”, “joystick 2 button 0”, …
特殊キー: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”, “insert”, “home”, “end”, “page up”, “page down”
Functionキー: “f1”, “f2”, “f3”, …
https://docs.unity3d.com/jp/460/Manual/ConventionalGameInput.html
・Name
この名前に設定した文字列がプログラムや入力を監視しているInput Moduleで使用されます。
設定した入力があったかどうかを判別するのにこの文字列が使用されます。また、複数同じ名前を設定すればいくつものキーを同じ機能で使用することができる。
・DescriptiveName
ゲームランチャー(端末によって表示されるキー設定)に表示される名前(+の方)です。
↓Macの場合のゲームランチャー
↑の場合、Controlの所に表示されているやつです。何も設定しない場合、Nameの文字列が入ります。Negativeの入力が設定されないと(+)(-)表記が無くなります。
・Descriptive Negative Name
ゲームランチャー(端末によって表示されるキー設定)に表示される名前(-の方)です。何も設定しない場合、Nameの文字列が入ります。
・Negative Button
この入力キーが入るとマイナス方向にキー入力がされたと見なされます。ここに入る文字列は↑の入力キーの文字列を入れます。何も設定しないこともできます。
・Positive Button
この入力キーが入るとプラス方向にキー入力がされたと見なされます。ここに入る文字列は↑の入力キーの文字列を入れます。
・Alt Negative Button
Negative Buttonと同じ働きをするキーをもう一つ設定します。同じ操作を2種類のキーで使用できるようにしたり、プラットフォームが違った時にNegative Buttonに設定したキーが存在しない等の場合に使用されます。
・Alt Positive Button
Positive Buttonと同じ働きをするキーをもう一つ設定します。同じ操作を2種類のキーで使用できるようにしたり、プラットフォームが違った時にPositive Buttonに設定したキーが存在しない等の場合に使用されます。
・Gravity
入力がニュートラルな状態に戻る速さです。TypeがKey or Mouse Buttonに設定されている時のみ使用されます。
・Dead
指定した数値未満の正や負の値は 0 として認識されます。主にジョイスティック等に使用されます。
・Sensitivity
キーボード入力の場合、この値を大きくすると、応答時間が速くなります。値が低いと、より滑らかになります。マウス移動の場合、この値によって実際のマウスの移動差分が拡大縮小されます。
・Snap
有効にすると、反対の入力を受け取った直後に、軸の値が0にリセットされます。 Type が Key or Mouse Buttonに設定されている時のみ使用されます。
・Invert
有効にすると、Positive ButtonとNegative Buttonが入れ替わります。
・Type
・Key or Mouse Button
キーボードやマウスのボタンなどのボタン類の入力です
・Mouse Movement
マウスの移動やスクロールホイールなどの入力です。
・Joystick Axis
アナログジョイスティックなどの入力です。
・Window Movement
ゲームがウィンドウ形式であり、ユーザーがウィンドウを動かした場合の入力です。
・Axis
入力デバイスからの入力の軸
・Joy Num
接続されているジョイステックのどれを見るか