0

Geometry created from the three.js API is working fine, but an obj file exported from Blender renders faces when it should be wireframe. Is something wrong with my import or export process?

var loader = new THREE.OBJLoader( manager );
loader.load( '../3d/decoy.obj', function ( object ) {
    object.traverse( function(child) {
        if( child instanceof THREE.Mesh ) {
            child.material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true } ); 
            child.scale.set(20,20,20);
            scene.add( child );
        }
    });
}, onProgress, onError );

enter image description here

WestLangley
  • 102,557
  • 10
  • 276
  • 276
theLucre
  • 121
  • 2
  • 13

1 Answers1

1

Appears to be an issue with the Wavefront .obj format. Exported to Collada .dae and all is well. Just a note, traversal is a method of object.scene, not object as in obj imports.

var loader = new THREE.ColladaLoader( manager );
loader.load( '../3d/decoy.dae', function ( object ) {
    object.scene.traverse( function(child) {
        if( child instanceof THREE.Mesh ) {
            child.material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true, vertexColors: THREE.VertexColors } ); 
            child.scale.set(20,20,20);
            scene.add( child );
        }
    });
}, onProgress, onError );
theLucre
  • 121
  • 2
  • 13