three.js how to make double sided object

2019-01-25 05:04发布

问题:

Blender export obj don't export double sided objects. How can I render objects in double sided mode. I tried this without succes:

var loader = new THREE.OBJMTLLoader();
    loader.load('models/test.obj');
    loader.addEventListener( 'load', function ( event ) {
        objects = event.content;
        objects.position.set(0,5,0);
        objects.scale.set(1.5,1.5,1.5);
        objects.mesh.doubleSided = true;
        scene.add(objects);
    });

回答1:

In your case, you add the following to your callback function:

objects.traverse( function( node ) {
    if( node.material ) {
        node.material.side = THREE.DoubleSide;
    }
});

The doubleSided property of Mesh is deprecated. It was replaced with the side property of Material

Also, it is best to learn from three.js examples that work with the current version of the library.

three.js r.57