# SRDの空間内を移動するアプリを実現する方法 - Unreal Engine
:::faq
#初めてSRD開発する方向け #UnrealEngine
:::
Spatial Reaility Display(以下SRD)アプリケーションを開発する際に、制作した空間内を自由に動き回れるような体験を提供したい場合があると思います。 本記事では皆さんが既にお持ちのUnreal EngineプロジェクトをSRDアプリ化し、キーボードでの簡単な移動操作を実現する方法を紹介します。 今回は以下の2つのパターンを用意しているので、該当する方を参照してより魅力的なコンテンツ開発に生かしましょう。
① 視点移動操作を実装するシンプルな方法
② 既にUnrealiEngineの"プレーヤー"の移動操作が実装してあり、そのプレーヤーの移動に追従する形で視点操作を実装する方法
## 視点移動操作を実装するシンプルな方法 Spatial Reality Displayでカメラ視点を自由に動かして表示する方法を説明します。 サンプルアプリとして提供してるUnreal Engine Projectファイルから"P_MoveSRDMgr"を移行し、開発中のUnreal Engineアプリケーションに設定するのが良いでしょう。 具体的な手順は下の通りです。 ### 手順 1. Spatial Reality Display Plugin for Unreal Engine をインストールします。 1. サンプルアプリのUnreal Engine Projectを開きます。 1. サンプルアプリのP_MoveSRDMgrを、すでにあるUnreal Engineアプリケーションに移行(Migrate)します。 1. すでにあるUnreal Engineアプリケーションに、P_MoveSRDMgrを設定します。 1. SRDで表示再生し、キーボードで操作します。 ### 具体例 具体的な例で手順を解説します。 **1. Spatial Reality Display Plugin for Unreal Engine をインストールします。** - [Unreal Engineのセットアップ](/Products/Developer-Spatial-Reality-display/jp/develop/UnrealEngine/Setup.html) ページを参考に、Spatial Reality Displayのセットアップを含め、Spatial Reality Display Plugin for Unreal Engine のインストールを実施してください。 - [最初のアプリを作成する](/Products/Developer-Spatial-Reality-display/jp/develop/UnrealEngine/BuildYourFirstApp.html) ページを参考にし、すでにあるUnreal Engineアプリケーションで、Spatial Reality Display Pluginを有効にしておく必要があります。しかし、SRDisplay Managerアクターをレベルの任意の場所に配置しておく必要はありません。 - すでにあるUnreal Engineアプリケーションを閉じます。 **2. サンプルアプリのUnreal Engine Projectを開きます。** - サンプルアプリのUnreal Engine Projectファイルをダウンロードし開きます。 - サンプルアプリのUnreal Engine Projectファイルについては、[下の説明](#unreal-engineサンプルアプリのunreal-engine-projectファイル)をご確認ください。 **3. サンプルアプリのP_MoveSRDMgrを、すでにあるUnreal Engineアプリケーションに移行(Migrate)します。** - サンプルアプリのUnreal Engine Projectファイルを開き、Content Browserで、P_MoveSRDMgrを見つけます。 - **Content > MoveSRDMgr > Blueprints > P_MoveSRDMgr (Blueprint Class)**
- P_MoveSRDMgrを選択し、移行(Migrate)を選択します。
- アセットレポートが表示されますので、すべて選択されていることを確認して、OKボタンを押します。
- 移行先のコンテンツフォルダー(すでにあるUnreal Engineアプリケーションのプロジェクトファイルの**Contents**フォルダー)に移動し、**フォルダーの選択**ボタンを押します。
**4. すでにあるUnreal Engineアプリケーションに、P_MoveSRDMgrを設定します。** - すでにあるUnreal Engineアプリケーションを開きます。 - Content Browserで、P_MoveSRDMgrを見つけ、ダブルクリックしBlueprintを開きます。 **Content > MoveSRDMgr > Blueprints > P_MoveSRDMgr (Blueprint Class)** - サンプルアプリ側で定義している関数を利用しているためエラーが発生しますので、BP_SRDisplayDebugManagerを削除します。
- コンパイルします。
- また、Content Browserで、BP_SRDisplayDebugManagerを見つけ、BP_SRDisplayDebugManagerを強制削除します。 **Content > Common > SRDisplay > BP_SRDisplayDebugManager (Blueprint Class)**
- P_MoveSRDMgrをレベルの任意の場所に置きます。位置・回転・スケールを調整します。 - **注意1** 古いバージョンのSpatial Reality Display Plugin for Unreal Engineをご使用の場合、BP_FaceTrackErrorPlaneが原因で、BAD Blueprintが出る場合があります。その場合は、BP_SRDisplayDebugManagerと同様に、下の2箇所を削除してください。 - P_MoveSRDMgrのBlueprint内のBP_FaceTrackErrorPlaneを削除します。 - 削除時はコンパイルもしてください。 - Content > Common > FaceTrackErrorPlane > BP_FaceTrackErrorPlaneを強制削除します。 - **注意2** P_MoveSRDMgrは、他のオブジェクトにぶつかると動かなくなるので、他のオブジェクトにぶつからないように置いてください。
**5. SRDで表示再生し、キーボードで操作します。** - VRプレビュー再生を実行します。 - W/A/S/Dおよび矢印キーで、カメラ視点を移動することができます。
## Unreal Engineサンプルアプリとプロジェクトファイル ### Unreal Engineサンプルアプリ Spatial Reality Display対応アプリケーションとしてサンプルアプリを提供しています。 [Samples](/Products/Developer-Spatial-Reality-display/jp/develop/UnrealEngine/Samples.html) ページ内の > こちらからSpatial Reality Displayアプリ開発者のためのサンプルアプリをダウンロードすることができます。 から取得することが可能です。 サンプルアプリの中のMoveSRDMgrサンプルが**カメラ視点移動のサンプル**となります。 ### Unreal EngineサンプルアプリのUnreal Engine Projectファイル サンプルアプリのUnreal Engine Projectも提供しています。 [クイックスタート](/Products/Developer-Spatial-Reality-display/jp/develop/UnrealEngine/quickstart/) ページ内の **サンプルプロジェクトのビルドと実行** の > 1. Sample Projectsをダウンロードしてください。 から取得することが可能です。
## 既にUnrealiEngineの"プレーヤー"の移動操作が実装してあり、そのプレーヤーの移動に追従する形で視点操作を実装する方法 既に開発したUnreal EngineアプリケーションをSpatial Reality Display対応のアプリケーションに変更する時に、カメラ視点の問題が起きる場合があります。 Spatial Reality Display対応のアプリケーションに変更することで、"SRDisplayManager"に視点が変更されるからです。 そのため元のアプリケーションの視点と合うように"SRDisplayManager"を工夫して配置する必要があります。 例えば、プレーヤーの動きに伴ってカメラ視点を動かす必要がある場合、例えば下のような手順で対応することができます。 具体的な例としては、"MoveSRDMgr"サンプルのカメラ視点移動で説明します。 ### 手順 1. プレーヤーのBlueprintにSRDisplayManagerを加えます。 これによりプレーヤーと同じようにSRDisplayManagerが動くようになります。 1. 元のアプリケーションの視点と合うようにSRDisplayManagerの位置・回転・スケールを調整します。 ### 具体例 カメラ視点の移動については、サンプルアプリ内のMoveSRDMgrサンプルのユーザー操作対象であるP_MoveSRDMgrのBlueprintを確認することで理解することができます。 MoveSRDMgrサンプルの場所は、サンプルアプリのUnreal Engine Project起動後、 Content Browserで、Content > MoveSRDMgr のフォルダ内で確認することができます。
P_MoveSRDMgrのBlueprintを表示するには、Content Browser で、
Content > MoveSRDMgr > Blueprints から P_MoveSRDMgr (Blueprint Class) を開きます。
P_MoveSRDMgrのBlueprint Editor左上部のComponentsを確認することで、SRDisplayManagerが、Child Actor ComponentとしてP_MoveSRDMgrに追加されていることが分かります。手順1に相当します。
P_MoveSRDMgrのBlueprint Editor右上部のDetailsを確認することで、SRDisplayManagerの位置・回転・スケール等が調整されていることを確認できます。手順2に相当します。
以上でプレーヤーを操作した際に画面も追従してSRD内で空間が移動することが確認できると思います。
本Tipsにより空間内で移動したり、様々な角度からコンテンツをお客様に魅力的に伝える方法が実現できると思います。 例えば建築物の中を移動して見せたり、メタバースやゲームコンテンツのような空間内の移動表現などが可能になります。 ぜひ参考にしてください。
Spatial Reaility Display(以下SRD)アプリケーションを開発する際に、制作した空間内を自由に動き回れるような体験を提供したい場合があると思います。 本記事では皆さんが既にお持ちのUnreal EngineプロジェクトをSRDアプリ化し、キーボードでの簡単な移動操作を実現する方法を紹介します。 今回は以下の2つのパターンを用意しているので、該当する方を参照してより魅力的なコンテンツ開発に生かしましょう。
① 視点移動操作を実装するシンプルな方法
② 既にUnrealiEngineの"プレーヤー"の移動操作が実装してあり、そのプレーヤーの移動に追従する形で視点操作を実装する方法
## 視点移動操作を実装するシンプルな方法 Spatial Reality Displayでカメラ視点を自由に動かして表示する方法を説明します。 サンプルアプリとして提供してるUnreal Engine Projectファイルから"P_MoveSRDMgr"を移行し、開発中のUnreal Engineアプリケーションに設定するのが良いでしょう。 具体的な手順は下の通りです。 ### 手順 1. Spatial Reality Display Plugin for Unreal Engine をインストールします。 1. サンプルアプリのUnreal Engine Projectを開きます。 1. サンプルアプリのP_MoveSRDMgrを、すでにあるUnreal Engineアプリケーションに移行(Migrate)します。 1. すでにあるUnreal Engineアプリケーションに、P_MoveSRDMgrを設定します。 1. SRDで表示再生し、キーボードで操作します。 ### 具体例 具体的な例で手順を解説します。 **1. Spatial Reality Display Plugin for Unreal Engine をインストールします。** - [Unreal Engineのセットアップ](/Products/Developer-Spatial-Reality-display/jp/develop/UnrealEngine/Setup.html) ページを参考に、Spatial Reality Displayのセットアップを含め、Spatial Reality Display Plugin for Unreal Engine のインストールを実施してください。 - [最初のアプリを作成する](/Products/Developer-Spatial-Reality-display/jp/develop/UnrealEngine/BuildYourFirstApp.html) ページを参考にし、すでにあるUnreal Engineアプリケーションで、Spatial Reality Display Pluginを有効にしておく必要があります。しかし、SRDisplay Managerアクターをレベルの任意の場所に配置しておく必要はありません。 - すでにあるUnreal Engineアプリケーションを閉じます。 **2. サンプルアプリのUnreal Engine Projectを開きます。** - サンプルアプリのUnreal Engine Projectファイルをダウンロードし開きます。 - サンプルアプリのUnreal Engine Projectファイルについては、[下の説明](#unreal-engineサンプルアプリのunreal-engine-projectファイル)をご確認ください。 **3. サンプルアプリのP_MoveSRDMgrを、すでにあるUnreal Engineアプリケーションに移行(Migrate)します。** - サンプルアプリのUnreal Engine Projectファイルを開き、Content Browserで、P_MoveSRDMgrを見つけます。 - **Content > MoveSRDMgr > Blueprints > P_MoveSRDMgr (Blueprint Class)**
- P_MoveSRDMgrを選択し、移行(Migrate)を選択します。
- アセットレポートが表示されますので、すべて選択されていることを確認して、OKボタンを押します。
- 移行先のコンテンツフォルダー(すでにあるUnreal Engineアプリケーションのプロジェクトファイルの**Contents**フォルダー)に移動し、**フォルダーの選択**ボタンを押します。
**4. すでにあるUnreal Engineアプリケーションに、P_MoveSRDMgrを設定します。** - すでにあるUnreal Engineアプリケーションを開きます。 - Content Browserで、P_MoveSRDMgrを見つけ、ダブルクリックしBlueprintを開きます。 **Content > MoveSRDMgr > Blueprints > P_MoveSRDMgr (Blueprint Class)** - サンプルアプリ側で定義している関数を利用しているためエラーが発生しますので、BP_SRDisplayDebugManagerを削除します。
- コンパイルします。
- また、Content Browserで、BP_SRDisplayDebugManagerを見つけ、BP_SRDisplayDebugManagerを強制削除します。 **Content > Common > SRDisplay > BP_SRDisplayDebugManager (Blueprint Class)**
- P_MoveSRDMgrをレベルの任意の場所に置きます。位置・回転・スケールを調整します。 - **注意1** 古いバージョンのSpatial Reality Display Plugin for Unreal Engineをご使用の場合、BP_FaceTrackErrorPlaneが原因で、BAD Blueprintが出る場合があります。その場合は、BP_SRDisplayDebugManagerと同様に、下の2箇所を削除してください。 - P_MoveSRDMgrのBlueprint内のBP_FaceTrackErrorPlaneを削除します。 - 削除時はコンパイルもしてください。 - Content > Common > FaceTrackErrorPlane > BP_FaceTrackErrorPlaneを強制削除します。 - **注意2** P_MoveSRDMgrは、他のオブジェクトにぶつかると動かなくなるので、他のオブジェクトにぶつからないように置いてください。
**5. SRDで表示再生し、キーボードで操作します。** - VRプレビュー再生を実行します。 - W/A/S/Dおよび矢印キーで、カメラ視点を移動することができます。
## Unreal Engineサンプルアプリとプロジェクトファイル ### Unreal Engineサンプルアプリ Spatial Reality Display対応アプリケーションとしてサンプルアプリを提供しています。 [Samples](/Products/Developer-Spatial-Reality-display/jp/develop/UnrealEngine/Samples.html) ページ内の > こちらからSpatial Reality Displayアプリ開発者のためのサンプルアプリをダウンロードすることができます。 から取得することが可能です。 サンプルアプリの中のMoveSRDMgrサンプルが**カメラ視点移動のサンプル**となります。 ### Unreal EngineサンプルアプリのUnreal Engine Projectファイル サンプルアプリのUnreal Engine Projectも提供しています。 [クイックスタート](/Products/Developer-Spatial-Reality-display/jp/develop/UnrealEngine/quickstart/) ページ内の **サンプルプロジェクトのビルドと実行** の > 1. Sample Projectsをダウンロードしてください。 から取得することが可能です。
## 既にUnrealiEngineの"プレーヤー"の移動操作が実装してあり、そのプレーヤーの移動に追従する形で視点操作を実装する方法 既に開発したUnreal EngineアプリケーションをSpatial Reality Display対応のアプリケーションに変更する時に、カメラ視点の問題が起きる場合があります。 Spatial Reality Display対応のアプリケーションに変更することで、"SRDisplayManager"に視点が変更されるからです。 そのため元のアプリケーションの視点と合うように"SRDisplayManager"を工夫して配置する必要があります。 例えば、プレーヤーの動きに伴ってカメラ視点を動かす必要がある場合、例えば下のような手順で対応することができます。 具体的な例としては、"MoveSRDMgr"サンプルのカメラ視点移動で説明します。 ### 手順 1. プレーヤーのBlueprintにSRDisplayManagerを加えます。 これによりプレーヤーと同じようにSRDisplayManagerが動くようになります。 1. 元のアプリケーションの視点と合うようにSRDisplayManagerの位置・回転・スケールを調整します。 ### 具体例 カメラ視点の移動については、サンプルアプリ内のMoveSRDMgrサンプルのユーザー操作対象であるP_MoveSRDMgrのBlueprintを確認することで理解することができます。 MoveSRDMgrサンプルの場所は、サンプルアプリのUnreal Engine Project起動後、 Content Browserで、Content > MoveSRDMgr のフォルダ内で確認することができます。
P_MoveSRDMgrのBlueprintを表示するには、Content Browser で、
Content > MoveSRDMgr > Blueprints から P_MoveSRDMgr (Blueprint Class) を開きます。
P_MoveSRDMgrのBlueprint Editor左上部のComponentsを確認することで、SRDisplayManagerが、Child Actor ComponentとしてP_MoveSRDMgrに追加されていることが分かります。手順1に相当します。
P_MoveSRDMgrのBlueprint Editor右上部のDetailsを確認することで、SRDisplayManagerの位置・回転・スケール等が調整されていることを確認できます。手順2に相当します。
本Tipsにより空間内で移動したり、様々な角度からコンテンツをお客様に魅力的に伝える方法が実現できると思います。 例えば建築物の中を移動して見せたり、メタバースやゲームコンテンツのような空間内の移動表現などが可能になります。 ぜひ参考にしてください。