Aged copper standing seam
=========================

Material Studio export — contract gridsnap.material 0.1.0
Material mat_m70gs8ybl9p6sq4939pgv9 revision 1 · family metal · created 2026-10-05T14:47:00.343Z
Bake engine 1.0.0 · app 0.1.0

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

MAPS
  Base colour  maps/basecolor.png  — sRGB colour, 2048×2048, 8-bit
  Normal       maps/normal-gl.png  — Non-Color / linear data, 2048×2048, 8-bit, OpenGL convention (+Y / green = up)
  Roughness    maps/roughness.png (channel R)  — Non-Color / linear data, 2048×2048, 8-bit
  Metalness    maps/metalness.png (channel R)  — Non-Color / linear data, 2048×2048, 8-bit
  Occlusion    maps/ao.png (channel R)  — Non-Color / linear data, 2048×2048, 8-bit
  Height       maps/height-16bit.png  — Non-Color / linear data, 2048×2048, 16-bit
               sample 0..1 → -0.434 … 25.262 mm (h = min + s × (max − min)); 0 mm is the nominal finished face; negative values are recessed (joints, pores).

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

TILING QA
  Automated seam check: passed (worst boundary/interior ratio 0.812).
  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 = 0.0169, Scale = 0.02570 (metres).
    - Mapping node Scale = (surface size in m) / (1.500, 1.500), 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 1500 × 1500 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: copper-standing-seam
