THREE.js - morphTargetInfluences导入的JSON网格没有得到结果

时间:2016-08-11 20:38:38

标签: json three.js blender

我有一个基本的three.js场景,其中我试图从Blender导出对象(作为带有嵌入变形的JSON文件)来运行并用用户输入更新它们的形状。

这是一个测试场景 http://onthez.com/temphosting/three-js-morph-test/morph-test.html

通过简单地缩放一个框来调整平板的大小而没有变形,这样工作得很好。

我必须遗漏一些基本的小纪念碑。它有3个变形(宽度,深度,高度),旨在允许它调整大小。

我正在使用此代码根据用户dat.gui输入实现变形。

folder1.add( params, 'width', 12, 100 ).step(1).name("Width").onChange( function () {
  updateFoundation();
  building.morphTargetInfluences['width'] = params.width/100;
  roofL.morphTargetInfluences['width'] = params.width/100;
  roofR.morphTargetInfluences['width'] = params.width/100;
  building.updateMorphs();
});

building,roofL和roofR的材质都将morphTargets设置为true。 我在这里看过三个例子: http://threejs.org/examples/?q=morph#webgl_morphtargets_human 以及#webgl_morphtargets和#webgl_morphtargets_horse

非常感谢任何想法或意见!

1 个答案:

答案 0 :(得分:1)

我相信我已经为我的问题找到了一个解决方案,我认为JSON加载器保留了变形目标名称,而不是使用morphTargetInfluences

来代替索引号

像morphTargetInfluences ['myMorphTargetName'] 但是,在控制台中进行仔细检查后,似乎应该像morphTargetInfluences [0]

那样引用它们。

不是最直观的,但我可以使用它。