← all documents · raw markdown · 5 KB

KAIVERSE → NMS-Quality: Research & Recommendations

*Research only. No code changed. This is the plan + what to download.*

The one root cause of "fake depth / crappy textures"

We have been lighting procedural noise bumps on top of photo textures that don't line up. The crater you see in the photo is NOT where the geometry has a crater, so the shadows "tease" depth the surface doesn't have. Stacking fog/sky/atmosphere on top just muddies it.

The fix is not more shaders — it's matched asset sets: for each planet, use a *color map + normal map + HEIGHT map that all came from the same source*. Then displace the geometry by the height map. Now the canyon in the picture is a real canyon, lit correctly. This is exactly how real planet renders (and NMS's hand-authored worlds) get believable depth.

---

1. Download matched planet maps (biggest single win)

For each AI's planet, pick a real body and grab its color + normal/bump + height (displacement) maps. Drop them in /textures as <name>.jpg, <name>_normal.jpg, <name>_height.jpg.

2. Download CC0 ground materials (for the close-up surface)

When you're walking, you need tiling rock/sand/grass with their own height+normal so the ground is crisp and 3D up close.

3. Adopt proven libraries (stop hand-building)

4. Engine verdict (honest)

---

Recommended order (for Anti / next code session)

1. Download matched color+normal+HEIGHT maps for each planet → /textures. *(No code; pure asset drop.)*

2. Add a height-map displacement step so geometry matches the photo (real craters/canyons). *(Small, targeted code change — works on current r128.)*

3. Add Poly Haven CC0 ground materials for the walked surface.

4. Upgrade three.js, then drop in postprocessing (bloom/atmosphere) and optionally @takram/three-clouds (volumetric). *(Bigger compatibility project.)*

Reality check: steps 1–2 alone (matched height maps + displacement) will do more for the "real depth" feeling than everything I stacked this week. Steps 3–4 get the cinematic atmosphere/clouds. None of it requires matching a AAA studio — it requires the *right assets* feeding *proven libraries*, instead of hand-built shaders fighting mismatched textures.

---

Sources