在 SceneKit 中支持 Collada/DAE 模型都有哪些要求?

Posted

技术标签:

【中文标题】在 SceneKit 中支持 Collada/DAE 模型都有哪些要求?【英文标题】:What are the requirements for supporting Collada/DAE models in SceneKit?在 SceneKit 中支持 Collada/DAE 模型有哪些要求? 【发布时间】:2016-02-15 12:16:35 【问题描述】:

我从几个不同的 3D 创作工具(Rhino、Blender、Cinema4D 等)收到了 Collada (DAE) 文件,并发现有时模型无法加载。当模型加载失败时,Xcode 不提供任何信息。它只是显示“无法打开文件”的警报。

在为我导出 DAE 文件时,我的 3D 设计师是否应该注意任何要求(特定 DAE 版本、有限的功能子集等)?

当然,我搜索了 Apple 的文档,但没有找到任何有关 DAE 要求的信息。

【问题讨论】:

是的...格式的通用性是有问题的...它们不是。 我自己没有尝试过,但是另一个导入路径可能是使用 Model I/O,以及它支持的一种导入格式(abc、ply、stl、obj)。 MDLAsset -initWithURL:,然后是 SCNGeometry +geoometryWithMDLMesh。我没有立即看到如何从 MDLAsset 到 MDLMesh。 MDLAsset 有一个对象数组,可以是 MDLMesh 实例。 【参考方案1】:

避免使用 Collada 1.5 版(据我所知,默认情况下只有 Cinema4D 导出到 1.5,但它可以选择导出 1.4)。 SceneKit 不支持 Collada 1.5。 然后,根据我使用 Maya 和 3DSMax 的经验,“openCollada”导出器(免费插件)比内置导出器提供更好的结果。

【讨论】:

你有 1.4 支持的来源吗?还是只是通过实验? Toyos,据我所知,在 SceneKit 上为 Apple 工作。 这并不是说即使他认为这足以作为来源,我也不是说不应该有关于 Collada 成功要求的大量文档。应该有!

以上是关于在 SceneKit 中支持 Collada/DAE 模型都有哪些要求?的主要内容,如果未能解决你的问题,请参考以下文章

iOS10 + SceneKit:使用自定义着色器渲染视频

iOS - Scenekit3D引擎初探之 - 导入模型+上传服务器+下载并简单设置

如何从3D对象中剪切掉一部分?

将scenekit和spritekit组合在一个屏幕中

如何在 SceneKit 中使用 SCNBufferBindingBlock?

Scenekit 在 obj 文件中转换场景