Skip to content

Texture preparation

Every surface needs only Base Color and NNMR. The rest is optional: add it when a feature asks for it.

Required (every asset)

Texture R G B A Compression sRGB
Base Color Map (T_Name_BC) Color Color Color Opacity (Foliage, decals) or none No alpha = BC1; with opacity Default (BC7) On
NNMR Map (T_Name_NNMR) Normal X Normal Y Metallic Roughness BC7 Off

Optional (only when you use the feature)

Texture When R G B A Compression sRGB
Height Map (T_Name_H) Use Height Map?: height blending, puddles, Cover, Parallax Height - - - Alpha (no sRGB, BC4 on DX11) Off
Mask Map Use Mask Map?: masks for Emissive, Opacity, Mask Tint, AO Mask Mask Mask AO (optional) Masks Off
NNOR Map (T_Name_NNOR) Foliage, instead of NNMR Normal X Normal Y AO Roughness BC7 Off
Blend Mask (UV1) MaskBlend master Layer R Layer G Layer B - Masks Off

Library textures (ship with KurinStudio, nothing to make)

Already set up in _Core/Textures. You need this only to re-import them or make your own; Tools/KurinFixTextureSettings.py restores the settings in one click.

Texture Used by R G B A Compression sRGB
T_KurinRain..., T_KurinNoise, T_KurinIceCracks, T_KurinPuddleWind_01a, T_KurinWaterGusts Weather, Water data data data data Masks Off
T_KurinCaustics Water, Weather Caustics - - - Grayscale Off
T_KurinFrost (Frost Map) Weather Frost Frost patches Crystal normal X Crystal normal Y Crystal height BC7 Off
T_KurinCondensation (Condensation Map) Weather Condensation Fog density Bead normal X Bead normal Y Bead mask BC7 Off
T_KurinGlassCracks_01a / 02a (Cracks Map) Glass, Interior Direction X Direction Y Shard ID Crack line BC7 (Masks / DXT is too coarse for the shard ID) Off
T_KurinGlassCracks_01a_S / 02a_S (Cracks Shard Map) Glass, Interior Shard centre U Shard centre V Fall order - BC7 Off
Interior Cubemap (T_KurinInteriorRoom_01a or your capture) Interior TextureCube of the room HDR, or Default (LDR) to save memory Off for HDR
T_KurinInteriorBlinds_01a, T_KurinInteriorCurtain_01a, T_KurinGlassDirt_01a Interior, Glass Color Color Color Opacity / amount Default On

Rules that prevent most problems

  • Masks: every single-channel mask has a ... Channel selector (R / G / B / A) in the instance, so several masks can share one texture.
  • Never use Normalmap compression for NNMR / NNOR: metallic and roughness get lost.
  • Normals are DirectX (Y−). OpenGL normals (Blender, some Substance presets): tick Flip Normal Green? in 00 Settings.
  • Height = its own Height Map (R, Alpha compression, never VT). Tick Use Height Map?; off = flat surface.
  • No height in Base Color alpha. Leave alpha out (BC1, half the memory) or use it for opacity (foliage, decals).
  • Metallic = NNMR blue. Non-metals: keep it black and leave Use Metallic? off.
  • AO is optional: Mask Map alpha + Use AO?. With Lumen most assets can skip it.

Substance Painter export

Output template with these maps (PNG or TGA):

  • $textureSet_BC: RGB = Base Color, A = opacity (foliage, decals only). 8-bit.
  • $textureSet_NNMR: R / G = Normal DirectX R / G, B = Metallic, A = Roughness. 16-bit PNG gives smoother normals.
  • $textureSet_H: R = Height. 8-bit is enough.
  • AO (optional): into the Mask Map alpha, RGB = masks.