勉強もかねてUnreal Engine 5(以下、UE5/UE5.2)でVRに触れていきます
書き連ねる目的の半分は備忘録なのであしからず
開発環境
今回は手元にある PICO 4 を使っていじっていきます。
StandaloneではなくSteamVR上で動かします。
PCとケーブルでつなぐのは面倒くさいので Virtual Desktop 経由でいきます。
有線だともしかしたら手順変わるかもしれませんがとりあえずは考慮しません。
詳しい開発環境は以下
HMD | PICO 4 |
HMD-PC接続方法 | Virtual Desktop |
OpenXR Runtime | Steam VR |
Unreal Engine Version | 5.2 |
前提
- Virtual DesktopでPICO 4とPCを接続できている
- Steam VRのインストールが完了している
- UE5.2がインストールされている
UE5とHMDの接続
Virtual Desktopを経由するとPICO 4ってOculusに偽装されるんですかね…?
とりあえず、PICO4でVirtual Desktopを起動してPCに接続します。
お次にSteam VRを起動します。
変なお家に湧けばOKです。
PCの画面には下のようなウィンドウが表示されていると思います。
ここで下の3つのアイコンに色がついていればどれも正常に認識できているということです。
これでUE5を起動すればOKかというとそうではありません。
VR系統の規格等は整備段階であり、VR関係の企業は各々のスタイルで実装していました。(知らんけど
現在はOpenXRが中心となっており、SteamVRやOculus Quest 2 (Meta Quest 2)もOpenXR準拠になっています。(まだ古いのに依存している部分もある…?)
UE5で正常に認識させるにはOpenXRのRuntimeにSteamVRを指定する必要があります。
指定方法はSteamVRの小さいウィンドウを右クリックしてコンテキストメニューを開き、「設定」を選択します。
「SteamVR設定」ウィンドウを開いたら「OpenXR」タブを開き、「STEAMVRをOPENXRランタイムとして設定」ボタンを押します。
下の図のように「現在のOpenXRランタイム」がSteamVRになっていればOKです。
OpenXR Runtimeの指定にはこれ以外にも OpenXR Explorer などを使用して変更することもできます。
ちなみにこちらのツールは後で記載する問題の解決にも役立ちます。
それではUE5を起動します。起動前にHMDは接続して認識している状態にしておいてくださいね。
もし下記画像の状態でUE5のVRテンプレートを開いてもきCrashして起動できません。こうなってしまった場合はHMDをかぶってVirtual DesktopでPCに接続している状態にしてから下記画像の「ヘッドセットをリセット」を押してSteamVRを再起動させてください。
下の画像がクラッシュ画面。ヘッドセット未検出状態やSteamVRを起動していない状態で開くとこうなります。
もし、HMDを接続せずに起動したい場合、先述のOpenXR Explorerを使用してOpenXR RuntimeをWMR(Windows Mixed Reality)にして起動し、Editorが開かれた後にRuntimeをSteamVRに戻します。
この状態では多分HMDを使用したDebugができなくなると思いますが。
まだ、VRテンプレート(UE5のVRのテンプレートワールド)の作成について記載していませんでしたね。
まずはUE5を起動します。するとプロジェクトブラウザが開かれるので左の一覧から「ゲーム」を選択します。
次に「バーチャルリアリティ」を選択し、プロジェクトの場所と名前を決めて「作成」を押します。
下記のような画面が出れば成功です。
ここでCrashする人はHMDがスリープに入ってしまいSteamVRがHMDとコントローラを認識していない状態になっていると思うので、再接続してUE5を起動しなおしてみてください。
起動後、メニューの「編集」→「プラグイン」からプラグインの管理ウィンドウを開いて検索バーに「VR」と入れてみてください。
下3つを見てみると、「Oculus VR (deprecated)」「OpenXR」「SteamVR (deprecated)」とあります。(deprecated) と記載された2つがOpenXRが出てくる前にOculus社とValve社が使っていたものになります(おそらく)。
今はOpenXRだけあればSteamVRではとりあえず問題ないのでこのままの(OpenXRだけが有効化されている)状態でいいのでここでは何もいじりません。
VRTemplateMapウィンドウに戻ります。上のほうの点々を押します。
コンテキストメニューが出てきますが、ここでモードの「VR プレビュー」がグレーアウトしている場合はOpenXR Runtimeが適切に設定できていません。ページをさかのぼり設定しなおしましょう。
「VR プレビュー」が選択できる場合は選択します。するとプレビューが開始してHMDでプレイができるようになっていると思います。
これでUE5でVR開発ができるようになりました!
次回からは緑の▶を押してプレビューできるようになります。
UE5 VR 開発の第1歩、地味に長い道のりです。
自分も最初は訳も分からず、ここに来るまでで3日くらいはかかってしまいました。
とりあえずこれで楽しい苦しい開発ライフが始まります!
では今回はこの辺で