在Unity中追踪用户的眼睛位置并将其应用于3D物体上
本页说明了如何在Unity中追踪用户眼睛位置并将其应用于3D物体,以与Spatial Reality Display上用户的移动相一致。
(Spatial Reality Display)上用户的移动相一致。
Prerequisites
- 已设置Spatial Reality Display,如果尚未设置,请参阅:设置空间现实显示屏(Spatial Reality Display)和设置Spatial Reality Display Settings.
- 已设置安装了SRDisplay UnityPlugin的Unity项目,如果尚未设置,请参阅:设置Unity.
在示例应用中创建类似LookAt的内容
-
参考此处创建简易应用"Hello cube!",将SRDisplayManager Prefab放置到场景层级中。
Assets / SRDisplayUnityPlugin / Runtime / Prefabs 中的SRDisplayBox Prefab也位于此处。 -
使用3D物体创建角色,并进行调整以将角色放在SRDisplayManager Prefab内。
-
添加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); } }
-
将已创建的#C脚本添加到脸部的对象上。
将WatcherAnchor指定为“Look At Target”中SRDisplayManager的子对象。 WatcherAnchor在运行时表示用户的头部位置。(详情请见此处SRDisplayManager Prefab.) -
让我们来运行应用程序。角色将转动头部,以与您的脸部位置保持一致。