How to get FacePose

検出した顔の位置を取得してみよう

このページでは、Unreal EngineのブループリントでSpatial Reality Displayが検出している顔の位置を取得する方法を説明します。
こちらのサンプルアプリから試すこともできます。

 

  1. こちらを参考にSpatial Reality Display TemplateからUnreal Engineのプロジェクトを新規作成します。

NewProject

  1. 新規ブループリントを追加します。親クラスにはActorを選択します。

AddBPtoLevel

  1. 2 で作成したブループリントのビューポートを開き、円・円柱を配置し、キャラクターを作成します。

CreateCharacter (1)

  1. イベントグラフに移動し、以下のようにノードを追加しグラフを作成します。

AddNode

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

AddBPtoLevel

  1. VR Previewでプロジェクトを実行するとあなたの顔の位置に合わせて、キャラクターが顔を向けます。

sample-lookat (1)

上で説明したような方法ではなく、すでにインポートしているメッシュを利用した場合、キャラクターが顔の方向に向かない場合があります。その場合は、利用しているメッシュをスタティックメッシュエディタで開き、x軸正の方向が正面となるようにベースメッシュを再インポートしてください。

赤枠で囲われた部分が顔の位置を取得しているノードです。

  • Enumerate Tracked Devices

    現在、接続されているXRデバイスを取得できます。ここでは、Spatial Reality DisplayのXRDevice idを取得するのに利用しています。

  • Get Device Pose

    XRDevice idで指定されたXRデバイスの位置等を取得できます。ここでは、顔の位置を取得するのに利用しています。

    BP_detail

開発者お問い合わせ・
商用利用について