Windows上的WebGL ThreeJs骨架动画问题

时间:2013-12-12 14:54:08

标签: animation three.js cross-platform webgl skeletal-mesh

我正在项目中使用 three.js(版本61)与WebGL渲染器进行实时动画,其中包含Kinect检测到的数据。
我使用了 THREE.SkinnedMesh 对象来建立支持骨架动画的3D模型。

我在这些场景中测试了实时骨骼动画:

  • Windows 7上的测试1
  • Mac OS X 10.9上的测试2

......我有这个结果:
https://docs.google.com/file/d/0B6yEkHWd_4nEVkJ4RzZuMENmZUE/edit?pli=1

在Windows上,问题是某个顶点的最终位置计算不好!

我使用过这些浏览器:

  • Google Chrome版本31.0.1650.63
  • Firefox 26.0。

......结果是一样的。

问题是处理不同的GPU驱动程序和WebGL吗? 我对这个话题没有很好的了解。

在Windows系统上使用THREE.SkinnedMesh对象执行动画时是否有人遇到并解决了类似的问题?

注意
用于测试方案
- 我模拟了Kinect:Web App从本地运行的服务器接收数据。
- 我已经将装配模型从Blender导出到three.js,皮肤网格的所有参数都很好地导出(如第二次测试所示)。

1 个答案:

答案 0 :(得分:2)

即使这个答案不是我遇到的问题的完整解释,解决方案是重复使用Blender中的自动换肤工具将一些顶点重新分配给骨骼。
通过这种方式,导出的权重也被修改,不需要的工件也消失了。