//var 3 obj models, cushion, backrest and frame , and var chair01 as a group for including 3 obj
var cushion;
var backrest;
var frame;
var chair01 = new THREE.Object3D();
var loader = new THREE.OBJLoader( manager );
//load obj model with function
loadObj("chair/obj/cushion.obj", cushion, materialCushion);
loadObj("chair/obj/backrest.obj", backrest, materialBackrest);
loadObj("chair/obj/frame.obj", frame, materialFrame);
function loadObj(path, name, material) {
loader.load('model-stuff/' + path, function( object ) {
object.traverse( function ( child ){
if ( child instanceof THREE.Mesh ) {
var uvs = child.geometry.attributes.uv.array;
child.geometry.addAttribute( 'uv2', new THREE.BufferAttribute( uvs, 2 ) );
child.material = material;
child.receiveShadow = true;
child.castShadow = true;
}
});
name = object;
name.position.y = -10;
chair01.add( name );
}, onProgress, onError);
}
//add chair01 into scene
scene.add(chair01);
//remove frame from chair01
manager.onLoad = function() {
chair01.remove(frame);
}
Code above, i loaded obj with a loadObj function, but why i cannot remove the "frame" from chair01?
i have tried another method,if i didn't load obj via loadObj funtion, i can remove frame from chair01