Obj 3D bumpy texture issue

Facing issue with the quality of the texture while loading .obj/.mtl format. (using IBL)
When we zoom-in, we see such bumpy texture.
cloth

mtl file content :
d 1.000000
map_Kd basecolor.png
map_bump normal.png
map_Ks specular.png

I think this issue is because, in mtl file, bump scale(-bm ) is not provided and MeshPhong default bumpScale value is 1, so we will get smooth texture if bumpscale is 0.
Why three js has default bumpScale setting to 1?

With a bump scale of zero, the bump map has no effect at all. Same for normal maps and normal scale.

we have multiple obj-mtl files, which uses bump map and since in the MTL file, -bm attribute is not provided, default threejs taking value 1, 3D model looks very bumpy.
So through traversing, we can change the value of the bump scale. But in the future, if some MTL files, actually contain -bm value. how to handle this scenario, since the code will be the same for all 3Ds??

MTLLoader already parses the -bm parameter:

But it seems the parsed value is not yet set to the bumpScale of the material. I guess we need a PR to fix this.

Do you mind sharing a OBJ/MTL file for testing?

apologies. Wont be able to share the file.
but
-bm is an optional parameter right?? if in MTLFile we don’t provide any bumpscal multiplier and just map_bump filename.jpg.
Then three js default is 1.
so I am guessing its because of that, object is looking very bumpy??

Well, like I said before 1 is a proper default value and it won’t be changed. If it the material looks too bumpy, update the bump map or modulate bumpScale.

when ever any user uploads obj/fbx, I have a single code rendering the model.
to handle the bumps, if I traverse through the uploaded object, and add any bumpscale value,
so it will also, override any other MTL file which contains -bm.
Every time, object will render according to my given value, which is not correct I guess??
any other way to handle this issue?

Sorry, I’ve not read the code correctly. I’ve checked it on my computer and the -bm parameter is correctly set to MeshPhongMaterial.bumpScale.

yes it is working fine. If we provide -bm value in MTLFile, it sets the value.