Detail the NPC avatars and finish the realism follow-ups
Blender library - Rebuild the face: sclera, iris and upper lid per eye, brow ridge, cheekbones, nose bridge and tip, ears with lobes, split upper/lower lips. - Give each hand four fingers plus a thumb and end every sleeve in a cuff ring. - Raise CHAR_MAX_VERTS 4000 -> 5000 (16 avatars still cost ~6.9 ms of a 50 ms frame), decimate the body to 26 %; characters are now 3,974-5,026 tris and 3,744-4,807 verts. Rebuild all 8 variants and re-bake their AO maps. Capture tooling - Add a `portrait` stage to capture_realism.gd: freeze one NPC, park the crowd out of frame, stand the subject on open sidewalk, turn it into the camera and put the guard on the sunlit side. New --portrait-type=N picks the role. - Add the npc_portrait_day concept and map the shot to it, so avatar detail is scored against a portrait instead of a wide street frame. Flashlight - Drop the fake additive beam (Materials.light_beam + the cone mesh): on GL Compatibility a first-person camera inside the cone renders it as a filled disc with a bright far ring. Keep the tight spot (14 deg, 20 m, energy 4.2) and its headless test; the visible shaft is now planned behind a Forward+ preset. Docs and task tracking - Move the finished realism follow-ups (ground exposure, flashlight, NPC detail, judge re-check) to DONE.md and expand TODO.md with step-by-step plans for NPC gear fit, venue geometry plus the committed gallery, and the Forward+ preset. - Record the decisions, gotchas and portrait recipe in MEMORY.md; update the Blender contract, the concept README and the capture section of README.md. - Refresh the gallery captures affected by the avatar rebuild. Checks: headless 228/228, Python 86/86, blender_assets audit exit 0, scene_concepts audit all GOOD, screen_designs compare 11 good / 0 bad, smoke_npc_budget OK, boot clean (only the known headless mesh warning).
No files matched your search
@@ -453,7 +453,7 @@
|
||||
"max": [
|
||||
0.321,
|
||||
1.824,
|
||||
0.186
|
||||
0.185
|
||||
],
|
||||
"min": [
|
||||
-0.321,
|
||||
@@ -467,6 +467,7 @@
|
||||
"skin",
|
||||
"cloth",
|
||||
"pants",
|
||||
"eye_white",
|
||||
"accessory",
|
||||
"hair",
|
||||
"rubber"
|
||||
@@ -486,18 +487,18 @@
|
||||
"accessory",
|
||||
"hair"
|
||||
],
|
||||
"triangles": 3788,
|
||||
"vertices": 3107
|
||||
"triangles": 3974,
|
||||
"vertices": 3744
|
||||
},
|
||||
"npc_coat": {
|
||||
"bounds_godot": {
|
||||
"max": [
|
||||
0.327,
|
||||
0.332,
|
||||
1.824,
|
||||
0.186
|
||||
0.185
|
||||
],
|
||||
"min": [
|
||||
-0.327,
|
||||
-0.332,
|
||||
0,
|
||||
-0.18
|
||||
]
|
||||
@@ -508,6 +509,7 @@
|
||||
"skin",
|
||||
"cloth",
|
||||
"pants",
|
||||
"eye_white",
|
||||
"accessory",
|
||||
"hair",
|
||||
"rubber"
|
||||
@@ -526,8 +528,8 @@
|
||||
"accessory",
|
||||
"hair"
|
||||
],
|
||||
"triangles": 4640,
|
||||
"vertices": 3974
|
||||
"triangles": 5026,
|
||||
"vertices": 4807
|
||||
},
|
||||
"npc_dress": {
|
||||
"bounds_godot": {
|
||||
@@ -548,6 +550,7 @@
|
||||
"skin",
|
||||
"cloth",
|
||||
"pants",
|
||||
"eye_white",
|
||||
"accessory",
|
||||
"hair",
|
||||
"rubber"
|
||||
@@ -564,8 +567,8 @@
|
||||
"accessory",
|
||||
"hair"
|
||||
],
|
||||
"triangles": 4226,
|
||||
"vertices": 3474
|
||||
"triangles": 4428,
|
||||
"vertices": 4026
|
||||
},
|
||||
"npc_firefighter": {
|
||||
"bounds_godot": {
|
||||
@@ -586,6 +589,7 @@
|
||||
"skin",
|
||||
"cloth",
|
||||
"pants",
|
||||
"eye_white",
|
||||
"accessory",
|
||||
"hair",
|
||||
"hivis",
|
||||
@@ -604,15 +608,15 @@
|
||||
"accessory",
|
||||
"hair"
|
||||
],
|
||||
"triangles": 4382,
|
||||
"vertices": 3919
|
||||
"triangles": 4848,
|
||||
"vertices": 4735
|
||||
},
|
||||
"npc_guard": {
|
||||
"bounds_godot": {
|
||||
"max": [
|
||||
0.361,
|
||||
1.819,
|
||||
0.186
|
||||
0.185
|
||||
],
|
||||
"min": [
|
||||
-0.361,
|
||||
@@ -626,6 +630,7 @@
|
||||
"skin",
|
||||
"cloth",
|
||||
"pants",
|
||||
"eye_white",
|
||||
"accessory",
|
||||
"hair",
|
||||
"rubber",
|
||||
@@ -647,15 +652,15 @@
|
||||
"accessory",
|
||||
"hair"
|
||||
],
|
||||
"triangles": 4154,
|
||||
"vertices": 3838
|
||||
"triangles": 4560,
|
||||
"vertices": 4529
|
||||
},
|
||||
"npc_hoodie": {
|
||||
"bounds_godot": {
|
||||
"max": [
|
||||
0.326,
|
||||
1.856,
|
||||
0.186
|
||||
0.185
|
||||
],
|
||||
"min": [
|
||||
-0.326,
|
||||
@@ -669,6 +674,7 @@
|
||||
"skin",
|
||||
"cloth",
|
||||
"pants",
|
||||
"eye_white",
|
||||
"accessory",
|
||||
"hair",
|
||||
"rubber"
|
||||
@@ -687,18 +693,18 @@
|
||||
"accessory",
|
||||
"hair"
|
||||
],
|
||||
"triangles": 4640,
|
||||
"vertices": 3954
|
||||
"triangles": 4826,
|
||||
"vertices": 4504
|
||||
},
|
||||
"npc_jacket": {
|
||||
"bounds_godot": {
|
||||
"max": [
|
||||
0.326,
|
||||
0.332,
|
||||
1.824,
|
||||
0.186
|
||||
0.185
|
||||
],
|
||||
"min": [
|
||||
-0.326,
|
||||
-0.332,
|
||||
0,
|
||||
-0.178
|
||||
]
|
||||
@@ -709,6 +715,7 @@
|
||||
"skin",
|
||||
"cloth",
|
||||
"pants",
|
||||
"eye_white",
|
||||
"accessory",
|
||||
"hair",
|
||||
"rubber"
|
||||
@@ -727,15 +734,15 @@
|
||||
"accessory",
|
||||
"hair"
|
||||
],
|
||||
"triangles": 4016,
|
||||
"vertices": 3415
|
||||
"triangles": 4394,
|
||||
"vertices": 4175
|
||||
},
|
||||
"npc_vest": {
|
||||
"bounds_godot": {
|
||||
"max": [
|
||||
0.321,
|
||||
1.819,
|
||||
0.186
|
||||
0.185
|
||||
],
|
||||
"min": [
|
||||
-0.321,
|
||||
@@ -749,6 +756,7 @@
|
||||
"skin",
|
||||
"cloth",
|
||||
"pants",
|
||||
"eye_white",
|
||||
"accessory",
|
||||
"hair",
|
||||
"rubber",
|
||||
@@ -767,8 +775,8 @@
|
||||
"accessory",
|
||||
"hair"
|
||||
],
|
||||
"triangles": 4284,
|
||||
"vertices": 3784
|
||||
"triangles": 4474,
|
||||
"vertices": 4340
|
||||
},
|
||||
"palm_tree": {
|
||||
"bounds_godot": {
|
||||
|
||||
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 61 KiB |