はじめに
リモートワークで複数の会議の立ち上げが面倒だったり、オープンチャンネルで呼びかけても反応がなく、相手の状態がわからないことってありますよね?
VR内の同一空間で、実際の物理空間みたいに部屋を移動して、会議ができたら便利だなと思い、しかも完全防音で内側から鍵をかけられる会議室を作ろうかと。学会とかセッションごとに部屋を分けるという使い方もできますよね。クラブもいいなー。
いろいろ検索していると完全防音、内側から鍵がかけられる仕様のラブホテルを見つけましたw これ欲しいw
VRChat 9日目(ラブホテル女子会)
Hotel Beautiful Night by MinaFrancesca
完全防音するためには、ワールド内で距離をとる必要があったので、今回テレポート機能を作りました。
#VRChat
— Niko_14 (@himazin917) March 5, 2019
ワールド内でピンポイント遮音するメモ(知ってる人は知ってるはず)
①Reference cameraにcameraを設定
②設定したcameraのclipping PlanesのFarの距離を適当に設定
③別室の端から遮音したい部屋を②で設定した距離より遠くに置く
少なくとも2号店、3号店、4号店の遮音は全てこの方式 pic.twitter.com/Gla3OQsyra
開発環境
- Windows10 PC
- Unity 2018.4.20f1
- VRCSDK3(VRCSDK3-UDON-2020.04.25.13.00.unitypackage)
- Steam
- VRChat
導入
ドアにBox ColliderとUdon BehaviorをAdd Componentします。UdonBehaviorの中身は下の図を参照。ドアに近づいてクリックすると、CustomEventを発火させる仕組み。
ドアに空の子オブジェクト(Teleport)を作成し、Udon BehaviorをAdd Componentします。 UdonBehaviorの中身は下の図を参照。CustomEventが発火したら、TeleportToを用いて、teleportPosの位置にプレイヤーをテレポートさせます。CustomEventの中身にteleportと入力します。
ドアのInspectorビューからAllow Ownership Transfer on Collisionにチェックを入れ、eventNameをteleport、targetにTeleportをアタッチします。
Build&Testで結果を見てみましょう。
ドアにちゃんとつけた。ナビゲーションのUseをInとかにしたいんだけどどうするんだ。 #VRChat #MadeWithUdon #Unity pic.twitter.com/tLT7HnJN3s
— 藤本賢志(ガチ本)@pixivFANBOXはじめました (@sotongshi) May 5, 2020
まとめ
テレポートできました。
完全防音になったかどうかはこれから実験します。全体と各部屋わけて音声再生できるのかな?とか。あとは部屋から脱出して空飛べる人は各部屋に近づけるし、会話が聞こえるんじゃないかな?とかw (Collider解除できちゃう人いるんかな。)
あとは内側から鍵をかけて完成。
コロナの時代の新しい日常のために、VRChatでリモートワークしましょう~!