normalMap scale and intensity being reset

Trying to work on a product configurator with a GLTF model, if I update values for model.material.normalMap, model.material.roughnessMap, and model.material.metalnessMap all seem to have their scale and intensity levels from Blender changed.

Is there something linked about these values when I don’t set a new material and just update the

When changing color textures (e.g. map or emissiveMap) it necessary to configure the correct encoding for the texture like so:

texture.encoding = THREE.sRGBEncoding; // sRGB color space

In any event, you have to configure the following to honot the texture coordinates convection of glTF.

texture.flipY = false;

Normally, GLTFLoader does this configuration automatically. If you change textures, you have to do this by yourself. More information in this guide (section Textures):

We aren’t using sRGB encoding the (what is it linear encoding?) matches our actual output colors closer. flipY is set to false.

Before setting

the normal is scaled as set in blender

After setting

normal jumps to this 1:1 scale.

Can you please try to perform the following copy of texture parameters before assigning the new texture?

texture.wrapS = oldTexture.wrapS;
texture.wrapT = oldTexture.wrapT;
texture.offset = oldTexture.offset;
texture.rotation = oldTexture.rotation;
texture.repeat = oldTexture.repeat;

sRGB encoding is automatically set by the loader and the recommended color space when displaying glTF models. I suggest you study a bit gamma, linear and sRGB color space to better understand the importance of this topic. There are a lot of existing resources available in the internet.