最終更新日
#初めて空間再現ディスプレイ開発する方向け #UnrealEngine

Spatial Reaility Display(以下空間再現ディスプレイ)アプリケーションを開発する際に、制作した空間内を自由に動き回れるような体験を提供したい場合があると思います。本記事では皆さんが既にお持ちのUnreal Engineプロジェクトを空間再現ディスプレイアプリ化し、キーボードでの簡単な移動操作を実現する方法を紹介します。
今回は以下の2つのパターンを用意しているので、該当する方を参照してより魅力的なコンテンツ開発に生かしましょう。
① 視点移動操作を実装するシンプルな方法
② 既にUnrealiEngineの"プレーヤー"の移動操作が実装してあり、そのプレーヤーの移動に追従する形で視点操作を実装する方法
視点移動操作を実装するシンプルな方法
Spatial Reality Displayでカメラ視点を自由に動かして表示する方法を説明します。サンプルアプリとして提供してるUnreal Engine Projectファイルから"P_Move空間再現ディスプレイMgr"を移行し、開発中のUnreal Engineアプリケーションに設定するのが良いでしょう。具体的な手順は下の通りです。
Procedure
- Spatial Reality Display Plugin for Unreal Engine をインストールします。
- サンプルアプリのUnreal Engine Projectを開きます。
- サンプルアプリのP_Move空間再現ディスプレイMgrを、すでにあるUnreal Engineアプリケーションに移行(Migrate)します。
- すでにあるUnreal Engineアプリケーションに、P_Move空間再現ディスプレイMgrを設定します。
- 空間再現ディスプレイで表示再生し、キーボードで操作します。
具体例
具体的な例で手順を解説します。
1. Spatial Reality Display Plugin for Unreal Engine をインストールします。
- Unreal Engineのセットアップ ページを参考に、Spatial Reality Displayのセットアップを含め、Spatial Reality Display Plugin for Unreal Engine のインストールを実施してください。
- 最初のアプリを作成する ページを参考にし、すでにあるUnreal Engineアプリケーションで、Spatial Reality Display Pluginを有効にしておく必要があります。しかし、SRDisplay Managerアクターをレベルの任意の場所に配置しておく必要はありません。
- すでにあるUnreal Engineアプリケーションを閉じます。
2. サンプルアプリのUnreal Engine Projectを開きます。
- サンプルアプリのUnreal Engine Projectファイルをダウンロードし開きます。
- サンプルアプリのUnreal Engine Projectファイルについては、下の説明をご確認ください。
3. サンプルアプリのP_Move空間再現ディスプレイMgrを、すでにあるUnreal Engineアプリケーションに移行(Migrate)します。
- サンプルアプリのUnreal Engine Projectファイルを開き、Content Browserで、P_Move空間再現ディスプレイMgrを見つけます。
- Content > Move空間再現ディスプレイMgr > Blueprints > P_Move空間再現ディスプレイMgr (Blueprint Class)

- P_Move空間再現ディスプレイMgrを選択し、移行(Migrate)を選択します。

- アセットレポートが表示されますので、すべて選択されていることを確認して、OKボタンを押します。

- 移行先のコンテンツフォルダー(すでにあるUnreal EngineアプリケーションのプロジェクトファイルのContentsフォルダー)に移動し、フォルダーの選択ボタンを押します。

4. すでにあるUnreal Engineアプリケーションに、P_Move空間再現ディスプレイMgrを設定します。
- すでにあるUnreal Engineアプリケーションを開きます。
- Content Browserで、P_Move空間再現ディスプレイMgrを見つけ、ダブルクリックしBlueprintを開きます。 Content > Move空間再現ディスプレイMgr > Blueprints > P_Move空間再現ディスプレイMgr (Blueprint Class)
- サンプルアプリ側で定義している関数を利用しているためエラーが発生しますので、BP_SRDisplayDebugManagerを削除します。

- コンパイルします。

- また、Content Browserで、BP_SRDisplayDebugManagerを見つけ、BP_SRDisplayDebugManagerを強制削除します。 Content > Common > SRDisplay > BP_SRDisplayDebugManager (Blueprint Class)


- P_Move空間再現ディスプレイMgrをレベルの任意の場所に置きます。位置・回転・スケールを調整します。
- 注意1 古いバージョンのSpatial Reality Display Plugin for Unreal Engineをご使用の場合、BP_FaceTrackErrorPlaneが原因で、BAD Blueprintが出る場合があります。その場合は、BP_SRDisplayDebugManagerと同様に、下の2箇所を削除してください。
- P_Move空間再現ディスプレイMgrのBlueprint内のBP_FaceTrackErrorPlaneを削除します。
- 削除時はコンパイルもしてください。
- Content > Common > FaceTrackErrorPlane > BP_FaceTrackErrorPlaneを強制削除します。
- P_Move空間再現ディスプレイMgrのBlueprint内のBP_FaceTrackErrorPlaneを削除します。
- 注意2 P_Move空間再現ディスプレイMgrは、他のオブジェクトにぶつかると動かなくなるので、他のオブジェクトにぶつからないように置いてください。
- 注意1 古いバージョンのSpatial Reality Display Plugin for Unreal Engineをご使用の場合、BP_FaceTrackErrorPlaneが原因で、BAD Blueprintが出る場合があります。その場合は、BP_SRDisplayDebugManagerと同様に、下の2箇所を削除してください。

5. 空間再現ディスプレイで表示再生し、キーボードで操作します。
-
VRプレビュー再生を実行します。
-
W/A/S/Dおよび矢印キーで、カメラ視点を移動することができます。
Unreal Engineサンプルアプリとプロジェクトファイル
Unreal Engineサンプルアプリ
Spatial Reality Display対応アプリケーションとしてサンプルアプリを提供しています。
Samples ページ内の
こちらからSpatial Reality Displayアプリ開発者のためのサンプルアプリをダウンロードすることができます。
から取得することが可能です。
サンプルアプリの中のMove空間再現ディスプレイMgrサンプルがカメラ視点移動のサンプルとなります。
Unreal EngineサンプルアプリのUnreal Engine Projectファイル
サンプルアプリのUnreal Engine Projectも提供しています。
クイックスタート ページ内の サンプルプロジェクトのビルドと実行 の
- Sample Projectsをダウンロードしてください。
から取得することが可能です。
既にUnrealiEngineの"プレーヤー"の移動操作が実装してあり、そのプレーヤーの移動に追従する形で視点操作を実装する方法
既に開発したUnreal EngineアプリケーションをSpatial Reality Display対応のアプリケーションに変更する時に、カメラ視点の問題が起きる場合があります。 Spatial Reality Display対応のアプリケーションに変更することで、"SRDisplayManager"に視点が変更されるからです。そのため元のアプリケーションの視点と合うように"SRDisplayManager"を工夫して配置する必要があります。
例えば、プレーヤーの動きに伴ってカメラ視点を動かす必要がある場合、例えば下のような手順で対応することができます。
具体的な例としては、"Move空間再現ディスプレイMgr"サンプルのカメラ視点移動で説明します。
手順
- プレーヤーのBlueprintにSRDisplayManagerを加えます。これによりプレーヤーと同じようにSRDisplayManagerが動くようになります。
- 元のアプリケーションの視点と合うようにSRDisplayManagerの位置・回転・スケールを調整します。
具体例
カメラ視点の移動については、サンプルアプリ内のMove空間再現ディスプレイMgrサンプルのユーザー操作対象であるP_Move空間再現ディスプレイMgrのBlueprintを確認することで理解することができます。
Move空間再現ディスプレイMgrサンプルの場所は、サンプルアプリのUnreal Engine Project起動後、 Content Browserで、Content > Move空間再現ディスプレイMgr のフォルダ内で確認することができます。

P_Move空間再現ディスプレイMgrのBlueprintを表示するには、Content Browser で、

Content > Move空間再現ディスプレイMgr > Blueprints から P_Move空間再現ディスプレイMgr (Blueprint Class) を開きます。

P_Move空間再現ディスプレイMgrのBlueprint Editor左上部のComponentsを確認することで、SRDisplayManagerが、Child Actor ComponentとしてP_Move空間再現ディスプレイMgrに追加されていることが分かります。手順1に相当します。

P_Move空間再現ディスプレイMgrのBlueprint Editor右上部のDetailsを確認することで、SRDisplayManagerの位置・回転・スケール等が調整されていることを確認できます。手順2に相当します。

以上でプレーヤーを操作した際に画面も追従してSRD内で空間が移動することが確認できると思います。
本Tipsにより空間内で移動したり、様々な角度からコンテンツをお客様に魅力的に伝える方法が実現できると思います。例えば建築物の中を移動して見せたり、メタバースやゲームコンテンツのような空間内の移動表現などが可能になります。ぜひ参考にしてください。