在 Three.js 中更新网格几何体?

updating mesh geometry in Three.js?

我有两个网格:mesh1 和 mesh2。两者都具有相同数量的顶点并具有拉伸。

mesh1 = 5000 vertices.
mesh2 = 5000 vertices.

我将 mesh2 的顶点分配给 mesh1。然后我做:

mesh2.geometry.verticesNeedUpdate = true;
mesh2.geometry.vertices = mesh1.geometry.vertices;

这样mesh2的顶点就更新了。但这发生得太快了。当它使 mesh2 的顶点到 mesh1 的顶点时,我看不到动画。

我想看看 malla2 开始变成 malla1 时的变化,我的意思是看顶点变化时的动画。

我使用 "Tween.js" 来制作位置和颜色等动画。我不确定这是否有助于在顶点开始变化时查看动画。

我愿意:

new TWEEN.Tween( mesh2.geometry.vertices ).to( mesh1.geometry.vertices, 1000 ).start();

但不起作用。对不起我的英语水平。

如您所见,这是行不通的 - 部分原因是对于更新网格顶点的每次调用,您还必须为这些帧中的每一帧调用 geometry2.verticesNeedUpdate = true;

--

更具体地说,我想你会想要将 .onUpdate(function() { geometry2.verticesNeedUpdate = true; }) 添加到你的补间中。