在ThreeJS中,我有一个由一堆粒子组成的旋转立方体。粒子是粒子阵列的一部分,称为粒子,它们也是称为组的组的一部分,该组围绕x,y和z上的原点旋转。我想知道如何动态地将两个粒子与一条线连接起来。我目前必须尝试执行此操作的代码如下所示,它不起作用。
var geometry2 = new THREE.Geometry();
linemat = new THREE.LineBasicMaterial({
color: 0xffffff
});
geometry2.vertices.push(particles[4].position);
geometry2.vertices.push(particles[1000].position);
geometry2.update;
line = new THREE.Line(geometry2, linemat);
scene.add(line);
这是我的渲染循环内部。但是,它只绘制一条粒子 的线。当立方体旋转时,线条只停留在空间中,而不是接触点。它也不会更新。
任何帮助将不胜感激。 感谢
答案 0 :(得分:3)
根据您当前的想法,我会在渲染循环之外创建一条线,然后在渲染循环中更新其几何体。请注意,要告诉Geometry
其顶点已更新,您需要将verticesNeedUpdate
标志设置为true
(r61)。在上面的代码中,您有一个语句geometry2.update
,它不执行任何操作(它不调用方法或更新值,并且update
属性在任何情况下都不存在。)
或者,您可以将线条添加到正在旋转的组中,它应该随之旋转。