SONY

menu
Search button in the site

Open the search area of the siteく

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

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

  1. SR Displayのセットアップ, 完了していない場合はSetup SR DisplaySetup SR Display Runtimeを参照してください
  2. SRDisplay UnityPluginがインストールされたUnity Projectがあること, 準備していない場合Setup for Unityを参照してください
  1. こちらを参考にSRDisplayManager Prefabを配置します。 また、ここではAssets / SRDisplayUnityPlugin / Runtime / PrefabsにあるSRDisplayBox Prefabについても配置しています。

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

  3. 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);
                        }
                    }
                  
  4. 作成したC#スクリプトを顔の部分のオブジェクトにアタッチします。
    SRDisplayManagerの子オブジェクトになっているWatcherAnothorをLook At Targetに指定します。WatcherAnothorは実行時の顔の位置を表します。(詳しくは、こちら)

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