Same offset and repeat value for all textures

Hi,

after some tests and read the doc , in offset section of Texture:

" The below texture types share the first uv channel in the engine. The offset (and repeat) setting is evaluated according to the following priorities and then shared by those textures:

  1. color map
  2. specular map
  3. displacement map
  4. normal map
  5. bump map
  6. roughness map
  7. metalness map
  8. alpha map
  9. emissive map
  10. clearcoat map
  11. clearcoat normal map
  12. clearcoat roughnessMap map"

I would like to understand what you mean with “the offset (and repeat) setting is evaluated according to the following priorities” because it seems that all texture slots are using simply the offset and repeat value of ‘color map’ slot.

My question is also why do you decided to share these values ? It seems to be a big constraint for 3d artist to use same tiling and offset for, e.g. , color map and clearcoatNormalMap, these textures have nothing to share in my opinion. But I probably missed something.

Thanks

I would like to understand what you mean with “the offset (and repeat) setting is evaluated according to the following priorities” because it seems that all texture slots are using simply the offset and repeat value of ‘color map’ slot.

That’s basically correct – if the color map exists, its transform is used for the entire group. If the color map does not exist, we move on to check the specular map, and so on.

My question is also why do you decided to share these values?

Supporting different transforms for each texture is complicated and requires generating more more variations of the GLSL shaders that render three.js materials. The limitation may be fixed someday, I’d subscribe to GLTFLoader does not support texCoord fields · Issue #12608 · mrdoob/three.js · GitHub and NodeMaterial · Issue #7522 · mrdoob/three.js · GitHub for updates.

1 Like