更新Three.js中的网格几何?

时间:2015-09-28 04:14:46

标签: javascript three.js tween.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();

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

1 个答案:

答案 0 :(得分:0)

正如您所见,这不起作用 - 部分原因是每次更新网格顶点的调用时,您还必须为每个帧调用geometry2.verticesNeedUpdate = true;

-

更具体地说,我认为您需要在补间中添加.onUpdate(function() { geometry2.verticesNeedUpdate = true; })