ARKit3 - Apple 官方示例无法编译,USDZ 3D mesh/skeleten 模型存在缺陷

ARKit3 - Official Apple example won't compile, has flawed USDZ 3D mesh/skeleten model

我正在研究新的 ARKit3 功能,尤其是动作捕捉。我有一个带有 A12 芯片的 iPhone(因此所有新功能都应该可以使用),并且 iPhone 加载了 iOS 13(测试版)。我还按照推荐在我的开发笔记本电脑上安装了 Xcode 11 beta。

当我下载教程/示例Xcode 项目here 时,我发现编译时出现错误。我能够通过注释掉对 AnyCancellable 实例的引用来摆脱这些,然后程序编译。

当我在我的设备上 运行 时,我收到有关 3D 网格(USDZ 格式)的错误消息,说它缺少某些关节信息。

我试过用示例项目中包含的 USDZ 模型替换苹果网站 here 上提供的其他 USDZ 模型,但无济于事。

预期的行为是示例应用程序应在相机视图中打开,跟踪出现在相机前面的人并渲染具有 3D 网格模型覆盖的骨架,以模仿人的动作。

我在 Xcode 控制台中收到错误消息:

2019-07-18 16:21:13.645289-0400 BodyDetection[11503:176170] [API] Created entity character does not contain supplied joint name: right_shoulder_2_joint.
2019-07-18 16:21:13.645348-0400 BodyDetection[11503:176170] [API] Cannot get joint count for non-character entity.
Error: Unable to load model: The operation couldn’t be completed. (RealityKit.Entity.LoadError error 4.)

似乎无法加载网格/骨架。应用程序 运行 和我可以看到相机视图,但没有渲染 3D character/mesh。

谁能告诉我在哪里可以找到适用于 ARKit3 框架的 3D 模型?有没有人见过这样的错误?

您能否确认您的设备确实具有 A12 芯片(意味着它是 iPhone XR、XS、XS Max、iPad Mini (2019)、iPad Air (2019) ),或 iPad Pro (2018))?此外,请确保您的 Xcode 是 运行 最新的 Beta 4 版本(在撰写本文时构建 11M374r)并且您的 iOS 设备是 运行 iOS 13 测试版。

这些可能看起来很简陋,但我无法复制您在我这边下载示例项目时指出的问题。我可以启动项目,设置我的签名团队,加载我的 iPhone XS Max,并且项目正常运行;当在画面中检测到人体时,3D "skeleton" 会出现在旁边并且运动会随之而来。

可能值得一提的是,3D 人体跟踪技术似乎需要已配置现有关节的 USDZ 模型。 Apple 网站上的 USDZ 模型大多没有(例如,机器人缺少任何可以跟踪的关节)。请参阅此屏幕截图,了解 Apple "skeleton" 的结构示例。

您从 Xcode 提供的错误消息使您尝试加载的模型看起来缺少符合此技术的骨架结构。您能否尝试 re-downloading 示例项目并确认您遇到相同的错误?