Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 三个.js行不更新_Javascript_Three.js_Geometry_Vertices - Fatal编程技术网

Javascript 三个.js行不更新

Javascript 三个.js行不更新,javascript,three.js,geometry,vertices,Javascript,Three.js,Geometry,Vertices,我正在使用three.js。和行不更新。我想实时延长这条线 我认为,首先,通过读取这两个数据可以画出一条线 二是场景清晰 第三,阅读第三条信息和延长线 第四,场景清晰 最后,在线实时性更长 但是,这一行没有生成 var geometry = new THREE.Geometry(); var material = new THREE.LineBasicMaterial ({color : 0x0100FF, linewidth : 6}); function line_(k){

我正在使用three.js。和行不更新。我想实时延长这条线

  • 我认为,首先,通过读取这两个数据可以画出一条线
  • 二是场景清晰
  • 第三,阅读第三条信息和延长线
  • 第四,场景清晰
  • 最后,在线实时性更长
但是,这一行没有生成

var geometry = new THREE.Geometry();
var material = new THREE.LineBasicMaterial ({color : 0x0100FF, linewidth : 6});
function line_(k){
            if(k-1 >= 0){
                geometry.vertices.push (new THREE.Vector3 (py[k]*API.Orbit_Scale ,pz[k]*API.Orbit_Scale ,px[k]*API.Orbit_Scale));
            }
            else{
                geometry.vertices.push (new THREE.Vector3 (0,0,0));
            }
            line = new THREE.Line (geometry, material);
            line.geometry.verticesNeedUpdate = true;
            scene.add (line);
        }

function animate(){
            onWindowResize();
            line.geometry.verticesNeedUpdate = true;
            renderer.render(scene, camera);
            scene.remove(line);
            requestAnimationFrame(animate);
        }

使用
THREE.Geometry
实例,您可以更新阵列中现有顶点的位置,并使用
verticesNeedUpdate
设置线的动画。无法将顶点添加到现有直线上,并希望
verticesNeedUpdate
使用添加的顶点绘制新线

向现有直线几何图形添加顶点的最简单解决方案是:

  • 从场景中删除旧行
  • 创建具有额外顶点的新线
  • 将线添加到场景中
也可以将其绑定到动画循环


如果要在不删除/添加几何体的情况下设置动画,则必须使用带有
drawCalls
THREE.BufferGeometry
实例。如何做到这一点您可以阅读