简体   繁体   English

如何在Unity Skybox内部播放的360视频中找到戴着VR耳机的用户正在看的坐标?

[英]How can I find the co-ordinates where the user wearing a VR Headset is looking at in a 360 video playing insider Unity Skybox?

I am trying to find the gaze co-ordinates of a user wearing a HTC Vive with integrated Tobii Eyetracker. 我试图找到佩戴HTC Vive和集成Tobii Eyetracker的用户的视线坐标。 The user is viewing a 360-degree video playing inside a Unity Skybox. 用户正在观看Unity Skybox中播放的360度视频。 I am using the Tobii Pro SDK. 我正在使用Tobii Pro SDK。

I have used the VREyeTracker Prefab of Tobii and am getting parameters and values in the XML file (more details below in results). 我已经使用了Tobii的VREyeTracker Prefab,并且正在XML文件中获取参数和值(下面在结果中提供更多详细信息)。 How is Unity Data different from Raw Data? Unity Data与Raw Data有何不同? Since I am not able to find any document with relevant description, I am not sure if the results obtained in the XML contain the information I am looking for. 由于我找不到任何具有相关描述的文档,因此不确定XML中获得的结果是否包含我要查找的信息。

Unity Data: Unity数据:

GazeDirection Value="(-0.05267334, 0.01541138, 0.99848940)" Valid="True" />
<GazeOrigin Value="(-0.03057870, 0.00478235, -0.04329382)" Valid="True" />
<PupilDiameter Value="0.00168019" Valid="True" />
<GazeRayWorld Origin="(-0.40116220, 1.04663500, -0.38193990)" Direction="(0.24876200, 0.05519217, 0.96699090)" Valid="True" />

Raw Data: 原始数据:

<GazeDirection UnitVector="(0.05267334, 0.01541138, 0.99848940)" Validity="Valid" />
<GazeOrigin PositionInHMDCoordinates="(30.57870000, 4.78234900, -43.29382000)" Validity="Valid" />
<Pupil PupilDiameter="1.68019100" Validity="Valid" />
PupilPosition PositionInTrackingArea="(0.55140850, 0.63337760)" Validity="Valid" />

If you compare both data sets you can quite easily see the following relations: 如果比较两个数据集,则可以很容易地看到以下关系:

  • Unity Data Unity数据

     <GazeDirection Value="(-0.05267334, 0.01541138, 0.99848940)" Valid="True" /> 

    is related to 与有关

    Raw Data 原始数据

     <GazeDirection UnitVector="(0.05267334, 0.01541138, 0.99848940)" Validity="Valid" /> 

    but with inverted X axis 但X轴反转

  • Unity Data Unity数据

     <GazeOrigin Value="(-0.03057870, 0.00478235, -0.04329382)" Valid="True" /> 

    is ralted to 被提升为

    Raw Data 原始数据

     <GazeOrigin PositionInHMDCoordinates="(30.57870000, 4.78234900, -43.29382000)" Validity="Valid" /> 

    but with inverted X axis and a factor 1000 (Unity measures in meters, tobii in millimeters). 但X轴倒置且系数为1000(单位为米,单位为毫米)。 This name sounds like this is the origin of the gaze ray relative to the head/hmd device -> a bit (3cm) left, a bit above (1.5cm) the center of the hmd and 4cm behind the device. 这个名字听起来像是相对于头部/ hmd设备的凝视射线的起点->左一点(3cm),在hmd中心上方(1.5cm)一点,在设备后面4cm。

  • Unity Data Unity数据

     <PupilDiameter Value="0.00168019" Valid="True" /> 

    is related to 与有关

    Raw Data 原始数据

     <Pupil PupilDiameter="1.68019100" Validity="Valid" /> 

    again with the factor 1000 再次是系数1000

Finally 最后

Unity Data Unity数据

<GazeRayWorld Origin="(-0.40116220, 1.04663500, -0.38193990)" Direction="(0.24876200, 0.05519217, 0.96699090)" Valid="True" />

sounds like it is related to the GazeOrigin but this time not relative to the HDM but in world coordinates where Direction is the fixation vector also in world space. 听起来好像与GazeOrigin有关,但这一次与HDM无关,而是在世界坐标中,其中Direction在世界空间中也是注视矢量。 Meaning in world coordinates you are looking 25cm to the left, 6cm up and 1meter in front of the position (-0.40116220, 1.04663500, -0.38193990) (sounds like you were sitting or are very small ;) ) in world space. 在世界坐标系中,这意味着您正在世界空间中向左25厘米,向上6厘米,位置1处前方(-0.40116220, 1.04663500, -0.38193990)发出声音(听起来像您坐着或很小;))。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM