docs.unity3d.com
    目次を表示する/隠す

    入力設定

    • Update Mode
    • Background Behavior
    • Filter Noise on .current
    • Compensate Orientation
    • デフォルト値のプロパティ
    • Supported Devices
    • プラットフォーム固有の設定
    • Play Mode Input Behavior

    プロジェクトごとに個別に Input System を設定するには、Unity のメインメニューから Edit > Project Settings… > Input System Package に移動します。

    入力設定

    Input System では入力設定がアセットに保存されます。プロジェクトに入力設定アセットが含まれていない場合は、Settings ウィンドウで Create settings asset をクリックして作成します。プロジェクトに複数の設定アセットが含まれている場合は、ウィンドウの右上隅にある歯車のメニューを開き、使用するアセットを選択します。このメニューを使用して、追加の設定アセットを作成することもできます。

    ノート: Unity では、これらの設定に対する変更は、プロジェクトの保存時に保存されます。

    このページでは、それぞれの入力設定について詳しく説明します。

    Update Mode

    Update Mode

    これは、Input System による入力処理のタイミングを決定する基本的な設定です。

    Input System では、まったく異なる 3 つの方法のいずれかで入力が処理されます。

    型 説明
    Process Events In Dynamic Update 現在のフレームレートによって決定される不規則な間隔でイベントが処理されます。
    Process Events In Fixed Update 固定長の間隔でイベントが処理されます。これは、MonoBehaviour.FixedUpdate の動作と一致します。間隔の長さは Time.fixedDeltaTime によって決定されます。
    Process Events Manually イベントが自動的には処理されません。代わりに、InputSystem.Update() が呼び出されるたびに入力が処理されます。

    ノート: この他に、InputUpdateType.BeforeRender (XR トラッキング Device の遅延更新) と InputUpdateType.Editor (EditorWindow の場合) という 2 つのタイプの更新が実行されます。これらのどちらのタイプの更新でも、アプリケーションによる入力の方法が変更されることはありません。

    Background Behavior

    Background Behavior

    アプリケーションのフォーカス の処理方法を決定します。つまり、フォーカスが失われたとき、または復帰したときの動作と、アプリケーションが前面にない場合の入力の動作を設定します。

    この設定は、プロジェクトの プレイヤー設定 で "Run In Background" が有効になっている場合にのみ効果があります。この設定は、一部のプラットフォームでのみサポートされます。Android や iOS などのプラットフォームでは、アプリケーションが前面にない間はゲームが実行されません。

    エディターでは、ゲームビューにフォーカスがあるかどうかにかかわらず、Player Loop が実行され続けるため、"Run In Background" が常に有効になっていると見なされることに注意してください。また、デスクトッププラットフォームの開発プレイヤーでは、ビルドプロセスの間、この設定が強制的に有効になります。

    ノート: エディターでは、Play Mode Input Behavior が Background Behavior にさらに影響します。詳細については、バックグラウンドとフォーカス変更の動作 を参照してください。特に、どのデバイスが canRunInBackground と見なされるかは、Play Mode Input Behavior 設定に部分的に左右されます。

    設定 説明
    Reset And Disable Non Background Devices フォーカスが失われると、canRunInBackground としてマークされていないすべての Device で ソフトリセット を実行した後、それらを 無効 にします。バックグラウンドで実行可能としてマークされた Device は影響を受けません。

    フォーカスが復帰すると、無効にしたすべての Device を 再び有効化 し、それらの Device で現在の状態を更新するために 同期リクエスト を発行します。Device に同期リクエストを発行しても応答がない場合は、Device の ソフトリセット を実行します。

    これがデフォルト設定です。
    Reset And Disable All Devices フォーカスが失われると、すべての Device で ソフトリセット を実行した後、それらを 無効 にします。

    フォーカスが復帰すると、すべての Device を 再び有効化 し、各 Device で現在の状態を更新するために 同期リクエスト を発行します。デバイスが同期リクエストに応答しない場合は、ソフトリセット を実行します。
    Ignore Focus フォーカスが失われたときに何も行いません。フォーカスが復帰すると、すべての Device で 同期リクエスト を発行します。

    フォーカス動作は、フォーカスの変更に対して Action がどのように動作するかに影響します。Device がリセットされると、その Device の Control にバインドされている Action はキャンセルされます。これにより、例えば、ユーザーが W、A、S、D キーのいずれかを押している間にフォーカスが失われたときに、ゲーム内でユーザーが制御しているキャラクターが動き続けるのを防ぐことができます。このキャンセルは、Action がトリガーされないようにして実行されます。つまり、ボタンの解放時に Action がトリガーされるように設定されていても、押されている状態のボタンが Device のリセット によってリセットされるときは、Action がトリガーされません。

    Filter Noise On Current

    この設定はデフォルトで無効になっており、API の .current プロパティ (Gamepad.current など) を使用するアプリケーションにのみ関係します。これらのプロパティをアプリケーションで使用しない場合は、この設定を無効のままにしてください。有効にすると、不要なオーバーヘッドが増加します。

    Device で入力が発生するたびに、その Device がシステムによって .current に設定されます。例えば、新しい入力を Gamepad が受け取ると、そのゲームパッドに Gamepad.current が割り当てられます。

    Device によっては入力値が頻繁に変動するものがあり、何も操作していない場合でも入力が発生することがあります。例えば、PS4 DualShock コントローラーにはジャイロが組み込まれているため、継続的な入力が確実に生成されます。つまり、Xbox と PS4 の両方のコントローラーが接続されており、ユーザーが Xbox コントローラーを使用している場合でも、PS4 コントローラーが継続的に入力を受け取り、current になります。

    これを防ぐには、ノイズフィルタリングを有効にします。この設定が有効な場合は、アプリケーションが入力を受け取ると、その入力が値変動 (ノイズ) のある Control (InputControl.noisy) を持つ Device に由来するかどうかシステムによって判定されます。由来する場合はさらに、その入力に、値変動ありとしてフラグ付けされていない Control に対する状態の変更が含まれているかどうかも判定されます。含まれている場合は、その Device が current になります。それ以外の場合も、入力はアプリケーションによって消費され、Device にも認識されますが、Device が current になることはありません。

    ノート: システムでは現在、ほとんどの形式の値変動は検出されませんが、ゲームパッドスティックの値変動は検出されます。つまり、スティックが少しでも揺れ動くと、その動きがデッドゾーンの制限内であっても、Device は current になります。ただし、これでスティックが作動状態になるとは限りません。ほとんどのゲームパッドでは、デバイス全体の動きに伴う、スティックの多少の動きは許容されます。

    Compensate Orientation

    この設定を有効にすると、センサー から報告される回転値は、以下のように、Z 軸を中心として回転されます。

    画面の向き 回転値に対する効果
    ScreenOrientation.Portrait 値は変わりません。
    ScreenOrientation.PortraitUpsideDown 値は 180 度回転されます。
    ScreenOrientation.LandscapeLeft 値は 90 度回転されます。
    ScreenOrientation.LandscapeRight 値は 270 度回転されます。

    この設定は、以下のセンサーに影響します。

    • Gyroscope (ジャイロスコープ)
    • GravitySensor (重力センサー)
    • AttitudeSensor (姿勢センサー)
    • Accelerometer (加速度センサー)
    • LinearAccelerationSensor (線形加速度センサー)

    デフォルト値のプロパティ

    プロパティ 説明
    Default Deadzone Min Stick Deadzone または Axis Deadzone プロセッサーのデフォルトの最小値。プロセッサーに明示的に min 値が設定されていない場合に使用されます。
    Default Deadzone Max Stick Deadzone または Axis Deadzone プロセッサーのデフォルトの最大値。プロセッサーに明示的に max 値が設定されていない場合に使用されます。
    Default Button Press Point ボタン Control およびさまざまな Interaction のデフォルトの pressPoint。アナログの物理入力を備えたボタン Control (ゲームパッドのトリガーなど) では、ボタンが押されているとシステムに認識されるように、どの程度まで押し下げたままにする必要があるかを設定します。
    Default Tap Time Tap および MultiTap Interaction のデフォルトの継続時間。タッチスクリーン Device で、タップと新しいタッチを区別するためにも使用されます。
    Default Slow Tap Time SlowTap Interaction のデフォルトの継続時間。
    Default Hold Time Hold Interaction のデフォルトの継続時間。
    Tap Radius タッチスクリーン Device で、2 本指タップが、同じタッチ操作のタップである (一方の指が新しいタッチではない) と見なされる最大距離。
    Multi Tap Delay Time MultiTap Interaction のタップ間のデフォルトの遅延時間。タッチスクリーン Device で、マルチタップをカウントするためにも使用されます (TouchControl.tapCount を参照してください)。

    Supported Devices

    Supported Devices

    プロジェクトでは通常、既知の一連の入力方法がサポートされます。例えば、モバイルアプリではタッチのみをサポートし、コンソールアプリケーションではゲームパッドのみをサポートすることが考えられます。また、あるクロスプラットフォームアプリケーションでは、ゲームパッド、マウス、キーボードをサポートするが、XR Device のサポートは必要でない場合があります。

    エディターの UI に表示されるオプションを絞り込んだり、アプリケーションで使用しない入力 Device の作成や入力の消費を避けたりするために、サポートされる Device のセットをプロジェクトごとに制限できます。

    Supported Devices が空の場合、制限は適用されません。つまり、Unity で認識されるあらゆる Device が Input System によって加えられ、その入力が処理されます。ただし、Support Devices に 1 つ以上のエントリーが含まれている場合は、リスト内のいずれかのタイプに一致する Device のみが加えられます。

    ノート: Supported Devices のリストが変更されると、必要に応じて Device が削除されるか、再び追加されます。使用可能な Device に関する情報は常にシステムで保持されているため、接続されている限り、どの Device も完全に失われることはありません。

    リストに Device を加えるには、Add (+) アイコンをクリックし、表示されるメニューから Device を選択します。

    サポートされる Device の追加

    Abstract Devices には、"Keyboard" や "Mouse" など、一般的な Device の抽象化が含まれます。Specific Devices には、具体的なハードウェア製品が含まれます。

    エディターでのオーバーライド

    エディターでは、アプリケーションでサポートされない入力 Device を使用できると便利である場合があります。例えば、アプリケーションでゲームパッドのみがサポートされる場合に、エディターでタブレットを使用できます。

    Supported Devices に含まれていない場合に、ローカルで使用可能な Device をすべて、エディターで強制的に追加するには、Input Debugger (メニュー: Window > Analysis > Input Debugger) を開き、Options > Add Devices Not Listed in 'Supported Devices' を選択します。

    Add Devices Not Listed In Supported Devices

    この設定はユーザー設定として保存されます (同じプロジェクトを開く他のユーザーには、この設定が表示されません)。

    プラットフォーム固有の設定

    iOS/tvOS

    iOS の設定

    • Motion Usage
      デバイスの 歩数計 へのアクセスを管理します。有効にすると、この設定で指定した Description 文字列がアプリケーションの Info.plist に加えられます。

    エディター

    Play Mode Input Behavior

    Play Mode Input Behavior

    エディターが再生モードのときに、どのように入力が処理されるかを決定します。プレイヤーとは異なり、エディターでは、ゲームビューにフォーカスがあるかどうかにかかわらず、エディターがアクティブである限り、Unity (およびその入力バックエンド) が動作し続けます。この設定は、どのゲームビューにもフォーカスが ない 場合 (したがって、Application.isFocused が false になり、プレイヤーがバックグラウンドで実行されていると見なされる場合) の入力の動作を決定します。

    設定 説明
    Pointers And Keyboards Respect Game View Focus ポインター および キーボード Device でのみ、ゲームビューにフォーカスが必要です。その他の Device の入力は、ゲームビューのフォーカスにかかわらず、アプリケーションにルーティングされます。

    この設定では、基本的に、デフォルトでエディター UI の操作に使用されないすべての入力がゲームにルーティングされます。このため、ゲームパッド などの Device からは、再生モード時に常にアプリケーションに入力されますが、例えば、キーボードから入力するには、ゲームビューウィンドウに明示的にフォーカスを設定する必要があります。

    これがデフォルトの設定です。
    All Devices Respect Game View Focus すべての Device でゲームビューにフォーカスが必要です。どのゲームビューウィンドウにもフォーカスがない場合は、すべての入力がアプリケーションではなく、エディターに送られます。このため、他の EditorWindow でこれらの (ゲームパッドなどからの) 入力を受け取ることができます。
    All Device Input Always Goes To Game View エディターへの入力はすべて無効になり、入力がゲームビュー専用と見なされます。さらに、Background Behavior がそのまま適用され、プレイヤーの場合と同様に実行されます。特定の状況で Device がプレイヤーで無効になると、その Device はエディターでも無効になります。

    この設定では、プレイヤーの動作とエディターの動作が最も近くなります。ただし、EditorWindow では、Device からの入力を検出できなくなる点に注意してください (これは一般に、エディターでの IMGUI および UITK 入力には影響しません。これらは、Input System からの入力を消費しないためです)。
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)