Hello to eveyone! And thank you in advance if you are reading my topic.
I’m trying to create a shoe more realistic as possible. I have a problem because the texture is too lucid/glossy. I need it more opaque so it does not reflect the light (see image).
I created the material in this way:
mat = new BABYLON.StandardMaterial("test", scene);
mat.diffuseTexture = new BABYLON.Texture('assets/images/textures/test.jpg', scene);
mat.diffuseTexture.uScale = 2.0;
mat.diffuseTexture.vScale = 2.0;
mat.diffuseTexture.roughness = 1;
mat.detailMap.isEnabled = true;
mat.detailMap.roughnessLevel = 0.80;
But it’s not working. I tried also to create the material with PBRMaterial, but the texture is disapperaring.
How can I do?
First, let me say, that best practice on the forum would be to create a playground replicating your issue. In your case that should be simple enough. And it would help us solve your problem much faster.
But with that said, You are using roughness property on StandardMaterial, which will not do anything. You need to create PBRMaterial. Assign albedoColor/Texture, and adjust roughness and metallic values of PBRMaterial.
Why material is disappearing its impossible to say without live example (playground). Any errors in the console? Maybe you tried to assign diffuseTexture to PBRMaterial for example, which will not work as it needs albedoTexture instead.
Also, you will need some kind of environment texture for PBRMaterial (otherwise they tend to be black, as there is nothing for them to reflect). So you need hdr/dds/env texture in the scene as well if you gonna use PBR