How to get FacePose
公開日 |
最終更新日
最終更新日
検出した顔の位置を取得してみよう
このページでは、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 で作成したブループリントのビューポートを開き、円・円柱を配置し、キャラクターを作成します。
.webp?width=756&height=408&name=CreateCharacter%20(1).webp)
- イベントグラフに移動し、以下のようにノードを追加しグラフを作成します。

- 作成したブループリントをレベル上に配置し、大きさ・位置・向きを調整します。

- VR Previewでプロジェクトを実行するとあなたの顔の位置に合わせて、キャラクターが顔を向けます。
.webp?width=756&height=504&name=sample-lookat%20(1).webp)
※キャラクターが顔の方向に向かない場合
上で説明したような方法ではなく、すでにインポートしているメッシュを利用した場合、キャラクターが顔の方向に向かない場合があります。その場合は、利用しているメッシュをスタティックメッシュエディタで開き、x軸正の方向が正面となるようにベースメッシュを再インポートしてください。
ブループリントを詳しく
赤枠で囲われた部分が顔の位置を取得しているノードです。
- Enumerate Tracked Devices
現在、接続されているXRデバイスを取得できます。ここでは、Spatial Reality DisplayのXRDevice idを取得するのに利用しています。
- Get Device Pose
XRDevice idで指定されたXRデバイスの位置等を取得できます。ここでは、顔の位置を取得するのに利用しています。
