这里的问题是,据我所知,没有工具(至少对公众可用)支持完整的 Collada 规范(尤其是 1.5)。在大多数情况下,经过良好测试和开发的部分是几何库元素、材料等,在 1.5 中通常取自某些 1.4 实现(这就是为什么通常声明它们支持 1.5 的工具实际上不支持的原因(物理、运动学等在大多数情况下丢失或状况不佳)。您仍然可以使用主要 3D 建模软件的各种导出功能轻松创建体面的(如几何部分还可以,但其余部分 - 也许是,也许不是)足够的 Collada 文件( Blender、Maya、3ds Max、CATIA 等)。OpenRAVE(用于机器人路径规划)实际上具有最好的导出/导入功能之一,
例如,如果您决定使用 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 的网站仅声明 对于部分开发人员来说,这 omho 是一个非常糟糕的实现。在支持的格式列表中,Assimp 的网站仅声明 对于部分开发人员来说,这 omho 是一个非常糟糕的实现。在支持的格式列表中,Assimp 的网站仅声明Collada,没有给出任何版本。
我知道这个问题已经过时并且得到了回答,但我希望这些信息有所帮助。我自己正在用 C# 编写一个解析器,供我目前正在工作的内部使用,发现这个 ISO 标准对它的支持有多么严重是一件很痛苦的事。Collada 的复杂性是巨大的,但这就是为什么它被认为是一种管道格式,而不是你应该在依赖良好性能(速度和存储)的最终产品中使用的东西。