Skip to content

Architecture

How the _Core library is built. For advanced users who want to read the graphs or build their own master. See also: Naming and standards, Editing the masters.

How a master works

  • Every surface comes from MF_KurinMaster (textures, color, normal, roughness, height). Layered masters call it once per layer.
  • Add-ons are separate MF_Kurin... functions, chained one after another on Material Attributes. Each sits behind its own Use ...? switch.
  • Each master has one output point: Break → Make Material Attributes → Output. Features never write into the output directly.
  • Surface add-ons (Cover, Dust, Weather, Landscape Blend, Fuzzy Shading) also output their mask (0..1), so a custom master or a future Substrate setup can reuse them.
flowchart LR
  A[MF_KurinMaster] --> B[Layer blend] --> C[Fuzzy / Emissive / Opacity / Dust] --> D[Landscape Blend] --> E[Cover] --> F[Weather] --> G[Break - Make - Output]
  W[Wind / Cloth Wind] -. WPO .-> G

Not every master has every step: single-surface masters skip the layer blend, layered masters skip Fuzzy / Emissive / Opacity / Dust.

Functions

Function What it does Extra outputs
MF_KurinMaster One full surface from Base Color, NNMR, Mask and Height Map; parallax inside Mask, Height
MF_KurinNormalReconstructZ Rebuilds the normal from NNMR / NNOR
MF_KurinParallax Relief parallax (used by MF_KurinMaster)
MF_KurinVtxBlend Height-aware blend of two layers Alpha, Border Signal
MF_KurinWeather Wetness, puddles, rain, streaks, shore, submerged, ice, frost, condensation Wetness / Puddle / Frost / Submerged / Condensation Mask
MF_KurinCover Moss, snow, leaves on top Cover Mask
MF_KurinDust Dust on up-facing surfaces Dust Mask
MF_KurinRVTBlend Landscape Blend from the Runtime Virtual Textures Landscape Blend Mask
MF_KurinFuzzy Fuzzy Shading Fuzzy Mask
MF_KurinEmissive Glow by a Mask Map channel
MF_KurinOpacityMask Cut-out, invert, contrast, camera fade
MF_KurinFoliage, MF_KurinSubsurface Foliage color variation, bush normals; light through leaves
MF_KurinVegetationWind, MF_KurinClothWind Foliage wind; waving cloth (WPO)
MF_KurinScreen Screen image / flipbook with CRT and LCD effects
MF_KurinInterior Fake rooms, blinds, cracks and grime behind glass Interior Mask, Interior Depth
MF_KurinWaterRipplesNormal, MF_KurinWaterWaves Water ripples; puddle waves inside Weather

Masters

Master Built from
MM_KurinAsset_01a MF_KurinMaster + Fuzzy, Emissive, Opacity, Dust, Landscape Blend, Cover, Weather, Cloth Wind
MM_KurinAssetFoliage_01a MF_KurinMaster + Foliage, Opacity, Subsurface, Vegetation Wind
MM_KurinAssetVtxBlend_01a 3 × MF_KurinMaster + VtxBlend, Landscape Blend, Cover, Weather
MM_KurinAssetMaskBlend_01a 4 × MF_KurinMaster + VtxBlend, Landscape Blend, Cover, Weather
MM_KurinLandscape_01a 4 × MF_KurinMaster + layer blend, cliff, macro variation, Cover, Weather
MM_KurinAssetDecalMasked_01a, MM_KurinAssetDecalTranslucent_01a MF_KurinMaster + Opacity, Weather
MM_KurinAssetGlass_01a Own glass surface + Opacity, Weather
MM_KurinInterior_01a Glass base + MF_KurinInterior, Weather
MM_KurinScreen_01a MF_KurinMaster + MF_KurinScreen
MM_KurinWater_01a Own Single Layer Water graph + MF_KurinWaterRipplesNormal
MLB_KurinMaterialLayered Material Layers stack (MLB_KurinAssetLayer, blends MLB_KurinMask / Direction / WorldHeight) + Cover, Weather

Shared assets

Asset Used by
MPC_KurinWeather Use Global Weather?, Use Global Cover?
MPC_KurinWind Use Global Wind?, Use Interaction?
RVT_KurinLandscapeColor, RVT_KurinLandscapeHeight Landscape Blend

Details: Presets and helper assets.