5

在 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);          

这是在我的渲染循环中。但是,它只在粒子所在的位置绘制了一条线。当立方体旋转时,这条线只是停留在空间中,而不是接触点。也不会更新。

任何帮助,将不胜感激。谢谢

4

1 回答 1

4

基于您当前的想法,我将在渲染循环之外创建线,然后在渲染循环内更新其几何形状。请注意,要告诉 aGeometry其顶点已更新,您需要将verticesNeedUpdate标志设置为true(r61)。在上面的代码中,您有一个geometry2.update不做任何事情的语句(它不调用方法或更新值,并且该update属性在任何情况下都不存在)。

或者,您可以将线添加到正在旋转的组中,并且它应该随之旋转。

于 2013-09-16T08:00:28.377 回答