XR Grab Interactable
インタラクションシステムにフックして (XRInteractionManager を介して)、基本的な "グラブ" 機能を可能にする Interactable (受動側、インタラクタブル) コンポーネント。選択をしている Interactor (能動側、インタラクター) にアタッチして、物理演算に従って追従させることができます (リリース時に速度を継承することも可能)。
プロパティ | 説明 |
---|---|
Interaction Manager | このインタラクタブルが相互作用する XRInteractionManager (None の場合は検出が行われます)。 |
Interaction Layer Mask | この Interaction Layer Mask に含まれるレイヤーと重複する Interaction Layer Mask を持つインタラクターとのインタラクションを許可します。 |
Colliders | このインタラクタブルとのインタラクションに使用するコライダー (空欄にすると、いずれかの子コライダーが使用されます)。 |
Custom Reticle | 有効な場合に、線の終点に表示される照準マーク。 |
Select Mode | インタラクタブルの選択ポリシーを指定します。このインタラクタブルを選択できるインタラクターの数を制御します。 この値は選択の試行時にインタラクションマネージャーに読み取られるだけであるため、この値を Multiple (複数) から Single (単一) に変更しても、選択は中止されません。 |
Single | Select Mode を Single に設定すると、同時に複数のインタラクターを選択できなくなります。 |
Multiple | Select Mode を Multiple に設定すると、対象のインタラクタブルで同時に複数のインタラクターを選択できるようになります。 |
Movement Type | このオブジェクトが選択時にどのように動くかを指定します。これを指定するには、Rigidbody の速度を設定するか、Fixed Update の間にキネマティック Rigidbody を移動させる、またはフレームごとに Transform を直接更新します。 |
Velocity Tracking | Movement Type を Velocity Tracking に設定すると、Rigidbody の速度と角速度を設定して、インタラクタブルオブジェクトを移動させます。オブジェクトがインタラクターに追従しているときに、Rigidbody のない他のコライダーを通過できるようにする必要がない場合は、この方法を使用します。ただしそれと引き換えに、遅れが生じているように見え、Instantaneous ほど滑らかに動かないことがあります。 |
Kinematic | Movement Type を Kinematic に設定すると、目標の位置と方向にキネマティック Rigidbody を動かすことで、インタラクタブルオブジェクトの移動が行われます。物理状態に合わせて同期したビジュアル表現を維持する必要がある場合や、オブジェクトがインタラクターに追従しながら Rigidbody のない他のコライダーを通過できるようにする場合は、この方法を使用します。 |
Instantaneous | Movement Type を Instantaneous に設定すると、フレームごとに Transform の位置と回転を設定して、インタラクタブルオブジェクトを移動させます。フレームごとにビジュアル表現を更新して遅延を最小化する場合は、この方法を使用します。ただしそれと引き換えに、オブジェクトがインタラクターに追従しているときに、Rigidbody のない他のコライダーを通過できるようになります。 |
Retain Transform Parent | 有効にすると、このオブジェクトが落とされた後に、このオブジェクトの親は、このオブジェクトを子としていた元の親に戻されます。 |
Track Position | 有効にすると、このオブジェクトは選択中にインタラクターの位置を追従します。 |
Smooth Position | 有効にすると、選択された状態でインタラクターの位置を追従する間、スムージングが適用されます。 |
Smooth Position Amount | 選択された状態でインタラクターの位置を追従する際に適用されるスムージングの量を示すスケールファクター。この値を大きくすると、このオブジェクトはインタラクターの位置により近付くようになります。 |
Tighten Position | スムージング使用時に追従される位置の最大差を縮小します。 スムージングの実行中に、スムージングされる位置とインタラクターの位置をどのくらい接近させる必要があるかを小数で表します。この値の範囲は 0 から 1 です。0 の場合はスムージングされる追従の距離にバイアスがかからず、1 の場合は実質的にスムージングが機能しません。 |
Velocity Damping | インタラクターの位置をトラッキングする場合に、現行の速度がどのくらい減衰するかを示すスケールファクター。この値が小さいほど、速度はゆっくり減衰します。 Movement Type が Velocity Tracking モードの場合にのみ適用されます。 |
Velocity Scale | インタラクターの位置をトラッキングしている状況で Rigidbody が更新されるときに、追跡される速度に適用されるスケールファクター。Movement Type が Velocity Tracking モードのときにのみ適用されます。 |
Track Rotation | 有効にすると、このオブジェクトは選択中にインタラクターの回転を追従します。 |
Smooth Rotation | 選択された状態でインタラクターの回転を追従する間、スムージングを適用します。 |
Smooth Rotation Amount | 選択された状態でインタラクターの回転を追従する間に適用されるスムージングの量を表すスケールファクター。この値を大きくすると、このオブジェクトはインタラクターの回転のより近くに留まるようになります。 |
Tighten Rotation | スムージング使用時に追従する回転の最大差を縮小します。 スムージングの実行中に、スムージングされる回転とインタラクターの回転をどのくらい接近させる必要があるかを小数で表します。この値の範囲は 0 から 1 です。0 の場合はスムージングされる回転の追従にバイアスがかからず、1 の場合は実質的にスムージングが機能しません。 |
Angular Velocity Damping | インタラクターの回転をトラッキングする場合に、現行の角速度がどのくらい減衰するかを示すスケールファクター。この値が小さいほど、角速度はゆっくり減衰します。 Movement Type が VelocityTracking モードの場合にのみ適用されます。 |
Angular Velocity Scale | インタラクターの回転をトラッキングしている状況で Rigidbody が更新されるときに、追跡される角速度に適用されるスケールファクター。Movement Type が Velocity Tracking モードのときにのみ適用されます。 |
Throw On Detach | 有効にすると、このオブジェクトはリリース時にインタラクターの速度を継承します。 |
Throw Smoothing Duration | 平均投射速度の期間。 |
Throw Smoothing Curve | 投射速度のスムージングを重み付けするために使用するカーブ (右に行くほど新しいフレーム)。 |
Throw Velocity Scale | このオブジェクトのリリース時にインタラクターから継承された速度に適用されるスケールファクター。 |
Throw Angular Velocity Scale | このオブジェクトのリリース時にインタラクターから継承された角速度に適用されるスケールファクター。 |
Force Gravity On Detach | リリース時に、このオブジェクトに重力を適用する (このプロパティが false /オフの場合はグラブ以前の値を使用)。 |
Attach Transform | このインタラクタブルで Unity が使用するアタッチポイント (設定されてない場合は、このオブジェクトの位置が使用されます)。 |
Attach Ease In Time | 選択中に Unity がアタッチでイージングを行う秒数 (0 はイージングなし)。 |
Attach Point Compatibility Mode | オブジェクトのターゲット位置の算出時に使用される方法を制御します。すべての XRBaseInteractable.MovementType 値の間で一貫したアタッチポイントを得るには、AttachPointCompatibilityMode.Default を使用します。このプロパティは廃止予定としてマークされており、今後のバージョンで削除される予定です。旧式で不正確なアタッチポイントの計算方法を保持するための後方互換性オプションです。相違点を考慮に入れているプロジェクトでは、Attach Transform の位置を変更せずに、Legacy のオプションを使用して旧バージョンと同じアタッチポイントを特定することができます。 |
Interactable Events | Interactable Events のページを参照してください。 |