SONY

在Unity中追踪用户的眼睛位置并将其应用于3D物体上

本页说明了如何在Unity中追踪用户眼睛位置并将其应用于3D物体,以与Spatial Reality Display上用户的移动相一致。
(Spatial Reality Display)上用户的移动相一致。

  1.  已设置Spatial Reality Display,如果尚未设置,请参阅:设置空间现实显示屏(Spatial Reality Display)设置Spatial Reality Display Settings.
  2.  已设置安装了SRDisplay UnityPlugin的Unity项目,如果尚未设置,请参阅:设置Unity.
  1. 参考此处创建简易应用"Hello cube!",将SRDisplayManager Prefab放置到场景层级中。
    Assets / SRDisplayUnityPlugin / Runtime / Prefabs 中的SRDisplayBox Prefab也位于此处。

  2. 使用3D物体创建角色,并进行调整以将角色放在SRDisplayManager Prefab内。

  3. 添加C#脚本。开启已添加的脚本文件,并按照以下方式进行编辑。
    请确保已添加的脚本的文件名和类名相同。

    
            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脚本添加到脸部的对象上。
    将WatcherAnchor指定为“Look At Target”中SRDisplayManager的子对象。 WatcherAnchor在运行时表示用户的头部位置。(详情请见此处SRDisplayManager Prefab.)

  5. 让我们来运行应用程序。角色将转动头部,以与您的脸部位置保持一致。