为 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 模型的指南的主要内容,如果未能解决你的问题,请参考以下文章