ソーシャルディスタンス
ソーシャルディスタンス
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