SONY

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

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

  1. すでにSetup Spatial Reality DisplaySetup Spatial Reality Display Settingsを完了していること。
  2. The Epic Games LauncherとUnreal Engineがインストールされていること。
  1. こちらを参考にSpatial Reality Display TemplateからUnreal Engineのプロジェクトを新規作成します。

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

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

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

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

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

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

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

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

  2. Get Device Pose

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