Classic terrazzo
================

Material Studio export — contract gridsnap.material 0.1.0
Material mat_6eqtx68c30xa46xpinbsub revision 1 · family terrazzo · created 2026-10-04T12:12:46.024Z
Bake engine 1.0.0 · app 0.1.0

PHYSICAL SIZE
  One repeat of these maps covers 600 mm (U, image width) × 600 mm (V, image height).
  Set your UV/texture scale so that one tile = 0.600 m × 0.600 m.
  The images are square; for a non-square repeat the pixels are not square on the surface.
  Grain/pattern direction: grain none, pattern none (U = image right, V = image up).

MAPS
  Base colour  maps/basecolor.png  — sRGB colour, 1024×1024, 8-bit
  Roughness    maps/roughness.png (channel R)  — Non-Color / linear data, 1024×1024, 8-bit

  Constants (no image file): metalness = 0 (no map; constant); flat normal (no relief map); no occlusion map

  Base colour contains no baked lighting or occlusion; apply AO only as ambient occlusion.
  Channel origin: baseColor=authored, normal=constant, roughness=authored, metalness=constant, occlusion=constant, height=constant
  ("inferred" = artistic estimate from an image, not measured data.)

TILING QA
  Automated seam check: passed (worst boundary/interior ratio 0.852).
  Human seam review: not recorded.

SETUP — tested and untested targets
  Status of each target is listed in the project's compatibility report. Everything below
  is image-map setup guidance; no native material file for these applications is included.

  Blender (Principled BSDF):
    - Base colour → Image Texture, Color Space "sRGB" → Base Color.
    - Normal → Image Texture "Non-Color" → Normal Map node (Tangent Space) → Normal.
      Maps are OpenGL convention, so no green-channel flip is needed.
    - Roughness/metalness/AO → Image Texture "Non-Color" (use the stated channel).
    - Height (optional) → Image Texture "Non-Color" → Displacement node, Midlevel = n/a, Scale = n/a.
    - Mapping node Scale = (surface size in m) / (0.600, 0.600), or use Object/real-world UVs.

  Unreal Engine: import base colour with sRGB on; normal with "Flip Green Channel" ON
    (Unreal expects DirectX-style normals); roughness/metalness/AO with sRGB OFF and
    compression "Masks". UNVERIFIED in a real Unreal import.
  Twinmotion: assign colour, normal, roughness and metallic images in the PBR material; normal
    convention and scale must be checked in the application. UNVERIFIED.
  SketchUp + Enscape / V-Ray: set the texture size to 600 × 600 mm; add the normal/roughness
    maps in the renderer's material editor. UNVERIFIED.
  three.js / glTF: raster row 0 is the top (+V) edge. With glTF UVs (origin top-left) use
    texture.flipY = false; with three.js built-in geometries (v up) use flipY = true.
    roughnessMap reads G and metalnessMap reads B: route grayscale maps or use the ORM file.

LICENCE
  gridsnap-texture-licence-1.0 — redistribution not-granted. Gridsnap Texture Licence: free to use in personal and commercial projects; do not resell or redistribute the files. https://gridsnap.app/textures/licence/

Recipe preset: terrazzo-classic
