This document is about: FUSION 2
SWITCH TO

Blocking contact

Fusion Industries プロトタイピングアドオン

このモジュールは、VRSharedサンプルで利用可能なハードウェアのグラブシステムを拡張して、オブジェクトの先端(ペンなど)やそれを掴む手を表面上に固定させることができます。

接触ロジック

BlockableTipコンポーネントは子のtransformtipを含み、オブジェクトの位置の実際の先端(固定する「点」)を決定します。

BlockableTipコンポーネントは、blockingLayersマスクレイヤーにありBlockingSurfaceコンポーネントを持つオブジェクトの接触トリガーを検知します。

そこから、表面との実際の接触は、検知した表面基準のtipのローカル座標によって、IsInContactで確認されます。

  • BlockingSurfacepositiveProximityThresholdsnegativeProximityThresholdsが、接触が有効なタイミングを決定します
  • xyの値で表面のサイズを定義し、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
Back to top