Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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 如何从场景中删除对象_Javascript_Three.js - Fatal编程技术网

Javascript 如何从场景中删除对象

Javascript 如何从场景中删除对象,javascript,three.js,Javascript,Three.js,我想移除场景中的一些圆柱体,以便我可以将新圆柱体放在另一个位置 这就是我放置气缸的方式(这只是为了让你明白我在做什么) 我想用这个按钮拆下钢瓶 <button onclick="ClearMesh();">Clear mesh</button> 清除网格 如果要使用Object3D.getObjectByName(),则必须应用字符串作为参数。更准确地说,Object3D.name,您当前未在应用程序中设置它。像这样的方法应该会奏效: // in your for lo

我想移除场景中的一些圆柱体,以便我可以将新圆柱体放在另一个位置

这就是我放置气缸的方式(这只是为了让你明白我在做什么)

我想用这个按钮拆下钢瓶

<button onclick="ClearMesh();">Clear mesh</button>
清除网格

如果要使用
Object3D.getObjectByName()
,则必须应用字符串作为参数。更准确地说,
Object3D.name
,您当前未在应用程序中设置它。像这样的方法应该会奏效:

// in your for loop

var cylinder = new THREE.Mesh( geometry, material );
cylinder.name = 'cylinder' + i;

// in your ClearMesh() function

scene.remove( scene.getObjectByName( 'cylinder1' ) );
<> P>此外,考虑在创建圆柱体网格时,重用它们的材料和几何结构,如果它们具有相同的属性。只需在
for
循环之外声明它们。否则,应使用相应的
.dispose()
方法,以便在拆卸气缸时释放发动机的内部资源。请查看以了解更多详细信息


three.js R103

那篇帖子上可能重复的答案对我不起作用,所以我希望如果我自己发布这个问题,有人能给我一个有效的答案。我也不能对这篇文章发表评论,所以不能寻求帮助。我仍然没有任何事情发生:/请用一个例子来说明你的问题。否则就很难提供更多的帮助。下面是我想做的一个例子。只需将两边的2留空,这个项目仍然需要一些工作,但我只想让它先工作,这样我就可以更容易地完成这个项目。将javascript代码添加到html代码中,然后你就会看到我的场景
<button onclick="ClearMesh();">Clear mesh</button>
// in your for loop

var cylinder = new THREE.Mesh( geometry, material );
cylinder.name = 'cylinder' + i;

// in your ClearMesh() function

scene.remove( scene.getObjectByName( 'cylinder1' ) );