MTLLoader load textures not complete

I try to load a model by using OBJLoader and MTLLoader, however textures isn’t loaded uncompelete.

core code is inspired by office demo

   mtlLoader.setMaterialOptions({side:THREE.DoubleSide}).load(model.mtl, (mtlParseResult) => {
      const materials = MtlObjBridge.addMaterialsFromMtlLoader(mtlParseResult)
      objLoader.addMaterials(materials)
      objLoader.load(
        model.obj,
        this._loadSuccess.bind(this),
        this._loadProgress.bind(this),
        this._onError.bind(this)
      )

and mtl file is

# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# �������ļ�:15.12.2020 16:47:34

newmtl _1903_0359_00020_04_high_1903_0359_00020_01_high1903_0359_00020_01_MID
	Ns 6.0000
	Ni 1.5000
	d 1.0000
	Tr 0.0000
	Tf 1.0000 1.0000 1.0000 
	illum 2
	Ka 0.5500 0.5500 0.5500
	Kd 0.5500 0.5500 0.5500
	Ks 0.0000 0.0000 0.0000
	Ke 0.0000 0.0000 0.0000
	map_Ka /1903_0359_00020_01_low.jpg
	map_Kd /1903_0359_00020_01_low.jpg

newmtl _1903_0359_00020_04_high_1903_0359_00020_02_high1903_0359_00020_02_MID
	Ns 0.0000
	Ni 1.5000
	d 1.0000
	Tr 0.0000
	Tf 1.0000 1.0000 1.0000 
	illum 2
	Ka 0.5500 0.5500 0.5500
	Kd 0.0000 0.0000 0.0000
	Ks 0.0000 0.0000 0.0000
	Ke 0.0000 0.0000 0.0000
	map_Ka /1903_0359_00020_02_low.jpg
	map_Kd /1903_0359_00020_02_low.jpg

newmtl 1903_0359_00020_03_MID
	Ns 0.0000
	Ni 1.5000
	d 1.0000
	Tr 0.0000
	Tf 1.0000 1.0000 1.0000 
	illum 2
	Ka 0.5500 0.5500 0.5500
	Kd 0.0000 0.0000 0.0000
	Ks 0.0000 0.0000 0.0000
	Ke 0.0000 0.0000 0.0000
	map_Ka /1903_0359_00020_03_low.jpg
	map_Kd /1903_0359_00020_03_low.jpg

newmtl 1903_0359_00020_04_MID
	Ns 0.0000
	Ni 1.5000
	d 1.0000
	Tr 0.0000
	Tf 1.0000 1.0000 1.0000 
	illum 2
	Ka 1.0000 1.0000 1.0000
	Kd 1.0000 1.0000 1.0000
	Ks 0.0000 0.0000 0.0000
	Ke 0.0000 0.0000 0.0000
	map_Ka /1903_0359_00020_04_low.jpg
	map_Kd /1903_0359_00020_04_low.jpg

mtl has 4 textures but it only render 2 textures finally. is there any way to accomplish it? thanks!

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

Hello, I was inspired by the office demo
https://threejs.org/examples/?q=obj#webgl_loader_obj_mtl
while I try using the model download from
https://sketchfab.com/3d-models/pony-cartoon-885d9f60b3a9429bb4077cfac5653cf9
Textures didn’t show…
in .mtl file it has multiple newmtl definitions. is this the reason causing error? or I can’t find the solution in office doc, thank for your help!

I supply a code sandbox:
https://codesandbox.io/s/model-viewer-1q2ge?file=/src/index.js
should I fix something if the .mtl file has multiple newmtl definitions? thank you!!! love you

Updated codesandbox: model-viewer (forked) - CodeSandbox

The problem is that the MTL contains this statement for the materials diffuse color:

Kd 0.00 0.00 0.00

The consequence of this setting is explained here: OBJLoader + MTLLoader not loading texture image - #4 by Mugen87

For now, I’ve manually resetted the color property to its original value.

Besides, use OBJLoader instead of OBJLoader2 (which has been removed with r125).

  new MTLLoader().load(mtlPath, function (materials) {
    materials.preload();
    new OBJLoader().setMaterials(materials).load(objPath, loadSuccess, undefined, onError);
  });

Or even better, use glTF instead of OBJ.

it worked ! thank you ! owing to there are thousands of model built by obj. it’s hard to use glTF in the near future, I’ll try