This document is about: FUSION 2
SWITCH TO

Locomotion validation


Available in the Industries Circle
Circle
Fusion Industries プロトタイピングアドオン

このモジュールは、VRSharedで利用可能なロコモーションシステムを拡張していて、ロコモーションを適用する前に検証することができます(鍵がかかった場所・収容数制限がある場所・制限エリア・パーソナルなセーフゾーンなど)。

Locomotion validation system

ユーザーが禁止区域に行かないようにするため、最初にロコモーションシステムは、HardwareRigにあるHardwareLocomotionValidationコンポーネントに、その位置に移動できるかどうかをCanMoveHeadset()メソッドで問い合わせます。これに回答するため、すべてのILocomotionValidator子オブジェクトと、ネットワーク上のローカルユーザーを表すNetworkedRigインスタンスにあるNetworkLocomotionValidationコンポーネントのすべてのILocomotionValidator子オブジェクトの移動が有効化どうかを、HardwareLocomotionValidationが最初にチェックします。

Locomotion validation system

これによって、2種類の制限を与えることができます。

  • オフラインデータの制限(ハードウェア情報・静的なシーンなど)
  • ユーザーのネットワーク上の状態に関連した制限

その他の制限

加えて、ロコモーションシステムの使用状況により、他の要因でロコモーションが制限されます。

  • RigLocomotion:ユーザーは、RigLocomotionのレイヤーマスクのレイヤーのColliderにのみテレポートできます(TeleportTargetレイヤーのように)
  • LocomotionValidatedDesktopControllerデスクトップロコモーション:デスクトップビルドでは、キーボードによる移動はRigLocomotionのテレポート制限を無視してしまうので、このコントローラーは以下をチェックして、移動後の頭の位置を正します。
    • 移動後にColliderの内側にいないか
    • 移動後に正しく歩行可能なナビメッシュ点上にいるか

デモ

デモシーンはAssets\Photon\FusionAddons\LocomotionValidation\Demo\Scenes\LocomotionValidation.unityにあります。

Fusion Industries Addon Locomotion Validation

シーンには、橋で繋がったいくつかのエリアがあります。
それらは、異なるレイヤーやナビメッシュのパラメーターに設定されています。

  • 緑オブジェクト:ナビゲーションはWalkableで、レイヤーは(RigLocomotionLocomotionLayerMaskパラメーターと同様に)Locomotionに設定されているので、プレイヤーは移動したりテレポートしたりできます。
  • 赤オブジェクト:ナビゲーションはNot Walkableで、レイヤーはForbiddenLocomotionに設定されているので、プレイヤーは移動もテレポートもできません。
  • オレンジオブジェクト:ナビゲーションはNot Walkableで、レイヤーは(RigLocomotionLocomotionLayerMaskパラメーターと同様に)Locomotionに設定されているので、プレイヤーはその上を歩くことはできませんがテレポートは可能です。
  • グレーの円柱:これはForbiddenZonesコンポーネント(HardwareRigDesktopRig)で参照されています。ForbiddenZoneスクリプトは、ILocomotionValidatorインターフェースの実装方法を示します。この例では、(InvalidMoveCameraFaderHardwareLocomotionValidationスクリプトによって)フェーダーをトリガーするために、プレイヤーの頭がゾーンエリア内にある時にForbiddenZoneCanMoveHeadset()メソッドがfalseを返します。

プレイヤーがオレンジオブジェクトにテレポートすると、そのエリア内でブロックされることを避けるため歩くことができるようになることに注意してください。プレイヤーが緑オブジェクトに戻った時に、Locomotion validationが再度有効になります。この動作を回避したいなら、Not WalkableオブジェクトがForbiddenLocomotionレイヤーにあることを確認してください。

ダウンロード

このアドオンの最新バージョンは、Industries アドオンのプロジェクトに含まれています。

対応するトポロジー

  • 共有モード

更新履歴

  • Version 2.0.1: Fix issue + add minimalDetectedMove parameter
  • Version 2.0.0: Fusion 2.0 support
  • Version 1.0.2: Improve demo scene with ForbiddenZones
  • Version 1.0.1: Add demo scene + add namespace
  • Version 1.0.0: First release
Back to top