- 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.
2.0 KiB
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 — 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