Hi everyone,
I’m working on a 3D kitchen configurator where clients can apply different tile textures to cabinets, backsplashes, and countertops. Each texture has real-world dimensions (e.g., 50×50 cm, 60×60 cm, 45×45 cm , ….).
The challenge is that many surfaces are not simple rectangles — some are L-shaped, curved, or multi-part meshes. I want to UV unwrap my model once in Blender so that I can apply any texture in Three.js with correct real-world tiling, without stretching, shrinking, or distorting the tiles. I need real repetition in the result, not more, not less.
Currently, I:
-
Measure each mesh surface in meters.
-
Measure the texture tile size in meters.
-
Calculate how many tiles should repeat.
-
Set
texture.repeat.set(...)in Three.js.
However, the output is often incorrect — the tiles don’t match the intended scale. I’ve read that each texture normally needs a separate UV map, but I want to avoid re-UVing for every texture.
My questions:
-
What’s the recommended workflow in Blender to create a UV map that works for any tile texture with real-world dimensions, even on L-shaped or curved surfaces?
-
How should I handle merged or multi-part meshes to ensure correct tiling?
-
Are there any Three.js best practices for dynamically applying tile textures without distortion?
Thanks in advance for any guidance!
