Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
Android Unity在游戏设置手部追踪时崩溃(Oculus Quest)_Android_Unity3d_Virtual Reality_Oculus_Oculusquest - Fatal编程技术网

Android Unity在游戏设置手部追踪时崩溃(Oculus Quest)

Android Unity在游戏设置手部追踪时崩溃(Oculus Quest),android,unity3d,virtual-reality,oculus,oculusquest,Android,Unity3d,Virtual Reality,Oculus,Oculusquest,当尝试按照手部跟踪文档设置手部跟踪时,按下play键时unity将关闭,而不会出现任何碰撞记录/警告。以下是我在崩溃前为重现我的问题所做的步骤: 创造全新的场景 从资产存储导入Oculus集成 将平台切换到Android 将OVRCameraRig添加到层次结构中 在OVR管理器脚本中将OVRCameraRig的手部跟踪支持更改为“控制器和手” 直到第5步,我可以随时按play,它会像往常一样启动。但在进行下一步时,每次都会崩溃 将“OvrhandPrefact”添加到OVRCameraRig>

当尝试按照手部跟踪文档设置手部跟踪时,按下play键时unity将关闭,而不会出现任何碰撞记录/警告。以下是我在崩溃前为重现我的问题所做的步骤:

  • 创造全新的场景

  • 从资产存储导入Oculus集成

  • 将平台切换到Android

  • 将OVRCameraRig添加到层次结构中

  • 在OVR管理器脚本中将OVRCameraRig的手部跟踪支持更改为“控制器和手”

  • 直到第5步,我可以随时按play,它会像往常一样启动。但在进行下一步时,每次都会崩溃

  • 将“OvrhandPrefact”添加到OVRCameraRig>TrackingSpace>LeftHandAnchor/RightHandAnchor
  • 有没有人经历过类似的问题

    提前谢谢


    编辑:从笔记本电脑中移除链接电缆时Unity不会崩溃。所以这肯定与链接有关。

    您是否尝试过在任务耳机中启用手跟踪功能(拔下插头)

    它位于设置->实验->启用手部跟踪

    我还启用了“自动检测手或控制器”。要想看到你的手,新的OvrustomhandPrefable就可以做到这一点

    [编辑]


    此外,耳机在连接到Link的桌面上放置超过几分钟后,似乎会导致崩溃。拔下插头并重新连接将刷新它。

    我不知道您是否能够解决此问题,但对于其他面临类似问题的人,以下是我如何解决此问题的:

  • 当你向LeftHandAnchor和RightHandAnchor添加OvrhandPrefact时,在inspector中将游戏对象设置为false
  • 然后在脚本中,通过在Update()
    OVRPlugin.getHandTrackinEnabled()中运行此代码来检查是否启用了手动跟踪
  • 仅当
    OVRPlugin.getHandTrackinEnabled()返回true时,才将ovrhandPrefable设置为true,如下所示:

    if (OVRPlugin.GetHandTrackingEnabled())
    {
        ovrHandPrefabLeft.SetActive(true);
        ovrHandPrefabRight.SetActive(true);
    }
    else
    {
        ovrHandPrefabLeft.SetActive(false);
        ovrHandPrefabRight.SetActive(false);
    }
    

  • 这将避免Unity崩溃。

    您使用的Unity版本是什么?