入力
モバイル端末の入力

一般的なゲーム入力

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

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

NOTE: This is a legacy image. This Input Selector image dates back to the very earliest versions of the Unity Editor in 2005. GooBall was a Unity Technologies game.
NOTE: This is a legacy image. This Input Selector image dates back to the very earliest versions of the Unity Editor in 2005. GooBall was a Unity Technologies game.

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

バーチャル軸

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

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

  • 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 Speed in units per second that the axis will move toward the target value. This is for digital devices only.
Snap これを有効化すると、軸の値は、ボタンを反対方向に押したときに、0 にリセットされます。
Invert これを有効化すると、Negative Buttons は正の値に反転し、Positive Buttons は負の値に反転します。
Type 軸を制御する入力の種類。
Axis 軸を制御するために接続されたデバイスの軸。
Joy Num 軸を制御する接続されたジョイスティックの数。

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

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

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

 value = Input.GetAxis ("Horizontal"); 

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

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

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

ボタン名

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

Keys

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

  • 通常キー: “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”、…

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

 value = Input.GetKey ("a");

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

入力
モバイル端末の入力