Kaaboeld
@Kaaboeld
Web-разработчик

Как в three.js удалить/заменить mesh из объекта?

Примерный код:
...
var grounds = new THREE.Object3D();
scene.add(grounds);
for (var i = 0; i < 5; i++) {
var mat = new THREE.MeshPhongMaterial({
                ambient: 0x888888,
                color: 0xffffff,
                shininess: 30,
                shading: THREE.FlatShading
            });
var geom = new THREE.BoxGeometry(200,200,200);
var mesh = new THREE.Mesh(geom ,mat);
mesh.name = "n-"+i
grounds.add(mesh);
}


Нашел различные варианты, но все сводиться к одному: scene.remove(object), например:
var selectedObject = scene.getObjectByName(object.name);
    scene.remove( selectedObject );

В итоге есть возможность удалить весь Object3d (grounds в данном случае), но не mesh, хотя оно находится через scene.getObjectByName().
  • Вопрос задан
  • 3471 просмотр
Решения вопроса 1
SHVV
@SHVV
А почему бы не сделать так, чтобы на объект был только один меш, а объекты объединить иерархически? Так, что удалять надо будет не меш, а объекты из родительского объекта.
По крайней мере в своём редакторе я так и делал.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы