Three.js缓冲几何体变形

3

在three.js中,是否有可能将两个缓冲几何体进行变形?有没有好的示例可以参考?我特别感兴趣的是手动变形,使用变形目标影响。


由于您可以使用第二个几何体的属性作为变形目标,因此这个答案可能会有所帮助:https://dev59.com/4Ijca4cB1Zd3GeqPwGfJ#44092250 - Don McCurdy
1个回答

1

一种可能的解决方案是手动进行形态变换..以下是我所做的,我也正在寻找更优雅的解决方案。此外,我对这里的性能问题并不确定。

    for (var b = 0; b < 5; b++) {   // iterate through 5 morph targets

        var deltaVertices = blendshapes[b].children[0].geometry.attributes.position.array;

        for (var i = 0; i < vertices.length; i++) {
            // blend other shapes as delta to the Neutral one
            3D_Model.children[0].geometry.attributes.position.array[i] +=  weight_b * deltaVertices[i];
        }
    }

"

blendshapes

是使用 OBJLoader.js 加载的 OBJ 3D 模型。"

谢谢你的解决方案,我会尝试一下。我在 Twitter 上问了同样的问题 @mrdoob,他说这将是下一个版本的一部分。 - Jeff Weinberg
我现在有两个实现。一个已经附上,另一个是使用形态目标。前者需要大量的CPU计算,而后者则需要GPU计算能力... - lakex24

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