Unreal Engine 5 (UE5) を使用して、Windows環境でヘッドマウントディスプレイ(HMD)対応のアプリケーションを作成し、パッケージ化する方法について説明します。パッケージ化すると他のWindowsマシンで実行可能になります。システムやゲームとして配布することができます。VR設定を適用することで、HMDを使った体験が可能になります。

本記事で紹介するのは、低レベルですがWindows環境でパッケージ化されたプロジェクトをHMDで見る方法です。いわゆるPCVRです。イベントやちょっとしたプロジェクトをパソコンで見せたい場合に便利です。PCVRは動作にパソコンが必要になりまして手軽ではなりませんが、スタンドアローン動作より簡単にパワフルに動くので簡単です。

またもっとも簡単なUnreal Engine 5でWindows向けにHMD対応のVRアプリケーションを快適に動作させるための設定を最適化する方法も紹介します。

 

Windows環境でパッケージ化するためには、Visual Studioの開発環境が必要になります。Visual Studioのインストールやセットアップに関しては以下サイトがとても分かりやすいです。今となってはVisual Studio2019より、Visual Studio 2022をインストールする方がよいでしょう。

https://ue5study.com/how/unrealengine-packaging-visualstudio-settings/

合わせて公式もチェックしましょう。
https://dev.epicgames.com/documentation/ja-jp/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine

 

まずはVisual Studio 2022をインストール

詳しくは先のサイト参照ですが、要は以下のチェック項目でVisual Studio 2022をインストールすればOKです。

 

プロジェクト作成とVRセットアップ

まあ適当にUE5のプロジェクトを作ります。映画→ブランクで作りました。

Art Gallery Museumを使います。

説明は省略しますが、取り込んだアセットをMainコンテンツに上書きします。Art Gallery Museumのデモから起動するようにしました。

プロジェクトのマップ&モードにて、Mainをスタートマップとデフォルトマップに設定します。

さてVRへの対応を準備します。ワンクリックでセットアップできます。コンテンツ追加をクリックして「機能またはコンテンツパックを追加」を選択します。

バーチャルリアリティをプロジェクトに追加します。

VRに必要なプラグインが自動で入ります。簡単ですね。隠れていますが右下にOKボタンがありますので、それらを押してください。UE5の環境準備完了です。

 

Meta Quest3を接続

パッケージ化の前に動作テストをします。まずmeta Quest3を接続します。Windows PCに有線接続(Oculus link)します。無線のOculus Airなどは、動作がカクカクしますので有線が推奨です。Oculus linkの接続に関しては、この記事では細かく説明しません。適宜検索してください。

Oculus linkの接続ができていれば、プラットフォームにVRプレビューが登場します。このVRプレビューの動作は、エンジンの拡張機能設定で調整可能です。

エンジンの拡張機能設定を変更して、VRプレビューを試してみてください。いろいろ試してみると、グローバルイルミネーションの負荷が一番大きく、ここを中以下にするとカクカクが解消されて、すんなり動きました。グローバルイルミネーションは、Lumenが大きく関連しています。中以下はLumenをオフにする設定です。

エンジンの拡張機能設定は、あくまでもプレビュー用の設定です。パッケージ化した設定とは別です。そのため、この設定で動作が快適になってもパッケージ化したあとはカクカクして上手く動作しないということもあります。

 

HMDが動作するようにブループリントを作成

次はパッケージ化したあとにHMDが動作するようにブループリントを作ります。初期設定のままでは、VRプレビューは動作してもパッケージ化で動作させた場合は、VR機能が起動しません。

レベルブループリントを開きます。

Event BeginPlayにEnable HMDを繋げます。Enableにチェックを忘れないでください。これでパッケージ化したプロジェクトが実行されたときにHMDが起動するようになります。ゲームを停止するために何かキーをQuit Gameに割り当てると便利です。以下参考に設定してコンパイルして保存してください。

プラットフォームからWindowsにて、プロジェクトをパッケージ化してください。これでWindows環境で配布用の動作ファイルができます。

exeを実行することで、HMDで見れるUE5が書き出されます。ゲームパットを接続すれば、ゲームパットで移動もできます。もしくは本記事設定と同じであれば、WASDで移動できるはずです。QEで上昇加工なども。

実行してHMDによる動作を確認してください。結構カクカクするので、バランスの調整が必要です。軽量な動作をするための設定はいろいろとあります。細かく調整したい場合は、下記リファレンスなど参照ください。ただほとんど、動作に効果があるのか無いのか分からないでしょう。動かない場合に劇的にすぐ改善できる項目は見つからないでしょう。

・XR パフォーマンス機能

https://dev.epicgames.com/documentation/ja-jp/unreal-engine/xr-performance-features-in-unreal-engine

・XR ベスト プラクティス

https://dev.epicgames.com/documentation/ja-jp/unreal-engine/xr-best-practices-in-unreal-engine

・Oculus 向けの開発

https://dev.epicgames.com/documentation/ja-jp/unreal-engine/developing-for-oculus-in-unreal-engine

プロジェクト設定のレンダリングのVRなどのオプションも効果があったり、無かったり、上手く動かなかったりします。今一歩、効果が明確にわかりません。

 

簡単にできる快適な動作設定

プロジェクトの負荷によっては、細かい設定で解決できることも多いでしょう。いろいろ設定を変えても、あまり良い結果になりませんでした。よりよい方法があるのかもしれませんが、もっとも簡単に効果がある方法を紹介します。

まずグローバルイルミネーションのLumenの影響が大きいので、Lumenの設定を切ります。プロジェクト設定→レンダリング→グローバルイルミネーションのダイナミックと反射メソッドをLumenからnoneに変更します。

これでプロジェクトをパッケージ化してみて動作を試してみます。Lumenはリアルタイムでリアルな照明を表現する機能です。なのでLumenを切ると、古いCGみたいな絵になります。

このようなリアルな感じから

このような寂しい感じになります。

このような表現でも良い場合は、Lumenを切ることで快適な動作になります。どうしてもLumenを使いたい場合は、次の方法です。Lumenの設定を元に戻します。

meta quest3側に解像度を下げます。meta Quest linkアプリを開きます。デバイス設定から使っているQuest3を選択します。

グラフィックス設定を選択します。

グラフィックスのレンダリング解像度は初期設定では1.0になっています。

これを最小まで下げてみましょう。これで動作を試して、快適に感じるレベルまで上げてゆきます。解像度を下げることでLumenがONでも快適に動作する可能性があります。