当前位置: 首页 > 知识库问答 >
问题:

从Blender导出变形目标到Three.js

卫彭亮
2023-03-14

这是我努力实现的一个例子:http://threejs.org/examples/#webgl_animation_skinning_morph

我正在将一个3D模型从Blender(V2.73)导出到Three。js(r70),使用三个。js r69。

模型具有骨骼动画,以及具有不同面部表情(眼睛打开/关闭等)的多个形状关键点。

将骨骼动画导出到Three.js工作正常,但我不知道如何正确导出变形目标。

导出器有一个“变形动画”复选框,但启用它会导致一个非常大的文件,其中时间轴的每一帧都会生成一个变形目标。(时间轴具有骨骼动画)。

骑士模型(http://threejs.org/examples/models/skinned/knight.js)的json文件有4个变形目标,每个面部表情一个。这几乎正是我想要的,但是我不能重现它。

关于如何将搅拌器文件/搅拌器设置为三的任何提示。js工作流将不胜感激。

共有2个答案

姬心思
2023-03-14

COLLADA文件格式支持形状关键点(此处称为变形关键点)。如果你的平台有一个功能齐全的COLLADA导入器,你应该能够导入并使用它们,而无需额外的工作。

您可以通过将带有形状键的搅拌机模型导出到COLLADA文件并将该COLLADA文件导入到搅拌机中来证明这一点。所有形状键和权重仍然存在:)

祁绪
2023-03-14

结束这个话题:

经过反复试验,我们最终在Blender中为我们想要导出的每个变形目标(形状键)使用了一个关键帧。变形目标对该帧的影响为1(最大值)。所以对于3个变形目标,我们有4个帧(默认为3个)。

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

这适用于r69出口商,我们没有尝试任何较新的版本。

 类似资料:
  • 我正在尝试制作一个傀儡头像,用于一个利用语音识别和与用户对话的项目。我计划用的主要图书馆是三个。js,它有两种不同的动画方法——动画剪辑和变形目标。 多个动画片段对于项目来说可能太麻烦了,但变形目标似乎符合能够根据存在的特定声音设置人脸动画的标准。我想使用Blender设置变形目标,但我正在回顾的许多文献似乎相互矛盾。Blender手册本身似乎暗示它们是同义词,但本文认为它们并不相同(尽管它们试图

  • 当我将一个对象放到场景中时,通过变形目标重新调整他的大小,如本例所示: https://threejsdoc.appspot.com/doc/three.js/examples/webgl_morphtargets.html 当我将相机移出对象的原始大小,但仍在查看重新调整大小的部分时,对象消失了。 这意味着,当我拉伸盒子100次时,我仍然需要看他原来的中心,当我只看他重新调整大小的部分时,它就不

  • 我试图开始变形目标和three.js.然而,这个主题似乎没有太多留档。 当我查看源代码时: 注量[] 似乎是神奇的...这是如何工作的?我如何使用这个?1的值是全强度吗?我如何区分同一模型上的不同变形目标?我只是想理解: 提前感谢

  • 我有数千种这样的形状: 这些形状中的每一个都将变形为具有相同顶点数的不同形状。我在考虑使用变形目标,它们在gpu上运行吗? 是三个变形目标。js在幕后实现为顶点着色器,或者如果我试图对数千个对象执行此操作,我应该创建自己的顶点着色器吗?

  • 我正在尝试自定义一个网格,然后使用gltfExporter from Threejs导出它,但是它仍然会在附加了所有变形/形状关键点的情况下导出,我想在最终导出网格时删除它们。 克隆场景/网格不起作用。 网格导出时附加所有变形/形状键,或者不导出

  • Blender是一款免费开源的 3D 创作套件。使用 Blender,你可以创建3D可视化效果,例如静止图像,3D动画,VFX快照和视频编辑。它非常适合那些受益于其统一管线和响应式开发过程的个人和小型工作室。 Blender 是一款跨平台的应用工具,可以在Linux、macOS以及Windows系统下运行。与其他3D建模工具相比,Blender对内存和驱动的需求更低。其界面使用OpenGL,在所有