ソーシャルディスタンス
ソーシャルディスタンス
2人のプレイヤーが近くなりすぎないように、「ソーシャルディスタンス」モジュールを提供しています。
これを使用するには、ネットワークプレイヤープレハブにForbiddenAreaゲームオブジェクトが含まれている必要があり、コライダー(カプセルコライダーなど)を持っています。これは、他のリモートプレイヤーが立ち入り禁止となる領域を表します。
SocialDistancingクラスをネットワークプレイヤープレハブに追加してください。
ILocomotionValidatorインターフェースを実装するものです。したがって、CanMoveHeadsetメソッドは、プレイヤーの頭が上記で定義されたForbiddenAreaの上にあるかどうかを、地面に向かってレイキャストを行うことで確認します。自動衝突検出を避けるために、ローカルネットワークリグのSpawned()時にForbiddenAreaは削除されます。
衝突が検出されると、移動が禁止され、禁止エリアを示す視覚的フィードバックが表示されることがあります。視覚的フィードバックを追加するには、ネットワークプレイヤープレハブにSocialDistancingVisualFeedbackクラスを追加します。すると、SocialDistancingはDisplayForbiddenArea()メソッドを呼び出すことができ、一定時間スプライトを表示します。
このメカニズムは、2人のプレイヤーが同時に向かい合って移動する場合、互いに近づくのを防ぐものではないことに注意してください。
デモ
デモシーンはAssets\Photon\FusionAddons\SocialDistancing\Demo\Scenes\ フォルダにあります。
プレイヤーネットワークリグにはForbiddenAreaが含まれています。これは単純なカプセルです。このゲームオブジェクトはForbiddenLocomotionレイヤーに設定されています。また、ネットワークリグにはサークルスプライトレンダラーも配置されています。SocialDistancingVisualFeedbackのおかげで、遠くのプレイヤーが移動またはテレポートを試みた際にサークルが表示され、移動が成功しない理由を理解できるようになっています。
ダウンロード
このアドオン最新バージョンはaddon projectにあります。
サポートされているトポロジ
- shared mode
Changelog
- Version 1.0.2: Namespace modification
- Version 1.0.1: Add demo scene + add namespace
- Version 1.0.0: First release