今回はサンプルVRプロジェクトを使用して、Windows用のパッケージ化を行います。
前回は、Meta Quest のセットアップと、Unreal Engine 5がサンプルとして提供しているVRプロジェクトをプレイできるようにするための手順を説明しました。MetaQuestLinkの設定方法など触れています。

Windows用のパッケージ化を行い、.exeファイルを作成します。
そして、PCとMeta Quest本体をUSB-Cケーブルでつないだ状態で、Meta Quest Link(ソフト)を介して、UnrealEngine5を起動せず.exeファイルからの起動を行います。

拙作【Depaeture / Arrival】でのVR展示も、この方法でパッケージ化を行いました。
目標
- UnrealEngineのVRコンテンツをWindows用にパッケージ化し.exeファイルを作成する
- Meta QuestとPCをUSB-Cケーブルで接続する
- PC上で.exeファイルを起動する
- Meta Questを使用してUnreal Engine 5を起動せずサンプルVRプロジェクトをプレイする
※今回はUnrealEngine5によるVR開発の最初の一歩としてUnrealEngineのVRコンテンツをWindows用にパッケージ化することに集中します。今後VRの作品を配布するうえで必要となるAndroid用のパッケージ化に必要な手順は次のステップ以降で解説します。


Visual Studio2022のインストール
Windows環境でパッケージ化を行うために必要なVisual Studioのインストールを行います。
https://visualstudio.microsoft.com/ja/downloads
Visual Studioは無料の「コミュニティ」を使用します。
ダウンロードページから左側の、コミュニティ「無料ダウンロード」をクリックして、インストーラーをダウンロードします。


VisualStudioSetupをダブルクリックします。


Microsoft プライバシー ステートメントを確認してください。
マイクロソフト ソフトウェア ライセンス条項世よく読み同意できる場合続行をクリックします。


起動後はウィンドウの指示に従ってクリックしていけばOKです。


更新(U)をクリックします。
C++ ツールを追加
追加で下記のツールをインストールします。


上記画面になったら 変更(M)をクリックします。


- C++ プロファイリング ツール
- C++ AddressSanitizer
- Windows 10 SDK (10.0.18362 以降)
- Unreal Engine インストーラ
変更をクリックしてインストールを行います。


インストール完了後再起動が促されます。
UnrealEngene5 プロジェクトの確認
VRサンプルプロジェクトを開く
前回と同様の、VRテンプレートを開きます。


VRテンプレートの起動直後の状態です。
レベルの保存
パッケージ化前にレベルの保存を行い、レベルの名前を確認します。


ファイル > 名前を付けてレベルを保存
をクリックします。


レベルの名前を指定します。
今回はデフォルトの「VRTemplateMap」という名前で保存します。


保存終了後、ライティングに不具合が出た際は、
ビルド > 全レベルをビルド あるいは ライティングのみをビルド
を行います。
プロジェクト設定の確認
パッケージ化の前に確認作業を行います。


編集 > プロジェクト設定
を開きます。


左側の▶マップモードタブをクリックします。
デフォルトのゲームモード:VRGameMode であることを確認します。
ゲームのデフォルトマップ:先ほど保存したレベルの名前を指定します。
「VRTemplateMap」という名前で保存した場合は「VRTemplateMap」が指定されていることを確認します。
UnrealEngene5 プロジェクトをパッケージ化


プラットフォーム▽ Windows ▷ プロジェクトをパッケージ化
を選択します。
バイナリ コンフィギュレーション
デバッグ機能の有無や最適化レベル、実行速度に影響します。開発段階に応じて適切なものを選びます。
DebugGame
- 完全なデバッグ情報が含まれています。
- 実行速度(パフォーマンス)は低いです。
- バグや問題を特定するために使用します。
開発(Development)
- デバッグ用のビルドで、パフォーマンスを犠牲にしてデバッグ情報が含まれます。
- 最適化は不完全で、実行速度は遅めです。
- バグを見つけたりテストしたりする段階で使います。
シッピング(Shipping)
- 完成した製品を配布するためのビルドです。
- 最適化が最大限に行われ、デバッグ情報は含まれません。
- バイナリサイズが小さく、ゲームのパフォーマンスが最も高くなります。


データの保存場所を指定した後、フォルダーを選択をクリックします。


パッケージ化が始まります。最初のパッケージ化には数十分の時間を要しますので、しばらく待ちます。


出力ログにて、パッケージ化の状況が確認できます。
EpicGames側が提供しているVRテンプレートということで特に問題なく進行します。


無事パッケージ化が終了しました。


パッケージ化で指定したフォルダ内に「Windows」というフォルダが新規作成されます。
プロジェクト名と同じ.exeファイルが作成されています。
Meta Questの起動
Meta Questの起動
Meta Quest とPCとUSB-Cケーブルで接続します。Meta Quest の電源を入れます。
VR画面上でサインインします。


サインイン後のメニューバーから
赤丸の箇所を選択し「クイック設定」ウィンドウを開きます。


Quest Linkをクリックします。
プレイ確認
VR空間の背景がグリッドに変わりQuest Linkの画面になります。
WindowsPC上では、Meta Quest Linkが起動します。
既に起動履歴のあるアプリの場合


以前に起動されたWindowsアプリがアイコン化(UnrealEngineのマークです)されているので、選択します。
先ほど新規で作成した.exeファイルを起動する場合
上記の状況で一旦VRゴーグルを外します。


WindowsPC側からWindowsフォルダ内の.exeファイルをダブルクリックして起動します。




UnrealEngene5を起動していない状態でVRテンプレートのプレイが可能になります。
Meta Questとコントローラーで動作を確認します。
終了方法


プレイ終了時はVRコントローラー側のRealLifeを選択します。
ボタンを押して、メニューから強制終了方法
パッケージ化したアプリは、UnrealEngine5での再生時と異なりEscキーが効きません。この場合、タスクマネージャーからアプリを強制終了します。
Ctrl +Alt + Delete
でタスクマネージャーを呼び出します。


UnrealGame を選択します。
「タスクの終了」をクリックします。
まとめ
今回はサンプルVRプロジェクトを使用して、Windows用のパッケージ化を行いました。
パッケージ化を行うことで、UnrealEngine5を起動せず.exeファイルからの起動が可能になります。
また、バイナリ コンフィギュレーションで「シッピング」を選択すると、最適化が行われるので、動作も軽くなります。
パッケージ化はVRコンテンツに限らず、通常のゲームでも最終的に行う作業になるので、上記手順を覚えておいてください。
次回以降は、今後VRの作品を配布するうえで必要となるAndroid用のパッケージ化に必要な手順について触れていきます。

