diff --git a/src/core/Object3D.js b/src/core/Object3D.js index d2d6bfe8..1c827e34 100644 --- a/src/core/Object3D.js +++ b/src/core/Object3D.js @@ -130,14 +130,29 @@ THREE.Object3D.prototype = { }, remove: function ( object ) { + var scene = this; - var childIndex = this.children.indexOf( object ); + var childIndex = this.children.indexOf( child ); if ( childIndex !== - 1 ) { - object.parent = undefined; + child.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( child ); + + } + } },