Back of the flyer

裏が真っ白なチラシがないので、ここに綴る

CollabViewerを快適なVRマルチプレイで楽しもう。Quest2編

本記事はUnreal Engine (UE) その1 Advent Calendar 2022 6日目の記事です。

 

はじめに

2020年、VR Spectator Screen機能についての記事を書きました。

HMD上の映像とは異なる映像をPCモニタに出力する機能です。

 

 

時は2022年。

「これマルチプレイ実装でよくない?」

と教えてもらった私は、VRマルチプレイ実装の旅に出ました...。

 

...すぐ見つかりました。
それがCollab Viewerテンプレートです。

docs.unrealengine.com

Review with multiple simulataneous users

同一の 3D コンテンツの共有環境に複数のユーザーが参加できて、測量、空間に文字を書いたり、Xray表示にしたりと便利な機能が盛りだくさんです。

 

しかも、VR対応しているので、Quest2向けにビルドしたら、プレイ可能です。だだし、快適にプレイするには、ちょいと手を加える必要があります。
今回はそこを紹介します!

 

Androidの環境設定については割愛させていただきます。よしかたさんやmozさんがブログを書いてくださっているので、そちらをご覧ください。

【UE5】OculusQuestが動くまでの設定について - アルゴンUE4/UE5&アプリ開発日記

UE5でのMeta Quest2へのPackaging設定

 

 

 

快適なプレイへの道

そのままパッケージすると何が起こるか。

 

起動しても画面が真っ暗でログインメニューが表示されない

 

理由:カメラの前に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用にプロジェクトを作成してましたが、下記のバグを修正できず記事の締め切り間に合いませんでした

 

UE5の環境下だと、ログインしてSampleLevelをOpenLevelすると上記のバグになります。

しかし、起動時のMapをSampleLevelにした場合は、問題ありません。(もちろんマルチプレイ対応してない)


試しにPCでHostSessionした場合、Quest2側がクライアントとしてJoinできましたが、MotionControllerが反応しないという現象が起きます。


StandaloneVRに関してはUE4が扱いやすいので、後々調べていこうと思います。
それでは。