CollabViewerを快適なVRマルチプレイで楽しもう。Quest2編
本記事はUnreal Engine (UE) その1 Advent Calendar 2022 6日目の記事です。
はじめに
2020年、VR Spectator Screen機能についての記事を書きました。
HMD上の映像とは異なる映像をPCモニタに出力する機能です。
時は2022年。
「これマルチプレイ実装でよくない?」
と教えてもらった私は、VRのマルチプレイ実装の旅に出ました...。
...すぐ見つかりました。
それがCollab Viewerテンプレートです。
同一の 3D コンテンツの共有環境に複数のユーザーが参加できて、測量、空間に文字を書いたり、Xray表示にしたりと便利な機能が盛りだくさんです。
しかも、VR対応しているので、Quest2向けにビルドしたら、プレイ可能です。だだし、快適にプレイするには、ちょいと手を加える必要があります。
今回はそこを紹介します!
※Androidの環境設定については割愛させていただきます。よしかたさんやmozさんがブログを書いてくださっているので、そちらをご覧ください。
【UE5】OculusQuestが動くまでの設定について - アルゴンUE4/UE5&アプリ開発日記
快適なプレイへの道
そのままパッケージすると何が起こるか。
起動しても画面が真っ暗でログインメニューが表示されない
理由:カメラの前にWidgetが表示されているから。後ろに移動するとWidgetが見えます。
対策:BP_LoginMenuPawnで、Widget位置を調整する。
このノードを外して、Viewportで調整。
めっちゃカクカクする
対策:Quest2向けに設定しよう。
MobileHDRを無効
モバイルHDRは、現在(2022年5月時点)Questではサポートされていません。HDRを無効にすると、1ピクセルあたりの処理データが減少するため、GPUの負荷が軽くなります。
MobileMultiVewを有効
左右一緒に処理することで、より効率的なレンダリングが可能になります。
FFRDynamicを有効
GPUの使用率に応じて、固定中心窩レンダリングを自動的に調整します。
詳細はこちら→Oculus Quest: Fixed Foveated Rendering | Oculus Developers
この三つを行うことで、かなりサクサクになりますよ!
情報源:Showdown on Quest Part 2: How We Optimized the PC VR demo for Meta Quest 2
お詫び
私はUE4.26の環境で実装しております。もともとUE5用にプロジェクトを作成してましたが、下記のバグを修正できず記事の締め切り間に合いませんでした。
誰でも試せるQuest2で、CollabViewerの設定記事を書いていた。
— TARK🥷 (@LideTark) 2022年12月3日
4.26では問題ないが、UE5で実行したらプッチ神父の能力みたいな世界になった。なんなのこれ。#UE5 pic.twitter.com/oAyKOEwZcm
UE5の環境下だと、ログインしてSampleLevelをOpenLevelすると上記のバグになります。
しかし、起動時のMapをSampleLevelにした場合は、問題ありません。(もちろんマルチプレイ対応してない)
試しにPCでHostSessionした場合、Quest2側がクライアントとしてJoinできましたが、MotionControllerが反応しないという現象が起きます。
StandaloneVRに関してはUE4が扱いやすいので、後々調べていこうと思います。
それでは。