Files
tactical-shooter/docs/visuals-architecture.md
T
shawn d631ff784a build: baked lighting pass on kit_demo test map
- Restructured kit_demo.tscn from linear demo to enclosed 5.12x5.12 room
  with walls, floor tiles, pillar, beam, doorway, window
- Added WorldEnvironment with ProceduralSky for ambient lighting
- Added DirectionalLight3D (sun key light, 45° angle, shadows enabled)
- Added OmniLight3D (warm interior fill light)
- Added ReflectionProbe for interior specular reflections
  (box projection, room-sized extents)
- Added LightmapGI with balanced quality settings
  (bounces=3, texel_scale=1.0, max_texture_size=2048, denoiser=true)
- Added tool script (kit_demo.gd) that prints bake status in editor
- Added bake_lighting.gd CLI bake script (requires GPU-enabled instance)
- Updated project.godot with reflection atlas and shadow map quality settings

Headless baking note: Godot's standard editor build requires a GPU/display
for LightmapGI.bake(). Open the scene in the Godot editor and click 'Bake
Lightmap' on the LightmapGI node to generate the baked lightmap data.
2026-07-01 00:10:19 -04:00

57 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Phase 3 — Visuals & Performance Architecture
## Scope
Art pass, baked lighting, performance profiling, LOD + occlusion culling for the competitive tactical shooter.
|
|## Dependency Chain (Kanban)
|
|```
|t_p3_artkit (modular wall/floor kit + PBR materials 1K + art style guide) ✅ DONE
| └── t_p3_lighting (LightmapGI baked lighting + reflection probes)
| └── t_p3_profile (perf budget + LOD + occlusion culling)
|```
|
|## Deliverables
|
|- **Art style guide**: [docs/art-style-guide.md](docs/art-style-guide.md) — visual direction, modular grid specs, material palette, mapping guidelines
|- **Modular kit scenes**: `client/assets/scenes/modular/` — 11 CSG-based wall/floor/structural pieces + kit_demo showcase scene
|- **PBR materials**: `client/assets/materials/` — 7 StandardMaterial3D .tres files
|- **1K textures**: `client/assets/textures/` — 28 procedural PBR maps (basecolor, normal, roughness, metallic × 7 materials)
|- **Project config**: `client/project.godot` — Godot 4 Forward+ renderer, 128-tick physics, LightmapGI defaults
## Art Style
- **Valorant-direction**, not AAA photorealistic
- Clean silhouettes, team-colored zones (CT/blue, T/red-orange)
- 1K PBR textures (base color, normal, roughness, metallic)
- CC0-licensed or custom-created assets
## Lighting Strategy
- LightmapGI for all static geometry
- Reflection probes at corridor junctions and open areas
- No SDFGI or real-time GI
- Lightmap texel density: 4-8 per unit walls/floors, 8-16 for focal surfaces
## Performance Budget
| Metric | Target |
|--------|--------|
| Frame time | 16ms (60fps) |
| GPU budget | 8ms |
| CPU budget | 6ms |
| Draw calls | 1500-2000 per frame |
| VRAM | 2GB texture pool |
| LOD0 tris/wall | 500-2000 |
## LOD Strategy
- 3 LOD levels per modular asset
- LOD1 at 15m (50% tris), LOD2 at 40m (25% tris), LOD3 at 80m
- Occlusion culling via OccluderInstance3D auto-generation
## Reference Hardware
- GTX 1050 / RX 560 class GPU (or integrated graphics)
- Godot Forward+ renderer