ThreeJS动态换线

时间:2013-09-15 15:37:43

标签: javascript three.js

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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