为 ARKit 请求 3D 模型的指南

Posted

技术标签:

【中文标题】为 ARKit 请求 3D 模型的指南【英文标题】:Guidelines for requesting 3D models for ARKit 【发布时间】:2018-05-30 14:24:59 【问题描述】:

我打算用ARKit + SceneKit 开发一个AR ios 应用来放置3D 内容。这将是我的第一个 ARKit 应用程序,我既不熟悉该框架也不熟悉 SceneKit,因此我正在阅读 Apple 的文档以及展示示例的几篇文章和教程。

但是,我没有找到关于导入 3D 模型以用于ARKit 的明确手册/指南/文档。我发现的大多数示例代码和教程,包括 Apple 的,已经将模型集成为 .scn.png 文件。

我项目的设计师可以创建 3D 模型并询问我的应用需要什么。他们不知道我需要他们为ARKit 导入Xcode 生成什么,我也不知道我应该问他们什么。

有人能给我一些关于这个主题的指导和/或告诉我在哪里可以找到它们吗?

【问题讨论】:

抱歉,我不确定完整列表,但 ARKit 最常用的格式之一是 .dae - 可以使用 Blender 等生成。 【参考方案1】:

在大多数情况下,最合适的格式是 DAE。 Scenekit 将识别材料并且文件也可以包含动画。 OBJ 格式也受支持,但受到更多限制。

当您在 Xcode 中打开 .dae 文件时,它会要求您“更新”模型,这通常是模型正确显示所必需的。

此外,如果您打算在 SceneKit 中使用细分,目前(ios 11.2 及更早版本)最好仅使用具有四边形的模型。加载选项 preserveoriginaltopology (https://developer.apple.com/documentation/scenekit/scnscenesource.loadingoption/1778185-preserveoriginaltopology) 当前存在错误,不支持可变 N-gons。

您可能还想观看 Model IO (2015,2017) 的 WWDC 视频,这是一个用于导入和导出 3D 资产的框架。模型 IO 资产可以轻松转换为 Scenekit 对象,并支持 Alembic (.abc)、波前对象 (.obj)、多边形 (.ply) 和标准镶嵌语言 (.stl) 格式。 “也可能支持其他格式。”您可以通过以下方式专门测试后者:https://developer.apple.com/documentation/modelio/mdlasset/1391813-canimportfileextension

【讨论】:

只是为了清楚起见,因为最初的问题是“导入 3D 模型以与 ARKit 一起使用” - 如果 ARKit 也被使用,您的回答仍然有效吗? 是的。这似乎是一个常见的误解,但您的问题实际上是关于 SceneKit 的,与 ARKit 无关。 ARKit 本身不加载或渲染模型,这就是为什么 ARKit 与 Scenekit 结合使用(通过在其上渲染 3D 对象来增强 ARKit 提供的现实)或与 SpriteKit 结合使用(通过 2D 叠加来增强现实)。跨度> 干杯。我也是这么想的。不是OP。 但问题仍然存在。如果我面前有一个建模师..并且我需要一个在 ARKit/Scenekit 中使用的模型,给建模师的最小或最大规格是什么,以便他制作的模型最适合在 Scenekit/ 中使用阿基特?说得好应该做low-poly,但这是什么意思? 模型的大小应该是多少。有什么限制吗?

以上是关于为 ARKit 请求 3D 模型的指南的主要内容,如果未能解决你的问题,请参考以下文章

3d 模型 SceneKit/ARKit 的哪种格式文件更好用

ios - ARKit 3D模型素材

ARKit – 3D 模型的轴心点错误

ARKit 支持哪些 3D 模型格式?

如何使用设备指南针将对象或模型放置在统一 ARkit 中?

全球最大 AR 3D 模型平台 Sketchfab 宣布支持 ARKit,或联手腾讯阿里进军中国