在我使用 MRTK 和 Quest 2 开发的应用程序中,是否有使用脚本禁用直通模式的正确方法?

问题描述 投票:0回答:0

Unity 2020.3.22f1 捷运 2.8 Oculus XR 插件 1.10.0 我使用 MRTK 并部署到 Quest2。在我的unity场景中,MixedRealityToolkit—>Input—>Input Data Provider—>XR SDK Oculus Devices Manager—>Prefab reference—>Ovr Camera Rig Prefab,我在Assets\Oculus\VR\Prefabs中填充了OVRCameraRig prefab。 prafab 有一个组件 OVR 管理器,它有一个属性“启用直通”复选框。我通过这样的代码控制复选框:

public GameObject MRTK_Quest_OVRCameraRig;
public void EnableInsightPassthrough(bool pass) 
{ 
  MRTK_Quest_OVRCameraRig.GetComponent<OVRManager>().isInsightPassthroughEnabled = pass; 
}

在统一场景中,我拖动预制件填充“public GameObject MRTK_Quest_OVRCameraRig”,我用一个按钮来调用这个函数。在编辑器中播放时,我可以看到复选框通过选中和取消选中来切换,但在Quest 2中,它是passthrough模式没有切换。如果一开始就开启passthrough,在Quest 2中不管我怎么点都是passthrough模式,如果一开始关闭passthrough,就一直是非passthrough模式。我怀疑 MRTK 没有收到状态的变化,比如数据刷新。 那么,通过代码切换透传模式的正确方法是什么?请原谅我在企业内网开发,我无法上传图片。

我曾尝试过另一种访问 Ovr Camera Rig 的方式,例如:

CoreServices.InputSystem.InputSystemProfile.DataProviderConfigurations......
但无法访问 Enable Passthrough 属性。

unity3d oculus mrtk
© www.soinside.com 2019 - 2024. All rights reserved.