108 lines
5.4 KiB
Markdown
108 lines
5.4 KiB
Markdown
# wgt01 Texture Kit & Design — Spec
|
||
|
||
Date: 2026-07-05 · Branch: `wgt01-tileset-kit` · Status: **shipped & merged** (see "As shipped" below; gaps tracked in `2026-07-05-wgt01-texture-kit-gaps.md`)
|
||
|
||
## Goal
|
||
|
||
Assemble the material/texture kit for **wgt01** (Westgate Urban Foundation
|
||
tileset): dark gothic ground grammar only — streets, sidewalks, plazas, curbs,
|
||
gutters, raised tiers, ramps, canals, bridges. No buildings (placeables later).
|
||
Palette and material language follow `wgt01/concept-art-1.png` (8 material
|
||
slots) and `wgt01/VIBE.md` (noir dark fantasy, rain-slick, early
|
||
industrial-magical shown only through ground grammar).
|
||
|
||
## Approach (decided)
|
||
|
||
**Hybrid curated**, Procampur-first with a small internet pull:
|
||
|
||
- Base structure from `/home/vicky/Blender/PBR_Procampur` (PBR retexture of
|
||
stock `tcn01` City set: `_d/_h/_n` maps + `.mtr`, NWN-correct tiling scale).
|
||
Confirmed too grey-green/warm as-is → every diffuse gets a uniform regrade.
|
||
- Fresh CC0 pulls (ambientCG / Polyhaven or similar) only for slots Procampur
|
||
lacks: plaza slabs, possibly sidewalk flagstone and bridge arch stone.
|
||
- `pd textures main lib` is fallback only (Roads is mostly modern asphalt; the
|
||
dark pebble-cobble pattern is a candidate wet-cobble alternate).
|
||
|
||
Rejected: pure Procampur rename (not dark enough); all-internet (discards
|
||
ready-made NWN conventions, most work).
|
||
|
||
## Deliverables
|
||
|
||
1. `wgt01/textures/` — the kit. Per material slot: `wgt01_<slot>_d/_h/_n.tga`
|
||
(+ `_s` where available) and `wgt01_<slot>.mtr`. All resrefs ≤ 16 chars,
|
||
`wgt01_` namespace. No originals modified in `/home/vicky/Blender`.
|
||
2. `wgt01/textures/SOURCES.md` — per-file provenance + license notes
|
||
(Procampur origin filename, or CC0 URL/asset id).
|
||
3. `wgt01/regrade.sh` (or small script) — the single ImageMagick recipe
|
||
(levels + desaturate + cool tint, ~35% darken) applied to all diffuses so
|
||
the kit shares one palette. Reproducible; height/normal maps pass through
|
||
untouched; missing `_s` generated from darkened diffuse.
|
||
4. Materials wired into `wgt01/wgt01.blend` on the tile prototypes
|
||
(named `MAT_wgt01_<slot>`, image-based, matching KICKOFF material roles).
|
||
|
||
## Material slots
|
||
|
||
| # | Slot (concept sheet) | Source | Notes |
|
||
|---|---|---|---|
|
||
| 1 | Wet cobblestone | `tcn01_cobb02` d/h/n | regrade; specular boosted for rain-slick |
|
||
| 2 | Worn stone / patches | `tcn01_cobb05` | regrade; broken/repair variant |
|
||
| 3 | Plaza stone (large slabs) | internet CC0 flagstone/slate | grade to palette |
|
||
| 4 | Curb / sidewalk stone | `tcn01_stone04` or internet flagstone | pick after regrade test |
|
||
| 5 | Retaining wall stone | `tcn01_brick03` + `tcn01_slum01`; `tcn01_watrstn02` waterline overlay near canals | regrade |
|
||
| 6 | Bridge stone | `tcn01_stone04`/`brick03` variant; internet arch stone if needed | regrade |
|
||
| 7 | Dark gutter / drain | `tcn01_grate01`/`grill01` iron + darkened stone channel | near-black, wet; grate01 is DDS-only → convert |
|
||
| 8 | Canal / dark water | authored near-black water diffuse; `.set` `EnvMap` | `tcn01_water01` too green; animation later |
|
||
|
||
Grime layer (not a slot): `tcn01_splotch*`/`stain*` alpha decals reused as-is.
|
||
|
||
## Tile grammar (context, unchanged)
|
||
|
||
Prefix `wgt01`; terrains `cobble` / `plaza` / `canal`; crossers `street` /
|
||
`sidewalk` / `canal_edge`; `Transition=1.5`; raised tier = cobble at corner
|
||
height 1 (not a terrain). Kept minimal per the terrain-pairing cost rule in
|
||
root `AGENTS.md` §2.1. Canal water sits at Z = −0.3 under a non-walkable
|
||
walkmesh.
|
||
|
||
## Out of scope
|
||
|
||
Buildings/facades/props; `.set`/`.itp`/`.mdl` emission (twu01 generator kit is
|
||
the reference when we get there); water animation; minimaps; hak packing.
|
||
|
||
## Verification
|
||
|
||
- Contact sheet (ImageMagick montage) of all regraded diffuses next to
|
||
concept-art swatches — visual palette check.
|
||
- Every slot has `_d/_h/_n` + `.mtr`, names ≤ 16 chars, TGA (no stray DDS).
|
||
- `wgt01.blend` opens in Blender 4.0.2 with all `MAT_wgt01_*` images resolving
|
||
(relative paths into `wgt01/textures/`).
|
||
- `SOURCES.md` covers every shipped file.
|
||
|
||
## As shipped (current truth, post-merge)
|
||
|
||
Deviations from the table above; everything else landed as specced:
|
||
|
||
- No `_s` maps anywhere — `.mtr` uses `texture2` pointing at a shared black,
|
||
`texture4` `_h`. The "generate `_s` from darkened diffuse" idea was dropped.
|
||
- Slot 4 sidewalk = `tcn01_stone04` (the internet-flagstone option lost).
|
||
- Slot 5 wall = `tcn01_brick03` only; no `slum01` blend. Waterline is a
|
||
separate decal `wgt01_wtrline_d`.
|
||
- Slot 6 bridge shares `tcn01_stone04` with sidewalk, differentiated by a
|
||
darker/cooler regrade (`MOD=42,40,105 TINT=#1c2436 TINTPCT=22`); its `_n/_h`
|
||
are still sidewalk's — replace only if it reads wrong in-engine.
|
||
- Slot 7 gutter = extra-dark cobble regrade; the iron grate is a separate
|
||
32-bit decal `wgt01_grate_d` (DDS converted via nwn_crunch, not ImageMagick).
|
||
- Slot 8 water = authored near-black diffuse + `wgt01_water_d.txi` with the
|
||
standard bumpyshiny template (`ttr01__env` / `shinywater`), **no `.mtr`**
|
||
and no `.set` EnvMap dependency.
|
||
- Full provenance in `wgt01/textures/SOURCES.md`; palette check in
|
||
`wgt01/textures/contact-sheet.png`.
|
||
|
||
## Risks
|
||
|
||
- Regrade recipe may need per-slot tweaks; keep overrides in the script, not
|
||
hand-edited images.
|
||
- Internet pulls are network-dependent and need license capture at download
|
||
time.
|
||
- Procampur's own redistribution license should be checked before the kit
|
||
ships in a public `.hak`; fine for internal prototyping.
|