Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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/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
Javascript 在THREE.r84中从场景中添加和删除三个点_Javascript_Three.js - Fatal编程技术网

Javascript 在THREE.r84中从场景中添加和删除三个点

Javascript 在THREE.r84中从场景中添加和删除三个点,javascript,three.js,Javascript,Three.js,我最近从three.js版本71切换到版本84。 使用THREE.PointCloud时,很容易从场景中更新(添加和删除)点,如下所示: function updatePoints(newData) { geometry.dispose(); geometry.vertices = []; geometry.vertices.push(...); scene.add(newPoints); render(); } 现在在修订版84中,三点云被三点云

我最近从three.js版本71切换到版本84。 使用THREE.PointCloud时,很容易从场景中更新(添加和删除)点,如下所示:

function updatePoints(newData) {

    geometry.dispose();
    geometry.vertices = [];

    geometry.vertices.push(...);

    scene.add(newPoints);
    render();
}
现在在修订版84中,三点云被三点云所取代,这种模式不再有效,我不知道为什么会这样。 我的实际代码在r71中运行得非常好,但在r84中只有一些点被删除。光线投射器不处理应移除的点,也不能对它们设置动画,但它们不会从场景中消失

我通过添加
scene.remove(oldPoints)尝试了多种方法
geometry.verticesNeedUpdate=true以及添加不同的
设置超时。所有这些都不起作用

任何帮助都将不胜感激

谢谢,


k

由于您已经需要重新创建顶点,因此重新创建整个云不需要太多工作:

geometry.dispose();
geometry = new THREE.Geometry();

geometry.vertices.push(...);

scene.remove(pointCloud);
pointCloud = new THREE.Points(geometry, material);
scene.add(pointCloud);

谢谢斯芬XXX!这太棒了。你是对的,这工作很完美,不需要太多的努力。我仍然不清楚为什么这不再有效,但我完全可以这样做。