在 Three.js 中使用来自 COLLADA 文件的解析数据的骨骼动画

Posted

技术标签:

【中文标题】在 Three.js 中使用来自 COLLADA 文件的解析数据的骨骼动画【英文标题】:Skeletal animation using parsed data from COLLADA file in Three.js 【发布时间】:2012-06-28 20:09:37 【问题描述】:

我已经尝试了示例 COLLADA 解析器 colladaloader.js,并使用 mrdoob.github.com/three.js/examples/webgl_loader_collada.html 和 http://mrdoob.github.com/three.js/examples/webgl_animation_skinning.html 从 http://collada.org/owl/browse.php?sess=0&parent=131&expand=0&order=name&curview=0 导入了一个骨骼动画 collada 模型“Seymour_anim2.dae”举个例子。加载器似乎在 collada.animations 或 collada.dae.animations 中解析和存储骨架结构和一些骨架动画数据。问题是我无法使用示例中的方法让骨骼动画工作。

现在,我想知道 COLLADA 解析器是否有问题,或者 Three.js 中是否有其他方法/技巧可用于播放我的模型的骨骼动画?我很想听听您是否知道如何在 Three.js 中巧妙地完成这项工作,或者这是否可能。

编辑:我现在还使用 GLGE 框架测试了模型,它可以正确加载、渲染和动画。但是,在 Three.js 中为 COLLADA 模型制作骨骼动画会非常好,因为使用 GLGE 开发太耗时且麻烦,而且与 Three.js 相比,GLGE 是相当不活跃的项目。骨骼动画对于增加对虚拟世界的沉浸感非常重要。

【问题讨论】:

您是否尝试过本论坛上一篇文章中提到的所有技巧? github.com/mrdoob/three.js/issues/2106#issuecomment-9735541 【参考方案1】:

我自己已经放弃了 Collada 并继续使用附带的 OBJ 加载器。 但是在进行到一半时,我发现了一件事可能值得测试。 这里似乎有一个替代的 Collada 加载程序:github ColladaLoader2.coffee

希望它工作得更好一些。请告诉我:)

【讨论】:

以上是关于在 Three.js 中使用来自 COLLADA 文件的解析数据的骨骼动画的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Three.js 中克隆包含多个网格的 Collada 对象

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

无法使用 Three.js 加载从搅拌机导出的纹理 Collada

Collada 模型面无法在 three.js 中正确显示

在 Three.JS 中通过鼠标单击选择 Collada 对象

Collada 纹理上的线框覆盖 - three.js