Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我如何才能找到佩戴VR耳机的用户在360视频播放insider Unity Skybox中看到的坐标?_C#_Unity3d_Virtual Reality_Skybox - Fatal编程技术网

C# 我如何才能找到佩戴VR耳机的用户在360视频播放insider Unity Skybox中看到的坐标?

C# 我如何才能找到佩戴VR耳机的用户在360视频播放insider Unity Skybox中看到的坐标?,c#,unity3d,virtual-reality,skybox,C#,Unity3d,Virtual Reality,Skybox,我试图找到一个用户的凝视坐标,他穿着HTC Vive,内置Tobii眼动跟踪器。用户正在Unity Skybox内观看360度视频播放。我正在使用Tobii Pro SDK 我使用了Tobii的VREyeTracker预置,并在XML文件中获取参数和值(更多详细信息见下文结果)。Unity数据与原始数据有何不同?因为我找不到任何具有相关描述的文档,所以我不确定在XML中获得的结果是否包含我要查找的信息 统一数据: GazeDirection Value="(-0.05267334, 0.0154

我试图找到一个用户的凝视坐标,他穿着HTC Vive,内置Tobii眼动跟踪器。用户正在Unity Skybox内观看360度视频播放。我正在使用Tobii Pro SDK

我使用了Tobii的VREyeTracker预置,并在XML文件中获取参数和值(更多详细信息见下文结果)。Unity数据与原始数据有何不同?因为我找不到任何具有相关描述的文档,所以我不确定在XML中获得的结果是否包含我要查找的信息

统一数据:

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" />
GazeDirection Value=“-0.05267334,0.01541138,0.99848940)”Valid=“True”/
原始数据:

<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" />

PupilPosition PositionInTrackingArea=“(0.55140850,0.63337760)”Validity=“Valid”/

如果比较两个数据集,您可以很容易地看到以下关系:

  • 统一数据

    <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" />
    
    
    

    原始数据

    <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" />
    
    
    
    但是X轴是倒转的

  • 统一数据

    <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" />
    
    
    
    与…有关

    原始数据

    <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" />
    
    
    
    但X轴倒置,系数为1000(单位为米,tobii单位为毫米)。这个名字听起来像是凝视光线相对于头部/hmd设备的原点->左一点(3cm),略高于hmd中心(1.5cm),设备后面4cm

  • 统一数据

    <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" />
    
    
    

    原始数据

    <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" />
    
    
    
    再加上因子1000

最后

统一数据

<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" />


听起来它与
GazeOrigin
相关,但这次不是与HDM相关,而是在世界坐标中,其中方向也是世界空间中的固定向量。这意味着在世界坐标中,你在世界空间中向左看25厘米,向上看6厘米,在位置前方看1米。
(-0.4011620,1.04663500,-0.38193990)
(听起来像你坐着或者很小;)。

Unity数据和原始数据有什么不同?
->你得到的标签不同。。。两者的“凝视”方向相同(X符号除外)。。这可能是头部定位吗?此外,瞳孔直径和瞳孔来源似乎使用了不同的尺度。。可能单位以米为单位,而瞳孔原始测量单位以毫米为单位。感谢@derHugo的输入。您使用Unity和Tobii度量单位()是非常正确的。我正在试图了解我可以使用哪一个来计算1)头部位置和2)用户在运行360度视频的Unity Skybox中观看的屏幕坐标。我忘了写输出的这一部分:问题是:你得到注视(凝视)了吗绝对世界坐标中的位置/方向或相对于头部位置和方向的位置/方向?(我知道,例如MagicLeap以绝对世界坐标提供一切,而不考虑头部变换)。到1)您通常不必计算头部位置/方向。。HTC Vive的API应该已经提供给Unity->Camera position。谢谢@derHugo。相对于头部的位置和方向,人们如何获得它们?令人敬畏的解释。非常感谢!我试图通过方位角和仰角来理解用户正在查看的对象的位置,相机位置在(0.0.0)处,即球体的中心,而GazeRayWorld方向的世界坐标是向左25厘米,向上6厘米,相对于相机位置1米,即(0.24876200,0.05519217,0.96699090)