是否可以在每个应用程序的基础上禁用 HoloLens 的内置空间映射?

Can the built in spatial mapping of the HoloLens be disabled on a per app basis?

我开发了一个超出空间映射范围的应用程序,因此我没有在我的项目中包含任何空间映射,但是 HoloLens 的内置空间映射导致了问题,尤其是在黑暗区域。无论如何禁用板载映射? 谢谢

该功能目前在任何公开的 API 中都不可用。我建议在 forums.hololens.com 中提出相同的问题,看看您是否可以将 Microsoft 的某个人的注意力作为请求的功能。

是的,可以禁用。

曾经有一个函数叫做SetMappingEnabled。我认为微软在一些更新后删除了这个功能。您可以直接调用 SpatialMappingManager.Instance.SetMappingEnabled(false) 但不能再调用了。

SpatialMappingManager.Instance.DrawVisualMeshes = false; 

应该可以禁用空间。我也会禁用空间阴影。使用以下功能禁用空间。

void disableSpatialMapping()
{
    SpatialMappingManager.Instance.StopObserver();
    SpatialMappingManager.Instance.CastShadows = false;
    SpatialMappingManager.Instance.DrawVisualMeshes = false;
}

我在 forums.hololens.com 从 DavidKlineMS 收到了这个:

The HoloLens is constantly scanning the environment. In examples like you describe (darkened areas), tracking can be impacted. If you are looking to disable the UI that indicates tracking loss, you will need to handle it manually.

The documentation pages on handling tracking loss (Unity and DirectX) may help you here.