Detailed graphics pass: authored textures, humanoid NPCs, HUD feedback, asset pipeline
- tools/generate_textures.py (deterministic PIL) produces all authored PNGs: brick facade, concrete, asphalt, awning, skyline, vignette, HUD icons, access-card art (all <=1024px, power-of-two) - WorldBuilder: textured facade/glass door/sidewalk/asphalt, striped awning with 'STEP LINE', generated skyline backdrop planes - GameManager: soft sun shadows (4-split parallel); guard in 'guard' group - NPC avatars: humanoid rig (torso/head/limbs) with archetype props (camera, delivery box, performer hat, protest sign, tourist backpack), procedural walk bob, head-turns-toward-guard attention cue - HUD: inspection artifact cards, mode icons (flashlight/door/wand), per-escalation vignette, body-camera overlay (corner brackets + REC + clock) - assets/ import convention documented; test_asset_textures_present_and_pow2 guards the pipeline (57 tests pass) - README tech stack updated for Gitea Actions + asset pipeline; screenshot gallery regenerated (day + night)
This commit is contained in:
1 parent
ac3bb7dcd8
commit
031503e161
31 files changed
+636
-57
No files matched your search
@@ -50,28 +50,28 @@ The prototype is entirely procedural `BoxMesh` with flat `StandardMaterial3D` co
|
||||
|
||||
### Environment
|
||||
|
||||
- [ ] Replace flat facade boxes with textured materials: brick/concrete facade, glass door, awning with a readable sign (generate facade + sign textures).
|
||||
- [ ] Add a sidewalk concrete texture and street asphalt texture with a center-line decal (generate seamless textures).
|
||||
- [ ] Add a sky: `ProceduralSkyMaterial` or a generated skybox, plus a sun with soft shadows (currently a bare `DirectionalLight3D` + flat ambient).
|
||||
- [ ] Add simple props for depth: bollards, a trash can, a street lamp, a planter near the entrance (generate or model low-poly props).
|
||||
- [ ] Add a night/evening lighting pass: dim ambient, warm street-lamp point lights, and a visible flashlight cone (ties into the existing `G` flashlight toggle).
|
||||
- [x] Replace flat facade boxes with textured materials: brick/concrete facade, glass door, awning with a readable sign (`tools/generate_textures.py` → `assets/textures/`).
|
||||
- [x] Add a sidewalk concrete texture and street asphalt texture with center dashes (seamless PNGs).
|
||||
- [x] Add a sky: `ProceduralSkyMaterial` + generated skyline backdrop planes + soft sun shadows (4-split parallel).
|
||||
- [x] Add props for depth: street lamps (emissive bulbs + omni lights), planters, low-poly trees (bollards/trash can still optional).
|
||||
- [x] Add a night/evening lighting pass: dim ambient, warm street-lamp point lights, marquee glow, flashlight cone (`G`).
|
||||
|
||||
### NPCs
|
||||
|
||||
- [ ] Replace capsule bodies with a simple humanoid rig (head/torso/limbs) or a low-poly character mesh, keeping the archetype color coding as a fallback.
|
||||
- [ ] Add per-archetype visual identity: distinct silhouettes or accessories (e.g. camera for influencers, delivery box, performer prop) instead of color-only.
|
||||
- [ ] Add a simple walk/idle animation (procedural bob or imported animation) so NPCs don't glide.
|
||||
- [ ] Add a facing/attention cue: NPC head turns toward the guard when `perceive_guard` reports `aware`/`near`.
|
||||
- [x] Replace capsule bodies with a simple humanoid rig (torso/head/limbs) keeping the archetype color coding as the base.
|
||||
- [x] Add per-archetype visual identity: camera (influencer), delivery box, performer hat, protest sign, tourist backpack.
|
||||
- [x] Add a simple procedural walk animation (body bob + lean) so NPCs don't glide.
|
||||
- [x] Add a facing/attention cue: NPC head turns toward the guard once `perceive_guard` raises awareness.
|
||||
|
||||
### UI and feedback
|
||||
|
||||
- [ ] Replace text-only inspection with visual artifact cards: wristband/ID/ticket images showing color, pattern, date, and event marking (generate card art).
|
||||
- [ ] Add HUD icons for the tone picker, wand, flashlight, and door-lock states (generate small icons).
|
||||
- [ ] Add a subtle screen-space vignette or color grade per escalation level to reinforce the existing color-coded escalation label.
|
||||
- [ ] Add a body-camera frame overlay (corner timestamp + REC indicator) to sell the evidence/recording fantasy.
|
||||
- [x] Replace text-only inspection with visual artifact cards (ID/wristband/ticket/credential/guest-list card art + tooltips).
|
||||
- [x] Add HUD icons for wand, flashlight, and door-lock states (small white PNGs); tone-picker icon was removed with the tone system.
|
||||
- [x] Add a screen-space vignette tinted per escalation level.
|
||||
- [x] Add a body-camera frame overlay: corner brackets, REC indicator, and a running shift clock.
|
||||
|
||||
### Performance and pipeline
|
||||
|
||||
- [ ] Set up an `assets/` import convention (textures, materials, meshes) and document it in `README.md`.
|
||||
- [x] Set up an `assets/` import convention (≤1024px, power-of-two) and document it in `README.md`; assets generated by `tools/generate_textures.py` (deterministic, PIL).
|
||||
- [ ] Profile the crowd: ensure textured materials and props don't hurt the target frame rate around a busy entrance.
|
||||
- [ ] Add LOD or culling for distant NPCs/props if the crowd grows.
|
||||
Reference in new issue
Block a user