Some glb model textures are black when loading in threejs

I have a glb model (model is attached). All textures are shown correctly in Blender and https://sandbox.babylonjs.com/
But when I load it in threejs, some textures are black (clothes).
Any ideas what can be wrong?
enimy.glb (4.8 MB)

Light is added to the scene, the loading code is standard:
const loader = new GLTFLoader();

loader.load(‘models/enimy.glb’, function (gltf) {
const model = gltf.scene;
scene.add(model);
});


Do you have shadows enabled or anything related to shadows enabled…I recommend using a hemisphere light to check that.

If not…export the model in blender as a GLTF and texture file…this way you can see what the textures look like, and you can edit them as per needed.

HDR envMap

Thank you for detailed answer.
I checked shadows using hemisphere light as you suggested - I don’t see shadows enabled.

I exported GLTF and see that textures looks OK

thank you for checking this, but I think it should work without using HDR envMap? though I am really new to 3D design so I may be wrong)

So did you solve the problem or is it still unresolved…if it isn’t, my last guess would to try a different model and check for similar issues…like I’ve said before, your welcome to email me too

no, it is not solved(
good idea, thank you, will try another model

Ohhh… I think I figured it out… if your using orbit controls, then zoom in and out… I wonder if the layers of the models clothing are messed up. Babylon Js may have something enabled that makes it so you never have texture layers on top of one another…

The best way to figure that out would be to edit all the colors of your texture:

And then load it in…

PS: I also just noticed something else…the color of those pants may be what the color of the shirt is…it seems rather dark…maybe try turning those to pink and see if it makes a difference…
I’m sorry if this still was not useful…

Like I’ve said before on other chats… Your welcome to email me at Jackson.uptain@gmail.com, and I would be happy to correspond and try to fix this issue… Thanks! - Jackson U.

I realized something else too. So what if there are layers in your texture… those pants are a layer, and anything that is not pants should be TRANSPARENT… what if the layer doesn’t be come transparent and ends up being this blur of some sort…

Possibly the stupidest hypothesis you will ever hear or see, but it’s the best I got…
I hope more poeple see this post and pitch in their Ideas…cause mine are quite bad. -JU

JU from the future…Sorry but had to say this too…Scale of your model may impact textures being on top of one another etc.

Hello JacksonUptain!
Actually you are right, there is a problem with texures, they are just too dark, so using external tool, I increased brightness on clothings - and now it looks fine
So thank you, you really helped to understand where is the root of the problem
image

Yeah… no problem: I’m glad you figured it out. I’m sure people will look back at this post, cause model issues are very common…
For future reference, can you put the link below so others will know the Solution… or just mark my post about the lighting as the solution. Thanks! -JU

1 Like

To elaborate, is this due to the materials metalness channel being set higher than 0?

Just “HDR envMap” + code:

renderer.toneMapping = THREE.ACESFilmicToneMapping;
renderer.toneMappingExposure = 1;
renderer.outputEncoding = THREE.sRGBEncoding;

image
renderer.toneMapping = 1;
image

Thx bro… feel free to reach out if you have any other issues - a fresh pair of eyes is always helpful