unity3d - 如何根据头部位置、旋转、注视原点和方向找到用户在 Unity 场景中的位置?
问题描述
我有一个播放 360 度视频的 Unity 场景。用户使用带有集成 Tobii 眼动追踪器的 HTC Vive HMD 观看 360 度视频。我正在使用 Tobii 预制件将原始数据和 Unity 数据保存到 XML 文件中。XML 文件具有头部位置、旋转、注视位置、方向等参数和值。我如何使用这些来找到佩戴 HMD 的用户正在查看场景的位置?
我使用了左右眼的注视方向值,并使用 matplotlib 绘制了这些值。但是,我无法解释特定条件下的情节,例如当佩戴 HMD 的用户转身观看 360 度视频的一部分时。
<GazeData TimeStamp="401195894372">
<Pose Position="(-0.23225010, 0.92871360, 0.13882240)" Rotation="(0.01330298, 0.09787695, -0.00775034, 0.99507950)" Valid="True" />
<Left>
<GazeDirection Value="(-0.05865479, -0.19734190, 0.97857670)" Valid="True" />
<GazeOrigin Value="(-0.03072109, 0.00550990, -0.03687405)" Valid="True" />
<PupilDiameter Value="0.00202419" Valid="True" />
<GazeRayWorld Origin="(-0.26945470, 0.93564700, 0.10879590)" Direction="(0.12933440, -0.22388930, 0.96599500)" Valid="True" />
</Left>
<Right>
<GazeDirection Value="(0.16032410, -0.24493410, 0.95617680)" Valid="True" />
<GazeOrigin Value="(0.03148644, 0.00550067, -0.03543135)" Valid="True" />
<PupilDiameter Value="0.00184862" Valid="True" />
<GazeRayWorld Origin="(-0.20816600, 0.93479980, 0.09807995)" Direction="(0.33887940, -0.27364290, 0.90015570)" Valid="True" />
</Right>
<CombinedGazeRayWorld Origin="(-0.23881030, 0.93522340, 0.10343790)" Direction="(0.23560470, -0.25035830, 0.93904810)" Valid="True" />
</GazeData>
解决方案
推荐阅读
- seaweedfs - 所有主重启后的 seq 计数器是多少
- tensorflow - 如何将列表列表传递给张量流?
- java - 用于存储记录的数据库/缓存的纯 Java 替代方案
- spring - Spring 引导 MessageDispatcherServlet 覆盖 DispatcherServlet。如何跳过覆盖并注册两个 DispatcherServlet?
- html - 带有可滚动正文的表格
- python - 用python进行带状图像识别
- node.js - NestJS 未定义的依赖项
- api - .NET Core 3.1 API - 307 临时重定向
- c++11 - c ++ 11如何在使用N个参数调用函数之前检查模板参数包是否有N个参数
- mongodb - Meteor 反应性地将某些字段从用户集合复制到自定义用户配置文件集合