diff --git a/src/core/Object3D.js b/src/core/Object3D.js index d2d6bfe8..cae9880b 100644 --- a/src/core/Object3D.js +++ b/src/core/Object3D.js @@ -130,6 +130,7 @@ THREE.Object3D.prototype = { }, remove: function ( object ) { + var scene = this; var childIndex = this.children.indexOf( object ); @@ -138,6 +139,20 @@ THREE.Object3D.prototype = { object.parent = undefined; this.children.splice( childIndex, 1 ); + // remove from scene + + while ( scene.parent !== undefined ) { + + scene = scene.parent; + + } + + if ( scene !== undefined && scene instanceof THREE.Scene ) { + + scene.removeChildRecurse( object ); + + } + } },