Javascript 清除WebGL画布,三个.JS

Javascript 清除WebGL画布,三个.JS,javascript,canvas,opengl-es,three.js,webgl,Javascript,Canvas,Opengl Es,Three.js,Webgl,我正在使用three.js中的WebGLRenderer,无法清除画布。基本上,我有一个方法,不断向场景添加另一个对象,但在添加之前清除子对象。比如说 group = new THREE.Object3D(); function add(object){ group.children = [];//clears the group children first group.add(object); } 我想这会让事情变得明朗,但我错了。我已经习惯了为我做这件事。有人知道我应该

我正在使用three.js中的WebGLRenderer,无法清除画布。基本上,我有一个方法,不断向场景添加另一个对象,但在添加之前清除子对象。比如说

group = new THREE.Object3D();

function add(object){
    group.children = [];//clears the group children first
    group.add(object);
}

我想这会让事情变得明朗,但我错了。我已经习惯了为我做这件事。有人知道我应该如何清除WebGL画布吗?

清除画布和清除场景图的子树是两件不同的事情

清除画布可以通过
renderer.clear()
来完成,假设您的
THREE.WebGLRenderer
名为
renderer


清除场景图的子树可以通过
group.remove.apply(group,group.children)
或(在现代JavaScript中)
group.remove(…group.children)
完成。不建议只将一个新数组分配给
group.children
,因为这会弄乱内部结构。使用
组添加。添加(对象)
并使用
组删除。删除(对象)

,查找
.clear()
函数。我使用该函数时没有任何效果。group.remove(group.children);