検出した顔の位置を取得してみよう
このページでは、Unreal EngineのブループリントでSpatial Reality Displayが検出している顔の位置を取得する方法を説明します。
こちらのサンプルアプリから試すこともできます。
前提条件
- すでにSetup Spatial Reality DisplayとSetup Spatial Reality Display Settingsを完了していること。
- The Epic Games LauncherとUnreal Engineがインストールされていること。
サンプルアプリのLookAtのようなコンテンツを作成してみよう
-
こちらを参考にSpatial Reality Display TemplateからUnreal Engineのプロジェクトを新規作成します。
-
新規ブループリントを追加します。親クラスにはActorを選択します。
-
2 で作成したブループリントのビューポートを開き、円・円柱を配置し、キャラクターを作成します。
-
イベントグラフに移動し、以下のようにノードを追加しグラフを作成します。
-
作成したブループリントをレベル上に配置し、大きさ・位置・向きを調整します。
-
VR Previewでプロジェクトを実行するとあなたの顔の位置に合わせて、キャラクターが顔を向けます。
※キャラクターが顔の方向に向かない場合
上で説明したような方法ではなく、すでにインポートしているメッシュを利用した場合、キャラクターが顔の方向に向かない場合があります。その場合は、利用しているメッシュをスタティックメッシュエディタで開き、x軸正の方向が正面となるようにベースメッシュを再インポートしてください。
ブループリントを詳しく
赤枠で囲われた部分が顔の位置を取得しているノードです。-
Enumerate Tracked Devices
現在、接続されているXRデバイスを取得できます。ここでは、Spatial Reality DisplayのXRDevice idを取得するのに利用しています。
-
Get Device Pose
XRDevice idで指定されたXRデバイスの位置等を取得できます。ここでは、顔の位置を取得するのに利用しています。