变形目标Three.js

Morph Targets Three.js

本文关键字:js Three 目标 变形      更新时间:2023-09-26

我正在尝试开始使用变形目标和three.js。然而,似乎没有太多关于这个主题的文档。

当我查看源代码时,morphTargetInfluences[]似乎是一个魔术。

这是怎么回事?我该如何使用它?值1是否为完全强度?如何区分同一模型上的不同变形目标?

我只是想了解morphTargetInfluences[]

提前感谢

http://threejs.org/examples/webgl_morphtargets.html

变形目标是用于在它们之间自动插值的几何体顶点位置集。可以使用morphTargetInfluences[0], morphTargetInfluences[1], morphTargetInfluences[nSet]中写入的不同顶点位置实时更改几何体外观。可以同时混合几何体的多个外观(morphTargetInfluences)。最好的方法是JSONLoader格式,您可以从3DSMax导出该格式,例如:frame0作为morphTargetInfluences[0],frame1作为morphTargetInfluences[1],等等。

原始几何体顶点未受影响,可以使用geometry.computeBoundingBox(); geometry.boundingBox(); 进行检查

我对采用这种方法持谨慎态度。这似乎是基于对这项技术的不完全理解。

  1. "变形目标"(Morph Targets)的值不是可以通过交换单个顶点来设置动画,而是可以使用替代形状(具有相同顶点的相同网格,但每个顶点都可以位于新位置)作为模型的变形目标。(例如:中性脸和笑脸)

  2. morphTargetInfluence不包含任何顶点。它是一个标量值数组,表示变形过程中分配给每个目标的权重。在上面的Face示例中,[0.3]可能会导致一个胆小的蒙娜丽莎式的微笑,而[0.9]则会是一个有力的咧嘴笑。