如何在Three.js中操纵几何与网格?

时间:2019-09-28 22:59:44

标签: three.js geometry

我有一些方法可以遍历几何的顶点并将它们移动到新的位置。例如,我可以通过围绕该轴旋转每个点来围绕空间中的任意轴旋转几何体。

因此,如果使用几何图形显示了网格,那么在操纵顶点位置时如何更新网格?

2 个答案:

答案 0 :(得分:-1)

此示例将在正Y方向上将几何图形向上移动5个单位,如果每次更新后在几何图形上将verticesNeedUpdate设置为true,则网格将跟随该几何图形:

// Update geometry vertices however/whenever you would like
geometry.vertices.forEach(function(vertex) {
    vertex.set(vertex.x, vertex.y + 5, vertex.z);
 });

//Tthen, this must be called inside animation loop (each frame or whenever updated)
geometry.verticesNeedUpdate = true;

答案 1 :(得分:-1)

如果需要偏移几何图形,请考虑使用Geometry.translate()。对于您的用例,代码如下所示:

geometry.translate( 0, 5, 0 );

但是,变换几何通常应该是一次性操作。对于正在进行的转换(在动画循环内),请调制Object3D.positionObject3D.rotationObject3D.scale。否则,将对性能产生明显的负面影响(取决于几何图形的复杂性)。

three.js R108