5

ThreeJS には、一連の粒子で構成される回転立方体があります。粒子は粒子と呼ばれる粒子配列の一部であり、x、y、z の原点を中心に回転するグループと呼ばれるグループの一部でもあります。2 つのパーティクルを線で動的に接続する方法を考えていました。現在、これを試して実行する必要があるコードは以下のとおりで、機能しません。

        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 本の線しか描画しません。立方体が回転すると、線は点に触れずに空間にとどまります。こちらも更新しません。

どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

4

あなたの現在の考え方に基づいて、レンダー ループの外側にラインを作成し、レンダー ループ内でジオメトリを更新します。Geometry頂点が更新されたことを a に伝えるには、verticesNeedUpdateフラグをtrue(r61) に設定する必要があることに注意してください。geometry2.update上記のコードには、何もしないステートメントがあります (メソッドの呼び出しや値の更新でupdateはなく、いずれの場合もプロパティは存在しません)。

または、回転しているグループに線を追加するだけで、それと一緒に回転する必要があります。

于 2013-09-16T08:00:28.377 に答える