Unexpected Wireframe Display

Hi, I have a garment mesh which i can render in blender correctly. However, when i use in three.js with obj and mtl loaders, interestingly i can get a result similar to wireframe which i didn’t want.

mtlLoader.load( mtl_base_path+data[key+"_mtl"], function( materials ) {

        let objLoader = new OBJLoader();
        objLoader.setMaterials( materials );
        objLoader.load( obj_path, function ( object ) {

        }, function (xhr) {
            'Garments:' + (xhr.loaded / xhr.total) * 100 + '% loaded'
        // called when loading has errors
        function (error) {
          console.log('An error happened in',key)
        } );

the mtl file like in the below

Blender MTL File: ‘None’

Material Count: 1

newmtl Skirt_Cotton_FRONT_1170775
Ns 5.000001
Ka 1.000000 1.000000 1.000000
Kd 1.000000 1.000000 1.000000
Ks 0.025778 0.025778 0.025778
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd gaberdine_black_cotton_R204_G255_B102.png

Do you mind sharing the OBJ/MTL asset in this topic?

Sure they are here. By the way, when i traverse the object from objloader isMesh returns false everytime and i don’t know why
skirt-small_phvnjtytjb_exported.obj (649.0 KB)
skirt-small.mtl (294 Bytes)

Strange, it seems that the OBJ defines two line primitives at the end of the file:

l 1809 640
l 4429 410

If I remove those lines, the asset is interpreted correctly as a mesh.

Since you are exporting from Blender, I suggest you use the more modern glTF. I’m not yet sure if this is a bug in the loader or maybe invalid OBJ.