Help with loading gltf textures three.js

I found the referenced question in search of some answers, I hope someone can offer some suggestions with my specific errors from the FBX to GLTF validator.

https://discourse.threejs.org/t/be-solved-gltf-file-can-not-load-texture/3734

I checked the fbx file that I converted with FBX2glTF at the following site: https://gltf-viewer.donmccurdy.com/

The object loads completely white. There are six notes for the object (representing the parts)

Code:
MESH_PRIMITIVE_UNUSED_TEXCOORD
Message:
Material does not use texture coordinates sets with indices (0).
Pointer:
/meshes/0/primitives/0/material

  • Format: glTF 2.0
  • Generator: FBX converter by Facebook
  • Primitives: 5

The output from running FBX2glTF file.fbx is two directories:

file_out: which contains
file.gltf
buffer.bin

and

file.fbm: which contains
example.tif.

I was reading elsewhere that three.js might not be able to read the .tif format so I also saved this as a .png.

I can’t get the texture / image to load and need to know what the message was in the FBX GLTF debugger.

example

If anyone has any suggestions they’d be greatly appreciated.

How does the converted glTF load with other viewers. For example with

If you encounter the same problem, I suggest you open an issue at the official github repo of FBX2glTF:

Hey Mugen87, when loading the fbx into babylonjs.com, the model loads without the texture.

When loading the fbx into sketchfab.com, the materials are rendered correctly.39%20AM

I think it’s also worth noting the error that is displayed in the browser when using the fbx loader.

This seems as if it’s the root of the issue, any recommendations as to how I can work around this would be appreciated.

THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer.
getTexture @ FBXLoader.js:649
(anonymous) @ FBXLoader.js:606
parseParameters @ FBXLoader.js:586
parseMaterial @ FBXLoader.js:487
parseMaterials @ FBXLoader.js:456
parse @ FBXLoader.js:145
parse @ FBXLoader.js:122
(anonymous) @ FBXLoader.js:53
(anonymous) @ three.js:32207
load (async)
load @ three.js:32187
load @ FBXLoader.js:49
init @ 06-load-obj.html:115
(anonymous) @ 06-load-obj.html:49
08:37:10.641

Okay, just for clarification: The FBX file is not loaded correctly with THREE.FBXLoader. So you have tried to convert the file to glTF, but the THREE.GLTFLoader does not produce your expected result since the model is rendered completely white. Is that correct?

Mugen87, yes, you are correct. I’m trying to import the fbx file with three.js FBXLoader. When I do this, i get the following error:

THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer.

This leads me to believe it has no texture because the texture is not supported. It still loads the model.

I tried to convert the fbx file to the gltf format thinking that it might be able to resolve the texture issues. This is not the case.

is there a way to flatten layered textures in modeling software so the FBX model will render with textures? Can you point me toward an fbx file that is formatted properly with textures so I can have someone else that helps me with models compare a working example and a non-working example?

I’m not familiar with layered textures in FBX. Maybe @looeee can help here.

@Mugen87: I figured it out. It was the base layer color in the model, it was set to black. When three.js imports the FBX, the material color for the mesh is inherited from that setting.

At first I was updating the material color as I traversed the object after it loaded. Then was able to figure out where I could change the setting.

Please I have the same issue after exporting a .gltf model I download from sketchfab, to .glb , the model opens well with all textures visible, but when I render it in three the model shows but with no textures.

Maybe try this tutorial. I’m about to do the same for my next job, creating textured GLB assets with Blender for the use in three.js.