admin管理员组

文章数量:1294690

I have an array of Meshes, each Mesh has stored in a name property its ID. I would like to ask you, if it is possible to remove from scene an object with specific ID. Something like this.

var geo = some geometry;
var mat = some material;
for (var i = 0; i < 10; i++) {
  var object = new THREE.Mesh(geo, mat);
  object.name = i;  // i would serve as ID in this case
}

After this, I would like to delete/remove some of these objects... Maybe some function like

 remove(id);

....

 var remove = function (id) {
  ... some magic
  scene.remove(...) // and this would remove that object, with id passed as parameter 
 }

Is such a thing possible?

Thanks!

I have an array of Meshes, each Mesh has stored in a name property its ID. I would like to ask you, if it is possible to remove from scene an object with specific ID. Something like this.

var geo = some geometry;
var mat = some material;
for (var i = 0; i < 10; i++) {
  var object = new THREE.Mesh(geo, mat);
  object.name = i;  // i would serve as ID in this case
}

After this, I would like to delete/remove some of these objects... Maybe some function like

 remove(id);

....

 var remove = function (id) {
  ... some magic
  scene.remove(...) // and this would remove that object, with id passed as parameter 
 }

Is such a thing possible?

Thanks!

Share Improve this question asked Sep 4, 2016 at 22:32 xmigasxmigas 1316 silver badges19 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 9

yes it is:

function remove(id) {
  scene.remove(scene.getObjectByName(id));
}

see: Object3D.remove() and Object3D.getObjectByName()

本文标签: javascriptthreejs remove specific object from sceneStack Overflow