从Blender导出morph目标到Three.js

8
这是我想要实现的一个例子:http://threejs.org/examples/#webgl_animation_skinning_morph 我正在使用 Three.js(r70)从 Blender(v 2.73)导出3D模型,使用的是 Three.js r69 的导出器。
该模型具有骨骼动画和多个不同面部表情(睁开/闭合的眼睛等)的形状键。
将骨骼动画导出到 Three.js 没有问题,但我不知道如何正确地导出变形目标。
导出器有一个“变形动画”的复选框,但启用它会产生一个非常大的文件,时间轴的每一帧都会产生一个变形目标。(时间轴具有骨骼动画。)
骑士模型的 json 文件(http://threejs.org/examples/models/skinned/knight.js)有4个形状键,分别为每个面部表情。这几乎正是我想要的,但我无法复制它。
如果您有关于如何设置 Blender 文件/Blender 到 Three.js 工作流程的任何提示,将不胜感激。

新的(r70)导出器的动画逻辑正在审核中。我建议尝试旧的导出器(r69),看看是否能得到您期望的结果。如果不行,可能是Blender的设置问题,但首先我想确定这是否是导出器的问题。 - repsac
我已经在使用r69的导出器。一开始我尝试了r70,但是无法使骨骼动画正常工作。我相信这是blender设置问题,但我对3D软件毫不熟悉。 - vorsk
好的,作为一条信息,骨骼动画逻辑已经在即将发布的r71版本中进行了重写。 - repsac
2个回答

2

仅为结束这个话题:

经过一些试验和错误,我们最终在Blender中为每个要导出的变形目标(形状关键帧)使用了一个关键帧。该变形目标在该帧上的影响力为1(最大)。因此,对于3个变形目标,我们有4个帧(3个变形目标+默认值)。

骨骼动画不必在时间轴上,也可以正确导出。

这适用于r69导出器,我们没有尝试任何更新版本。


1
COLLADA文件格式支持形状键(在那里称为morph keys)。 如果您的平台有功能齐全的COLLADA导入程序,则应该能够在不进行额外工作的情况下导入和使用它们。 您可以通过将带有形状键的blender模型导出为COLLADA文件,然后将该COLLADA文件重新导入到blender中来证明这一点。所有形状键和权重仍然存在 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接