How to get FacePose

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

このページでは、UnityでSpatial Reality Displayが検出している顔の位置を利用してコンテンツを作成する方法を説明します。Pluginに含まれているサンプルで試すこともできます。

  1. こちらを参考にSRDisplayManager Prefabを配置します。 また、ここではAssets / SRDisplayUnityPlugin / Runtime / PrefabsにあるSRDisplayBox Prefabについても配置しています。

PlacePrefabs

  1. SRDisplayManager Prefab内に収まるように調整しながら、3Dオブジェクトを使い、キャラクターを作成します。

CreateCharacter

  1. C# Scriptを追加します。
    追加したスクリプトを開き、以下のように編集します。追加したスクリプトのファイル名とクラス名は同じ名前にするようにしてください。

    using UnityEngine;
    public class LookAtYou : MonoBehaviour
    {
      public GameObject LookAtTarget;
      void Update()
      {
        if (LookAtTarget == null)
        {
          return;
        }
        var forwardVec = this.transform.position - LookAtTarget.transform.position;
        this.transform.rotation = Quaternion.LookRotation(forwardVec, Vector3.up);
      }
    }

  1. 作成したC#スクリプトを顔の部分のオブジェクトにアタッチします。
    SRDisplayManagerの子オブジェクトになっているWatcherAnchorをLook At Targetに指定します。WatcherAnchorは実行時の顔の位置を表します。(詳しくは、こちら)

AttachScript

  1. アプリを実行してみましょう。あなたの顔の位置に合わせて、キャラクターが顔を向けます。

sample-lookat

 

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