3

我正在尝试手动启用或禁用我的 HoloLens 应用程序的空间感知。

我有这个与我的位置相关的 UX 全息图(它随着我的移动而跟随),我需要与之交互,但是由于真实墙壁而由空间感知网格观察者制成的对撞机会阻止 UX 全息图阻碍我进行交互跟他们。
我可以离开墙壁,这样我就可以与 UX 全息图进行交互,但启用或禁用它们会更专业。

我需要启用空间感知网格观察器,以便我可以使用对撞机创建全息图,但我也希望禁用它们,以便我可以轻松地操纵并与我的 UX 全息图交互。

我很确定我们可以启用或禁用空间感知系统,但我很难研究获取空间感知系统的语法以手动启用/禁用它。

4

2 回答 2

2

所以我认为这里有一些可用的切换,我认为 Hernando 也解决了这些问题。

如果你想:

1)完全禁用空间感知系统(即没有网格,没有碰撞器,什么都没有)

然后按照此答案前半部分中的代码为您完成: 在运行时在 MRTK2 中启用/禁用空间映射

2)有网格,但没有网格的渲染:

https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/SpatialAwareness/UsageGuide.html#hiding-the-spatial-mesh

于 2019-07-15T17:51:50.023 回答
1

如果您想启用或禁用空间感知网格的碰撞,您首先需要访问观察者的Meshes属性(要获取观察者,您可以参考此答案中的第二个代码:Enable/Disable Spatial Mapping at runtime在 MRTK2 中),然后访问网格对象的 Collider 属性,该属性是MeshCollider类的一个实例。最后,您可以使用 enabled 属性启用/禁用对撞机。

于 2019-07-15T09:10:10.523 回答