XR Controller (Device-based)
XR 入力サブシステムから XR Interaction ステートに送られる選択などのアクションを使用して、追跡される入力コントローラーデバイスの特徴値を解釈します。加えて、追跡対象デバイスの現在のポーズ値を GameObject
のトランスフォームに適用します。
この動作の代わりに、Action-based のコントローラー の使用をお勧めします。この動作は Action-based のコントローラーに比べると初期設定がはるかに少なくて済みますが、入力処理はあまりカスタマイズできませんし、XRDeviceSimulator はこの動作の実行に使用できません。
プロパティ | 説明 |
---|---|
Update Tracking Type | コントローラーがトラッキング入力をサンプリングするフレーム内の時間。 |
Update | Update Tracking Type を Update に設定すると、MonoBehaviour Update ステップの間でのみトラッキング入力をサンプリングします。 |
Before Render | Update Tracking Type を Before Render に設定すると、レンダリング直前のステップの間でのみトラッキング入力をサンプリングします。 |
Update And Before Render | Update Tracking Type を Update And Before Render に設定すると、フレーム内における上記のどちらのタイミングでもトラッキング入力をサンプリングします。 |
Enable Input Tracking | 対象のコントローラーで入力ポーズトラッキングを有効にするかどうか。有効にすると、Unity はフレームごとにコントローラーデバイスの現在のトラッキングポーズ入力を読み取ります。 現在の入力を読み取るのではなく、記録したポーズ入力を再生するなどの方法で、手動でコントローラーのステートを設定する場合は、このオプションを無効にすることができます。 |
Enable Input Actions | 対象のコントローラーで XR Interaction イベントの入力を有効にするかどうか。有効にすると、Unity はフレームごとにコントローラーデバイスの現在の入力を読み取ります。 現在の入力を読み取るのではなく、記録した入力を再生するなどの方法で、手動でコントローラーのステートを設定する場合は、このオプションを無効にすることができます。 |
Pose Provider | XRNode とは別のトラッキングデータを取得するために使用されるポーズプロバイダー。 |
Controller Node | このコントローラーの XRNode 。コントローラーからの入力を読み取る際に、 IsPressed や TryGetFeatureValue などを呼び出して InputDevice を取得するために使用されます。 |
Select Usage | 選択を検出するために使用する入力。XR コントローラーの入力メカニズムを参照します。デフォルトの選択法は Grip です。 |
Activate Usage | アクティベーションを検出するために使用する入力。XR コントローラーの入力メカニズムを参照します。デフォルトのアクティベート法は Trigger です。ここでのアクティベートイベントとは、ゲームオブジェクトのアクティブ状態とは異なり、懐中電灯のオンオフ切り替えのようなコンテキスト依存のコマンドアクションを指しています。 |
UI Press Usage | UI 押下の検出に使用する入力。XR コントローラーの入力メカニズムを参照します。デフォルトの UI 押下法は Trigger 。 |
Axis To Press Threshold | インタラクションイベントをトリガーするために必要な、ユーザーが軸を押す量。0 はまったく押さない、1 は完全に押すというように値は正規化されています。デフォルトのしきい値は 0.1 です。 |
Rotate Object Left | アンカーを左に (反時計回りで) 回転するために使用する入力。XR コントローラーの入力メカニズムを参照します。デフォルトは PrimaryAxis2DLeft です。 |
Rotate Object Right | アンカーを右に (時計回りで) 回転するために使用する入力。XR コントローラーの入力メカニズムを参照します。デフォルトは PrimaryAxis2DRight です。 |
Move Object In | アンカーをインタラクターから遠ざける (画面に入っていき、プレイヤーから離れる方向へ移動する) ために使用する入力。XR コントローラーの入力メカニズムを参照します。デフォルトは PrimaryAxis2DUp です。 |
Move Object Out | アンカーをインタラクターの方に (画面の外へと、プレイヤーに向かって) 移動するために使用する入力。XR コントローラーの入力メカニズムを参照します。デフォルトは PrimaryAxis2DDown です。 |
Model Prefab | このコントローラー用に示され、この動作によって自動でインスタンス化されるコントローラーモデルのプレハブ。 この動作は、開始時に自動でプレハブのインスタンスを modelParent (下記参照) の子としてインスタンス化します。ただし、model (下記参照) がすでに設定されている場合は、この値は無視されます。 |
Model Parent | この動作でモデルプレハブがインスタンス化されるときに、その親として使用されるトランスフォーム。 自動でインスタンス化され、未設定であれば Awake に設定されます。この設定によって以前のオブジェクトが自動で除去されることはありません。 |
Model | シーン内に存在するコントローラーモデルのインスタンス。modelPrefab (上記参照) を使用するのではなく、既存のオブジェクトに設定することができます。設定する場合は、この動作の子ゲームオブジェクトを参照します。そうすると、コントローラーのポーズで更新されるようになります。 |
Animate Model | インタラクションイベントに応じてモデルをアニメーション化するかどうか。有効にすると、選択時または選択解除時に名前付きのアニメーショントリガーがアクティブになります。 |