更新日志:Azure Spatial Anchor SDK v2.11.0
Azure Spatial Anchor SDK(ASA)的v2.11.0版本
(映维网 2021年11月20日)Azure Spatial Anchors(空间锚)表示存在于云中的物理点,而全息图可以附着到空间锚,从而实现用户能够感知的全息体验。空间锚的独特地方在于,它能够在云中存储和持久化,并在以后由创建它的设备或任何其他受支持设备进行查询。这可以支持锚的云备份和基于云的锚共享。
日前,微软发布了Azure Spatial Anchor SDK(ASA)的v2.11.0版本,新增和修复了一系列的内容。v2.11.0的源代码已托管至GitHub。
1. SDK
新增内容:
-
向SDK API增加了一个允许应用禁用ASA SDK Telemetry的全新函数CloudSpatialAnchorSession::EnableTelemetry。对于要禁用Telemetry的ASA应用,在调用CloudSpatialAnchorSession::Start()之前应该调用CloudSpatialAnchorSession::EnableTelemetry(false)。请注意,ASA SDK Telemetry默认启用。
-
对于Telemetry,ASA SDK for mobile platforms的早期版本有一个之于AppCenter的依赖项。这需要将AppCenter.framework文件与ASA SDK CoCoPapods包捆绑。对于iOS平台,这个依赖项目现已被链接SDK binaries的1DS SDK所取代,所以AppCenter.framework现在已从SDK CocoaPods包中删除。
-
这个版本修复了ASA SDK在特定Android设备型号(如三星Galaxy Tab A7和摩托罗拉G50)引发的异常,错误消息为“InvalidOperationException: Row stride needs to be the same as width”。
-
这个版本修复了若同一项目包含OpenXr UPM package for the HoloLens platform时iOS和Android的Unity项目中所出现的版本错误。所述情况生成的错误消息来自com.microsoft.azure.spatial-anchors-sdk.core包中的SpatialAnchoreExtensions.cs文件,消息为“error CS0234: The type or namespace name ‘MixedReality’ does not exist in the namespace ‘Microsoft’ (are you missing an assembly reference?)”。
-
这个版本修复了ASA Unity插件代码中的一个错误:当场景camera未标记为Unity中的主camera时,则SpatialAnchorManager::ProcessLatestFrame出现异常。
-
这个版本修复了ASA Unity插件代码中的一个错误:如果ASA SDK之前已经找到锚(例如AnchorLocatedStatus==AlreadyTracked),并且如果应用尝试再次重新定位同一锚,则SpatialAnchorExtensions::GetPose返回错误。
-
这个版本修复了ASA Unity插件代码中的一个错误:ASA Unity插件偶尔会返回定位锚的identity pose。
-
这个版本添加了对Unity 2020.3所需的WinXR插件版本4.6.0的支持。如果WinXR插件4.6.0与以前的ASA SDK版本一起使用,则始终可以在Unity origin找到锚。
-
ASA SDK Unity插件实现已更新,替换了ASA SDK Unity脚本中两个过时的ARFoundation API usages:AddAnchor()和AranchFormanager.RemoveAnchor()。这个问题导致以前ASA SDK版本的Unity编辑器中出现生成时警告,并显示一条消息“com.microsoft.azure.spatial-anchors-sdk.core@… SpatialAnchorManager.cs: warning CS0618: ‘ARAnchorManager.AddAnchor(Pose)’ is obsolete: ‘Add an anchor using AddComponent()”。所述警告现已在本版本中修复。
2. 示例
新增内容:
-
在Unity示例的GrossReloc模式中添加了一个允许删除设备周围的所有锚的按钮。示例Nearby Demo现在删除了在演示结束时创建的锚。这一变化有助于避免在开发和测试期间在同一空间中添加过多的锚(如果示例在同一空间中多次运行)。
-
修复了GrossReloc模式中的一个错误:示例代码使用错误锚的姿态进行渲染。
-
更新了repo示例中的readme,包含了向ASA团队发送反馈的正确链接。
已知问题:
-
由于示例代码中存在问题,在放置锚时,iOS Xamarin示例可能会在Nearby Demo模式中冻结。
-
Unity sample for HoloLens在放置立方体时不允许表面交互,因此立方体不放置在表面上。
-
由于示例代码中存在已知的计时问题,Unity sample for Android的Nearby模式偶尔会在演示结束时显示消息“Demo failed. check debugger output for more information”。