Die Mid-Lane steht auf Zielqualität (stilisierter Realismus). Die übrige Karte bleibt auf dem U2-Stand, bis über den Weg entschieden ist. - U5A: tools/blender/bake_pbr.py backt sechs nahtlose PBR-Sätze (limestone, soil, bark, leaf, rock, water) mit Albedo, Normal aus dem Höhenfeld (Sobel) und ORM (R AO, G Rauigkeit, B Metall), je 2k. Torus-Mapping für Kantenfluss wie phase10/bake_bark.py. - U5B: Luneraria/Surface trägt _AlbedoMap, _NormalMap, _OrmMap triplanar über den Godot-Weltfarben; ORM steuert Rauigkeit, Metall und AO. LuneMaterialFactory bindet je Oberfläche den passenden Satz, LN_Rock den Felsensatz. - U5C: Mid-Lane-Licht — Nebel (ExponentialSquared, Dichte 0,0085), scharfe Schatten (Bias 0,02), Weißabgleich und Vignette, ACES und Bloom leicht angehoben. - U5D: Hit- und Angriffs-Flash über MaterialPropertyBlock (warm beim Angriff, weißglühend beim Treffer), Turmblitze als dreipunktiger Funke mit Breitenkurve und Farbverlauf. CaptureMidLane schreibt fünf Nachweisbilder nach docs/port/screenshots/u5/. - Leistung (macOS-Player, 116 Einheiten): 132 fps Übersicht, 182 fps Mid nah — 20–25 % unter U3 durch PBR, Normals und Nebel. Mid-Lane bleibt über 120 fps. - Tests: EditMode 29/29, PlayMode 13/13, Kerntests 457/457. Keine Regeländerung; Golden 51.221 Werte unverändert. - Grenze eingehalten: keine prozeduralen Gesichter, Haare oder Anatomie. Sculpts bleiben vorbehalten (Freigabe und Lizenzprüfung). - Dokumentation: U5-VISUAL (Umsetzung, Nachweis, Entscheidungsvorlage für die ganze Karte), PORT-QA (U5), PORT-STATUS, KNOWN-BEHAVIOR- DIFFERENCES. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
1.5 KiB
JSON
14 lines
1.5 KiB
JSON
{
|
|
"build": "OSXPlayer player, 6000.3.20f1, release",
|
|
"device": "Mac17,2; Apple M5; Apple M5",
|
|
"graphics_api": "Metal",
|
|
"resolution": "1920x1080",
|
|
"vsync": 0,
|
|
"match": "seed 9 from round 21 (fixture high_wave_21), speed 1x, measured after 10 s of combat",
|
|
"windows": [
|
|
{"view": "overview (zoom 64)", "frames": 2651, "fps": 132.5, "frame_ms_avg": 7.55, "frame_ms_median": 5.11, "frame_ms_p95": 19.38, "frame_ms_p99": 23.09, "frame_ms_max": 30.11, "frames_over_16_7_ms": 185, "of_them_with_simulation_step": 18, "gc_collections": 27, "simulation_ms_per_frame": 0.116, "views_ms_per_frame": 0.257, "ui_ms_per_frame": 0.088, "units_alive_max": 116},
|
|
// timings overview (zoom 64): main thread avg 3.15 / median 3.05 / p95 4.31 ms, render thread avg 3.70 / median 3.69 / p95 4.20 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.39 / median 1.70 / p95 16.57 ms
|
|
{"view": "mid lane close (zoom 22)", "frames": 1823, "fps": 182.2, "frame_ms_avg": 5.49, "frame_ms_median": 4.22, "frame_ms_p95": 12.90, "frame_ms_p99": 17.07, "frame_ms_max": 24.96, "frames_over_16_7_ms": 34, "of_them_with_simulation_step": 1, "gc_collections": 10, "simulation_ms_per_frame": 0.056, "views_ms_per_frame": 0.365, "ui_ms_per_frame": 0.077, "units_alive_max": 63}
|
|
// timings mid lane close (zoom 22): main thread avg 2.70 / median 2.68 / p95 3.57 ms, render thread avg 3.10 / median 3.08 / p95 3.56 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 2.79 / median 1.38 / p95 10.26 ms
|
|
]
|
|
}
|