Version: 2019.2
Input
モバイルデバイスの入力

一般的なゲーム入力

Unity はキーボード、ジョイスティック、ゲームパッド入力をサポートします。

バーチャル軸やボタンは Input ウィンドウで作成でき、さらにユーザーはキーボード入力を設定ダイアログで簡単に設定できます。

注意: これは古い画像です。この Input Selector は、2005 年のとても古いバージョンの Unity エディターのものです。GooBall は Unity Technologies のゲームです。

ジョイスティック、ゲームパッド、キーボード、マウスを設定して、スクリプトインターフェースを通して、簡単にアクセスすることができます。通常は、コンソールコントローラで軸やボタンにアクセスします。別の方法としてはキーボードのキーでアクセスします。

バーチャル軸

スクリプトから、すべてのバーチャル軸はその名前でアクセスできます。

デフォルトでは以下のように入力軸が定まっています。

  • HorizontalVertical: w、a、s、d と矢印キー
  • Fire1Fire2Fire3: それぞれ Ctrl、Opt(Alt)、Cmd キー
  • Mouse XMouse Y: マウスの動きのデルタ
  • Window Shake XWindow Shake Y: ウィンドウの動作

新規の入力軸の追加

新しいバーチャル軸を加えたい場合は、Edit > Project Settings から Input カテゴリーを選択します。ここでは、各軸の設定を変更することもできます。

各軸をジョイスティックの二つのボタン、マウスやキーボードにマッピングします。

プロパティー 機能
Name 入力軸の名前。
Descriptive Name スタンドアロンビルドで 設定 ダイアログ の Input タブで表示される正の値の名前。
Descriptive Negative Name スタンドアロンビルドで 設定 ダイアログ の Input タブで表示される負の値の名前。
Negative Button 軸を負の方向に押すためのボタン。
Positive Button 軸を正の方向に押すためのボタン。
Alt Negative Button 軸を負の方向に押すための代わりのボタン。
Alt Positive Button 軸を正の方向に押すための代わりのボタン。
Gravity 何もボタンが押されてない場合に軸がニュートラルになるための秒速。
Dead 絶対値がこの数値未満の場合は 0 として処理されます。ジョイスティックに便利です。
Sensitivity 軸がターゲット値に向かう速さ (ユニット/秒)。これはデジタルデバイスだけに使用できます。
Snap これを有効化すると、軸の値は、ボタンを反対方向に押したときに、0 にリセットされます。
Invert これを有効化すると、Negative Buttons は正の値に反転し、Positive Buttons は負の値に反転します。
Type 軸を制御する入力の種類。
Axis 軸を制御するために接続されたデバイスの軸。
Joy Num 軸を制御する接続されたジョイスティックの数。

これらの設定を使用して、入力の調整を行います。これらはすべて、エディターの Tooltip でも説明が表示されます。

スクリプトからの入力軸の使用

次のようなスクリプトで現在の状態を取得できます。

 value = Input.GetAxis ("Horizontal");

軸は –1 から 1 までの範囲の値をとります。初期値は 0 です。 これはジョイスティック入力やキーボード入力からの場合です。

しかし、マウスやウィンドウシェイクの値は最後のフレーム間に移動した値です。マウスをすばやく動かした場合は、値は 1 より大きくなったり –1 より小さくなったりします。

複数の軸を同じ名前で作成することができます。入力軸を取得するとき、絶対値が最も大きい軸が返されます。これによりひとつ以上の入力デバイスを軸の名前に割り当てることができます。例えば、ひとつの軸をキーボード入力として作成して、ひとつの軸をジョイスティック入力として同じ名前で作成します。もしユーザーがジョイスティックを使用していれば、入力はジョイスティックから来て、そうでなければキーボードから来ます。これによってどの入力から来ているのかスクリプトを書くときに考慮する必要がありません。

ボタン名

キーを軸にマッピングするとき、キーの名前を InspectorPositive ButtonNegative Button プロパティーに入力する必要があります。

キー

キーの名前は次のルールに従います。

  • 通常キー: “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”
  • ファンクションキー: “f1”、“f2”、“f3”、…

キーを識別するために使用される名前はスクリプトインターフェースとインスペクター上でも同じです。

 value = Input.GetKey ("a");

KeyCode の列挙体パラメーターでもアクセスできます。

Input
モバイルデバイスの入力