Blocking contact
Fusion Industries プロトタイピングアドオン
このモジュールは、VRSharedサンプルで利用可能なハードウェアのグラブシステムを拡張して、オブジェクトの先端(ペンなど)やそれを掴む手を表面上に固定させることができます。
接触ロジック
BlockableTip
コンポーネントは子のtransform
にtip
を含み、オブジェクトの位置の実際の先端(固定する「点」)を決定します。
BlockableTip
コンポーネントは、blockingLayers
マスクレイヤーにありBlockingSurface
コンポーネントを持つオブジェクトの接触トリガーを検知します。
そこから、表面との実際の接触は、検知した表面基準のtip
のローカル座標によって、IsInContact
で確認されます。
BlockingSurface
のpositiveProximityThresholds
とnegativeProximityThresholds
が、接触が有効なタイミングを決定しますx
とy
の値で表面のサイズを定義し、z
の値で有効な深度を定義します(表面のz
軸に沿って固定されます)BlockingSurface
の最大深度は、先(と掴む手)が固定されるz
深度を決定します
先端と手の固定
固定自体はFixContactPosition()
メソッドで行われます。コンポーネントは、先端のz
位置の対象を定義することで、深度の制約が遵守されます。
それから、実際のBlockableTip
ゲームオブジェクトの位置を決定して、最終的に先端が対象の位置に到達します。
最後に、手が移動して、最初に掴んだ位置の制約が遵守されます。
依存関係
- Feedbackアドオン
デモ
デモシーンはAssets\Photon\FusionAddons\BlockingContact\Demo\Scenes\
フォルダーにあります。
シーンには、BlockingSurface
コンポーネントを持つ表面と、BlockableTip
を持つ掴めるペンが含まれています。
このデモシーンでは、意図的にペンが機能しないようになっていることに留意してください。
ダウンロード
このアドオンの最新バージョンは、Industries アドオンのプロジェクトに含まれています。
また、無料のXR アドオンのプロジェクトにも含まれています。
対応するトポロジー
- 共有モード
更新履歴
- Version 2.0.3:
- Add compatibility for non-grabbable blockable (useful for MX Ink pen)
- Add useFeedback option
- Version 2.0.2: Add missing checks
- Version 2.0.1: Add string based layer mask edition for BlockableTip
- Version 2.0.0: Fusion 2.0 support
- Version 1.0.3: Improve demo scene
- Version 1.0.2: Fix because of feedback namespace modification
- Version 1.0.1: Add demo scene + add verification in BlockingContact to avoid error if feedback is not defined + add namespace
- Version 1.0.0: First release