我正在尝试使用新的 ARKit2 对象扫描和识别工具,该工具是 WWDC 2018 演示的一部分。所有详细信息都可以在这里找到。
https://developer.apple.com/documentation/arkit/scanning_and_detecting_3d_objects
扫描过程完成后,此应用程序会将扫描的对象文件作为 arobject 导出到 iOS 文件应用程序。
我在 Apple 网站或开发者论坛上找不到以下问题的答案:
- 如何显示arobject文件?显然,文件应用程序无法理解 arobjects 文件扩展名。
- 我们如何将扫描仪应用程序中的文件存储为 usdz 格式,以便将新的快速查看功能与 iOS 文件应用程序一起使用(如 WWCD 2018 演示中所共享)?
最佳答案
如 Apple 的 Scanning and Detecting 3D Objects 中所述文档:
An
ARReferenceObject
contains only the spatial feature information needed for ARKit to recognize the real-world object, and is not a displayable 3D reconstruction of that object.
.arobject
文件只是序列化文件系统形式的 ARReferenceObject
类的实例,因此此建议适用于两者。
引用对象没有任何可显示的内容 - 它是不透明的数据,代表 ARKit 在扫描对象时记住的任何神奇数据,以帮助它稍后识别该对象。它不等同于 USDZ、SCN、OBJ、ABC、DAE、FBX、STL 或其他 3D 资源格式 - 这些格式描述多边形网格、着色器功能以及与渲染真实虚拟对象和/或 3D 打印相关的其他属性。
<小时/>您可以使用 ARReferenceObject
做的一件事是在保存时为其提供 2D 预览图像 - 请参阅 export(to:previewImage:)
。这会显示在 Xcode 中,但 macOS Finder 中的 QuickLook 或 iOS 文件似乎不知道如何显示它,并且没有记录其他应用程序应该如何从文件中读取它。 (这对 file bugs with Apple about 来说是件好事。)
关于3d - 如何查看从Apple ARKit 2.0扫描3D对象应用程序导出的arobject扩展格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51591995/