Locomotion validation
Available in the Industries Circle
Fusion行業原型附加元件
這個模組擴展了在VR共享中可用的運動系統,以在應用某些運動嘗試之前先驗證它們(已鎖定地點、有限容量的地點、已限制區域、個人安全區等等)。
運動驗證系統
為了確定使用者是否沒有嘗試前往一個禁止區,每個運動驗證首先以CanMoveHeadset()
方法來詢問位於HardwareRig
上的HardwareLocomotionValidation
元件,它們是否可以移動到這個位置。為了回答,HardwareLocomotionValidation
首先以位於代表網路上的本機使用者的NetworkedRig
執行個體旁邊的,它的所有ILocomotionValidator
下層,以及NetworkLocomotionValidation
元件的所有ILocomotionValidator
下層,來檢查移動是否有效。
這允許有2種限制:
- 離線資料的限制(硬體資訊。靜態場景等等)
- 與使用者的已連網狀態關聯的限制
其他限制
此外,取決於使用的運動系統,有其他因素限制了運動:
RigLocomotion
:一個使用者只可以在一個附有裝備運動的運動圖層遮罩(比如TeleportTarget
圖層)中的圖層上的碰撞器上進行傳送LocomotionValidatedDesktopController
桌面運動:針對桌面組建,因為鍵盤發起的移動將允許忽略RigLocomotion
傳送限制,這個控制器檢查在一個移動後頭位置是否正確,這是透過檢查:- 它在移動後是否不會在一個碰撞器之內
- 在移動後一個正確的可行走導航網格點是否將在它下面
示範
可在Assets\Photon\FusionAddons\LocomotionValidation\Demo\Scenes\LocomotionValidation.unity
資料夾中找到一個示範場景。
場景含有由橋連接的多個區域。
關於圖層及導航網格參數,這些物件有不同的設置:
- 綠色物件:在導航網格設定中為
Walkable
且圖層設定為Locomotion
(與裝備RigLocomotion
LocomotionLayerMask
參數相同),這樣玩家可以在它們上移動及傳送, - 紅色物件:在導航網格設定中為
Not Walkable
且圖層設定為ForbiddenLocomotion
,這樣玩家不可以在它們上移動及傳送, - 橘色物件:在導航網格設定中為
Not Walkable
且圖層設定為Locomotion
(與裝備RigLocomotion
LocomotionLayerMask
參數相同),所以玩家不可以在它們上移動,但可以在它上傳送。 - 灰色圓柱:它們在
ForbiddenZones
元件中(HardwareRig
及DesktopRig
)被參照。ForbiddenZone
指令碼展示了如何執行ILocomotionValidator
介面。在這個示例中,當玩家頭在區的區域中時,ForbiddenZone
的CanMoveHeadset()
功能傳回錯誤,以觸發平滑轉換器(利用InvalidMoveCameraFader
及HardwareLocomotionValidation
指令碼)。
請注意,如果玩家傳送到橘色物件上,他隨後可以在它上面行走,以避免在這個區域中被阻擋。然後,當使用者回到一個綠色物件時,運動驗證將被再次啟用。如果您希望避免這個行為,請確保Not Walkable
物件在ForbiddenLocomotion
圖層中。
下載
這個附加元件的最新版本被包含在附加元件專案之中
已支援拓撲
- 共享模式
更改記錄
- 版本2.0.1:修正問題+新增最小已偵測移動參數
- 版本2.0.0:支援Fusion 2.0
- 版本1.0.2:以禁止區來改進示範場景
- 版本1.0.1:新增示範場景+新增命名空間
- 版本1.0.0:第一個版本