入力
モバイル端末の入力

型にはまったゲーム入力

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

バーチャル軸および ボタンは Input Managerで作成でき, さらにエンドユーザは キーボード 入力 を見やすい画面のコンフィグ ダイアログで設定できます。

ジョイスティック, ゲームパッド, キーボード, およびマウスをセットアップして,それからひとつのスクリプティングインタフェースを通してアクセスできます。

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

全てのプロジェクトは作成時に,デフォルトの入力軸が次の通りです:

  • HorizontalおよびVertical はw, a, s, d および矢印キーにマッピング
  • Fire1, Fire2, Fire3 はCtrl, Opt(Alt), Cmd キーにそれぞれマッピング
  • Mouse XおよびMouse Y はマウス動作の動きにマッピング
  • Window Shake XおよびWindow Shake Y はウィンドウの動作にマッピング

新規の入力軸の追加

もし新規のバーチャル軸の追加を追加したい場合, Edit->Project Settings->Input メニューに行きます。ここで各々の軸の設定を変更できます。

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

プロパティ: 特徴:
Name スクリプトからこの軸をチェックする文字列の名前。
Descriptive Name スタンドアローン ビルドで Configuration の Input タブで表示される正の値の名前
Descriptive Negative Name スタンドアローン ビルドで Configuration の Input タブで表示される負の値の名前
Negative Button 負の方向の軸を押すためのボタン。
Positive Button 正の方向の軸を押すためのボタン。
Alt Negative Button 負の方向の軸を押すための,代わりのボタン。
Alt Positive Button 正の方向の軸を押すための,代わりのボタン。
Gravity 何もボタンが押されてない場合に軸がニュートラルになるための,毎秒単位での速度。
Dead アナログの Dead Zoneのサイズ。この範囲の全てのアナログデバイスはニュートラルにマッピングされます。
Sensitivity 軸がターゲットの値に向かうための毎秒単位での速度。これはデジタルデバイスのみ向けです。
Snap もし有効化すると,軸の値は,ボタンを反対方向に押したときに,ゼロにリセットされます。
Invert もし有効化すると,__Negative Buttons__ は正の値に反転し,その逆も然りとなります。
Type 軸を制御する入力の種類。
Axis 軸を制御する接続されたデバイスの軸。
Joy Num 軸を制御する接続されたジョイスティック。

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

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

次のようなスクリプトで現在の状態をクエリできます:

 value = Input.GetAxis ("Horizontal"); 

軸は –1 から 1 までの範囲の値をとります。ニュートラル のポジションは 0 です。 これはジョイスティック入力およびキーボード入力の場合です。

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

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

ボタン名

キーを軸にマッピングするとき,キーの名前をInspectorPositive Button または Negative 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”
  • Functionキー: “f1”, “f2”, “f3”, …

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

 value = Input.GetKey ("a");
入力
モバイル端末の入力