Blocking contact
Fusion行業原型附加元件
這個模組擴展了VR共享範例中可用的硬體拿取系統,以允許表面用一個尖端(筆等等)來阻擋一些物件,同時也阻擋要拿取它的手。
接觸邏輯
BlockableTip
元件含有tip
,是一個下層轉換,其決定物件位置的實際的尖端(阻擋「點」)。
BlockableTip
元件偵測在blockingLayers
遮罩中有它們的圖層的,並且有一個BlockingSurface
元件的物件的觸發接觸。
從那裡開始,在IsInContact
中透過已偵測表面參考中的tip
的本機坐標來確認與表面的實際接觸:
BlockingSurface
的positiveProximityThresholds
及negativeProximityThresholds
決定接觸何時有效。x
及y
值定義表面的大小,而z
值定義已接受的接觸深度(阻擋效果將沿著表面的z
軸)。BlockingSurface
最大深度決定了尖端(及拿取手)應該被阻擋在哪個z
深度
尖端及手阻擋
阻擋本身在FixContactPosition()
方法中發生:元件定義尖端的目標z
位置,這樣遵循深度限制。
然後它決定實際的BlockableTip
遊戲物件位置,這樣尖端最終到達這個目標位置。
然後最後移動手,這樣遵循拿取初始位置。
相依性
- 回饋附加元件
示範
可在Assets\Photon\FusionAddons\BlockingContact\Demo\Scenes\
資料夾中找到一個示範場景。
場景含有一個附有BlockingSurface
元件的表面及一個附有BlockableTip
的可拿取筆。
請注意,在這個示範場景中,筆是故意沒有功能的。
下載
這個附加元件的最新版本被包含在附加元件專案之中
已支援拓撲
- 共享模式
更改記錄
- 版本2.0.0:支援Fusion 2.0
- 版本1.0.3:改進示範場景
- 版本1.0.2:出於回饋命名空間調整的修正
- 版本1.0.1:新增示範場景+新增阻擋接觸中的驗證以在沒有定義回饋時避免錯誤+新增命名空間
- 版本1.0.0:第一個版本