首页 > 解决方案 > 无法访问用于沉浸式 VR 的 Windows SpatialPerception

问题描述

我正在 Unity 中为基于 UWP 构建的新 HP Reverb 进行开发。我想使用 Azure 空间锚在计算机之间共享这些锚。

由于 HP Reverb 是 InsideOut 跟踪耳机,因此 Spatial Anchors 工作正常,但我无法访问 SpatialAnchorExporter。使用Azure 示例项目从 Unity 连接到云会给我一个Access denied to spatial anchor exporter.错误。

在“功能”中,我启用了 SpatialPerception,我在 Unity 和 VS2019 中检查了它。

特别是以下几行告诉我我无权访问:

Windows.Perception.Spatial.SpatialPerceptionAccessStatus accessStatus = 
await Windows.Perception.Spatial.SpatialAnchorExporter.RequestAccessAsync();

在没有 Azure 的情况下尝试做同样的事情会给我或多或少相同的错误,UnityEngine.XR.WSA.Sharing.WorldAnchorTransferBatch.ExportAsync()返回:

SpatialAnchorTransferManager denied access to WorldAnchor serialization 
UnityEngine.XR.WSA.Sharing.WorldAnchorTransferBatch:ExportAsync_Internal(WorldAnchorTransferBatch, 
SerializationDataAvailableDelegate, SerializationCompleteDelegate) 
UnityEngine.XR.WSA.Sharing.WorldAnchorTransferBatch:ExportAsync(WorldAnchorTransferBatch, 
SerializationDataAvailableDelegate, SerializationCompleteDelegate)

标签: azureunity3duwpwindows-mixed-realityazure-spatial-anchors

解决方案


对于在保存空间锚点时提出的 HP Reverb 使用场景,这是不可用的。此 WorldAnchorTransferBatch API 目前仅针对 HoloLens 公开。

也就是说,微软已经为 LBE(基于位置的娱乐)的使用提供了具体的支持和指导。具体来说,我们已经记录了导入和导出地图的能力。Microsoft 还提供了将配置导出到多个沉浸式耳机设备的工具。请参阅LBE 多人游戏设置


推荐阅读