安全なイベントワールド設計
はじめに
この記事はCluster Creator Advent Calendar 2021の12日目の記事です。
clusterのイベントではコライダーにPerformerOnly (Layer22)を設定することでスタッフ/ゲストのみ入れるスタッフエリアをつくれます。しかし、これだけでは実は問題があります。
PCVR環境ではとある方法でスタッフエリアに侵入できてしまいます。また、VR/非VR関係なく3m以内ならスタッフエリア内のアイテム・ギミックへのインタラクトが可能です。
今回はこれらの問題への対策方法について解説したいと思います。
スタッフエリアに侵入されないためには
PlayerEnterWarpPortalを使う
PerformerOnlyレイヤーを設定したWarpPortalをスタッフコライダーに重ねて設置します。侵入したユーザーをリスポーンさせることができます。こちらの白百合めしべさんの記事でも紹介されている方法です。
スタッフエリアを会場の上下に置かない
WarpPortalを置いてもコライダーの上下から入るとワープしないので、イベントワールドの上下にスタッフエリアを置かないようにしましょう。あるいは上下にもスタッフコライダーを設置しましょう。
アイテム・ギミックへのインタラクトの防止
見えないインタラクトアイテムで囲む
これが一番確実です。コライダーのみのインタラクトアイテムを用意して囲みます。目に見えないインタラクトアイテムで遮ることでインタラクトできなくします。
MeshFilter/MeshRendererのないオブジェクトにすることで輪郭線も見えないインタラクトアイテムにします。
VRだとUIが遮られるので必要な部分にのみ設置するようにしましょう。アイテムが埋まるとと取れなくなるのでアイテムリセットギミックを用意するかコライダーの厚みを調整する必要があります。
観客エリアから3m以上離す
3m離れるとインタラクトできなくなります。ただし、3人称視点にしたり、VRで手を伸ばすと位置によっては触れることができる場合があるので注意しましょう。会場の構造によっては3m以上離すのは難しいこともあるのでインタラクトアイテムで囲うのが確実です。
コライダーの設置例
LiveHouse:Clastのイベントコライダーの設置例です。抜けがないように前後左右を囲むように設置しています。見えないインタラクトアイテムも設置しています。
スタッフエリアの外壁
上下はコライダーを突き抜けてしまうので上からスタッフエリアを見せたくない場合は外側の壁(天井/床)はあった方が良いです。
ダウンロード
というわけでこれまで説明した対策を入れたコライダーを配布します。
コライダーサンプル
見えないインタラクトアイテムとワープ付きのスタッフコライダーです。
サンプルワールド
こちらはイベント用コライダーを置いたサンプルワールドです。この記事で説明したいろんなパターンのコライダーがおいてあります。
最終手段
公式の機能としてイベントページから使えるユーザーの追放機能を利用する方法もあります。ただしユーザーIDがわからないと使えないという問題があるので注意です。
イベント会場のテスト
限定イベントなどを利用して少なくとも一度は会場のテストしておいた方が良いです。一般参加者のアカウントを用意してコライダーが有効なこと、アイテムに触れないことは最低限チェックしておきましょう。
(ギミックについてもワールドとは挙動が変わることがよくあるので事前にテストしておいた方が良いです。)
最後に
イベント会場を作るにあたってコライダーに関してまとまった記事がなかったので今回書くことにしました。実際のイベントでも思わぬ所から侵入されたりすることがあったのでその辺りの知見も入ってます。
明日はでんこさんです。非公式アドカレとまさかの同じ並び!あの誕生日イベントの振り返りということでどんな記事になるか楽しみですね。