用于开发进口商的样本 COLLADA 文件? [关闭]

Posted

技术标签:

【中文标题】用于开发进口商的样本 COLLADA 文件? [关闭]【英文标题】:Sample COLLADA files for development of an importer? [closed] 【发布时间】:2010-11-04 22:58:53 【问题描述】:

我正准备用 Java 编写一个 COLLADA 导入器。没有任何预先写好的进口商,即使有我可能也会很挑剔,所以我相信这是最好的。我将使用 COLLADA 1.4,因为我不需要 1.5 的功能,而且许多程序还不支持它。我为它找到了spec 并计划遵循它,但是通过示例和参考规范以获取更多信息要容易得多。

那么……在 COLLADA 方面有经验的你们中的一些人能否指出一些简单的模型,我可以在编写它时使用它们来学习和测试我的导入器?我将只导出一些几何图形,但我需要一些带有纹理或材质、骨骼和关键帧动画等的内容。有什么建议吗?

另外,我知道 Blender 可以导出 COLLADA 1.4 并且可以导入大多数格式。如果您对具有其他格式的简单 3D 模型的网站有一个非常好的建议,我将只导入和导出为 COLLADA,那也很好!

谢谢!

【问题讨论】:

您好,您有没有设法找到或创建一个好的 Java COLLADA 导入器?只问,因为我现在正在四处寻找...... 【参考方案1】:

我至少知道两个不错的地方:

Thingiverse tag: 3D Google 3D Warehouse

google 网站有很多 collada 文件,thingiverse 有更多的 stl(sterio lithography)文件。

【讨论】:

【参考方案2】:

从http://assimp.sourceforge.net/main_downloads.html 下载 Assimp “开放资产导入库”。它有一大堆用于其测试套件的 Collada 文件(在 test/models/Collada 中)。

【讨论】:

或者直接从github上抓文件github.com/assimp/assimp/tree/master/test/models/Collada【参考方案3】:

这里的问题是,据我所知,没有工具(至少对公众可用)支持完整的 Collada 规范(尤其是 1.5)。在大多数情况下,经过良好测试和开发的部分是几何库元素、材料等,在 1.5 中通常取自某些 1.4 实现(这就是为什么通常声明它们支持 1.5 的工具实际上不支持的原因(物理、运动学等在大多数情况下丢失或状况不佳)。您仍然可以使用主要 3D 建模软件的各种导出功能轻松创建体面的(如几何部分还可以,但其余部分 - 也许是,也许不是)足够的 Collada 文件( Blender、Maya、3ds Max、CATIA 等)。OpenRAVE(用于机器人路径规划)实际上具有最好的导出/导入功能之一,当涉及到 COLLADA 时,甚至(部分)支持运动学等 1.5 功能。

例如,如果您决定使用 Blender(免费和开源,因此您可以实际查看导入/导出插件的工作原理),您可以创建简单或复杂的内容并将其导出为 COLLADA 1.4(不是 1.5!)。例如,OpenRAVE 使用自定义 XML 格式,该格式在内部转换为 Collada(以隐藏此标准的复杂性),甚至允许您嵌入其他格式(主要用于几何部分),例如 OBJ,这要多得多更容易找到一个 decend 导入/导出工具。 Khronos Group 实际上提供了 OpenCollada(OpenRAVE 和许多其他公司在内部使用它,当在 OpenCollada 中执行不好时,这当然会导致所有这些错误:P)。 Assimp-library 也提供了很多,但主要问题是它提供的关于它实际支持的 Collada 标准的错误信息。事实上,当谈到 Collada 时,很难找到关于已实现功能的参考,可悲的是,最近我开始使用 1.5(运动学)只是为了发现 Assimp 仅支持 1.4 并且绑定到它的程度以至于当它遇到一个典型的 1.5 元素(即使它是空的!)时,它会向你抛出错误,这对开发人员来说是一个非常糟糕的实现。在支持的格式列表中,Assimp 的网站仅声明 Collada,没有给出任何版本。

我知道这个问题已经过时且已得到解答,但我希望此信息对您有所帮助。我自己正在用 C# 编写一个解析器,供我目前正在工作的内部使用,发现这个 ISO 标准对它的支持有多么严重是一件很痛苦的事。 Collada 的复杂性是巨大的,但这就是为什么它被认为是一种管道格式,而不是你应该在依赖良好性能(速度和存储)的最终产品中使用的东西。

【讨论】:

【参考方案4】:

Blendswap.com 是一个非常棒的网站,其中包含大量 Blender 模型。注册帐户后,您可以免费下载它们。您甚至可以将网站上的大多数模型用于商业用途。在下载之前,它会让您知道是否必须给予作者署名,尽管有些模型可以在不给予署名的情况下使用,尽管仍然推荐。请记住,每月有 200 MB 的下载限制。有很多型号都是 1MB,所以在下载之前检查文件的大小。然后您可以在 Blender 中使用 Collada 导出器。请务必检查 Collada 导出器上的设置。

【讨论】:

【参考方案5】:

WebGL 框架three.js有一些例子here on their GitHUB page

怪物文件在行动中可以看到here。

【讨论】:

以上是关于用于开发进口商的样本 COLLADA 文件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 openGL 在 android studio 中渲染 .dae(collada) 文件

Three.js - 从文件输入加载 Collada 文件(和纹理)

带有 collada 文件的 Android vuforia

Blender 如何解释 Collada 文件 (.dae) 以进行装配?

Three.js – 将纹理应用于 Collada 网格会产生意想不到的结果

跨境电商平台开发