Unreal Engine 4 (UE4) その3 Advent Calendar 2020の15日目です。
今回もいつも通りUE4でのXRネタです。
最新のUE4.26.0でHoloLensの各種機能は、ストリーミングでどこまで動作するかまとめをします。
背景
先日UE4.26がリリースされ、MR関連も色々と更新がありました。
HoloLens関連でのアップグレード要素はここにまとめられています。
また、UE4ではHoloLensのHolographicRemotingによるストリーミングに結構力も入れられているようで、
EpicGames公式の大型サンプル、MissionARもストリーミング動作前提だったり、UE4.25.1からはパッケージ化されたPC向けアプリ(exeファイル)からのストリーミングにも対応していたりします。
(MissionAR解説ドキュメント)
そこで、UE4.26.0で更新された各種HoloLensの機能で、ストリーミングではどこまで動作させられるかを確認していきたいと思います。
(UE4.26でHoloLensのこの機能を使うにはどうしたら良い等は基本的にMSのドキュメントに全て載っているので。)
UE4でのHoloLensのストリーミング手順はこちら。
(ストリーミングで動作しないものについては、こちらのドキュメントに記載されているようですが、機能面目線からどうなのかは判りにくいかなというのもありましたので。)
※AzureSpatialAnchorsは以前スライドでも記載しましたが、手元でうまくいっていないので、それ以外の各種機能について確認しています。(一部うまくいっていませんが、UE4.25.3ではHoloLens 2のストリーミングで動いていそうでした。)
結論
手元で動作させたところ、以下の状態のようでした。
機能 | ストリーミング【HoloLens 2】 | その他補足等 | |
---|---|---|---|
アイトラッキング | ○ | ||
ハンドトラッキング | ○ | ||
ジェスチャ入力 | ○ | ||
空間マッピング | ○ | ||
空間オーディオ | ○ | ||
ローカルアンカー | ○ | PC向けの設定有 | |
音声入力 | ○ | ||
MixedRealityCapture | × | ||
QRコード読み取り | ○ | ||
UMGによるシステムキーボード | △ | UMGは問題ないが、仮想キーボードはストリーミングではでない | |
レイトレーシング | × | レイトレーシング有効時はストリーミングの接続が失敗する |
※あとでHoloLens 1(初代のHoloLensでの情報も追記します。)
WinRTの機能呼び出しは呼び出し先機能にもよるかもなので、今回は試していません。
ハンドトラッキング
空間マッピング
その他補足等
あとで検証に使用した各機能を単体でチェックできる簡単なサンプルプロジェクトをあげますので、
AzureSpatialAnchorsとWinRT機能呼び出し以外のUE4での各種機能を簡単にテストしたい時などに使ってもらえたらと思います。
ぷち情報として、ストリーミングでHoloLensを試す場合はHoloLens向けのパッケージ化を行わないため、エンジンのインストールオプションで対応プラットフォームのHoloLens 2にチェックをつけていなくても動作させられます。
さいごに
UE4ではHoloLensはパッケージストリーミングで動作が確認できることが多く、HoloLens 2ではPC向けにパッケージ化したexeファイルからもストリーミング接続ができるので、
UE4ストリーミングとHoloLens 2を組み合わせたものを実運用するというのが現実的に可能そうに思います。
そうすることで、HoloLens上のみの限られたマシンリソースではなく、PCというよりパワーのあるマシンリソースを使用できるため、より品質の高い体験ができたり、見た目に拘ったものの表示ができたりします。
開発においても、わざわざパッケージ化してインストールする時間を短縮して実機で確認もできますし、
デバッグ等も実機のみで行うより、PCを経由した方が行いやすいことも多いかなと思います。
なので、UE4でHoloLensの開発を行う際は、HolographicRemotingを使用したストリーミングでの運用の検討や、開発フローでの積極的なストリーミングの利用を行うと良いと思います。