Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Removing an object loaded with OBJLoader Three.js

This may seem like a very trivial problem but I can't find a solution to this. I've added an object to the scene using OBJLoader as seen below. How can I remove it from the scene? I've tried using code to clear scene.children, but this doesn't remove my "flower.obj"

        const mloader = new THREE.OBJLoader();        
        
        mloader.load
        (
            'models/flower.obj', function(object)
            {
                object.scale.x=1
                object.translateZ(2);
                scene.add(object);
            }
        );
like image 604
Mr guy Avatar asked Apr 23 '26 19:04

Mr guy


1 Answers

You need to save a reference to the loaded object so you can subsequently call scene.remove() when you're ready to get rid of it.

var flower;
const mloader = new THREE.OBJLoader();        
        
mloader.load('models/flower.obj',
    function(object) {
        flower = object;
        flower.scale.x=1
        flower.translateZ(2);
        scene.add(flower);
    }
);

function removeFlower() {
    scene.remove(flower);
}
like image 196
Marquizzo Avatar answered Apr 25 '26 09:04

Marquizzo