Unity はキーボード、ジョイスティック、ゲームパッド入力をサポートします。
バーチャル軸やボタンは Input ウィンドウで作成でき、さらにユーザーはキーボード入力を設定ダイアログで簡単に設定できます。
!注意: これは古い画像です。この Input Selector は、2005 年のとても古いバージョンの Unity エディターのものです。GooBall は Unity Technologies のゲームです。
ジョイスティック、ゲームパッド、キーボード、マウスを設定して、スクリプトインターフェースを通して、簡単にアクセスすることができます。通常は、コンソールコントローラで軸やボタンにアクセスします。別の方法としてはキーボードのキーでアクセスします。
スクリプトから、すべてのバーチャル軸はその名前でアクセスできます。
デフォルトでは以下のように入力軸が定まっています。
新しいバーチャル軸を加えたい場合は、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 より小さくなったりします。
複数の軸を同じ名前で作成することができます。入力軸を取得するとき、絶対値が最も大きい軸が返されます。これによりひとつ以上の入力デバイスを軸の名前に割り当てることができます。例えば、ひとつの軸をキーボード入力として作成して、ひとつの軸をジョイスティック入力として同じ名前で作成します。もしユーザーがジョイスティックを使用していれば、入力はジョイスティックから来て、そうでなければキーボードから来ます。これによってどの入力から来ているのかスクリプトを書くときに考慮する必要がありません。
キーを軸にマッピングするとき、キーの名前を Inspector の Positive Button か Negative Button プロパティーに入力する必要があります。
キーの名前は次のルールに従います。
キーを識別するために使用される名前はスクリプトインターフェースとインスペクター上でも同じです。
value = Input.GetKey ("a");
KeyCode の列挙体パラメーターでもアクセスできます。