|
| 1 | +# Atmospheric / Wetter – Mapper Checklist (DE/EN) |
| 2 | + |
| 3 | +## Deutsch |
| 4 | + |
| 5 | +### 1) Wetterzonen als Entities setzen |
| 6 | +- Nutze `rally_weather_rain` für Regenzonen und `rally_weather_snow` für Schneezonen in der Map. |
| 7 | +- Diese Entities werden serverseitig als `ET_WEATHER` angelegt. |
| 8 | +- Die Brush-Geometrie der Entity ist relevant, weil clientseitig geprüft wird, ob Partikelpositionen innerhalb dieser Zone liegen. |
| 9 | + |
| 10 | +### 2) Typ und Basisparameter verstehen |
| 11 | +- `rally_weather_rain` setzt `weapon = 0`, `rally_weather_snow` setzt `weapon = 1`; darüber erkennt der Client den Wettertyp. |
| 12 | +- Die Basis-Partikelanzahl pro Typ wird in den Client-State geschrieben und beim Setup übernommen. |
| 13 | + |
| 14 | +### 3) Spawnflags (Regen) bewusst einsetzen |
| 15 | +- Bei Regen wird `spawnflags` übertragen und clientseitig als Schalter für Splash-Verhalten ausgewertet. |
| 16 | +- Effekt: `waterSplash`/`landSplash` werden abhängig davon aktiviert/deaktiviert. |
| 17 | +- Bei Schnee sind Splashes standardmäßig deaktiviert. |
| 18 | + |
| 19 | +### 4) Automatisches Qualitäts-/Budgetsystem berücksichtigen |
| 20 | +- Das System ist automatisch adaptiv: Profilwahl über `cg_atmosphericLevel` (Low/Medium/High). |
| 21 | +- Pro Frame wird das Budget aus Profil + FPS + FOV + Basisdrops berechnet. |
| 22 | +- Die sichtbare Partikelmenge kann sich daher je nach Client/HW unterscheiden (gewolltes Performance-Verhalten). |
| 23 | + |
| 24 | +### 5) Sichtkegel-/Distanz-Culling beachten |
| 25 | +- Partikel außerhalb Distanz oder Sichtkegel werden deaktiviert/neu verteilt. |
| 26 | +- Sehr große oder ungünstig platzierte Wettervolumes können dadurch „dünner“ wirken. |
| 27 | +- Empfehlung: Wetterzonen entlang typischer Fahr-/Sichtlinien platzieren statt globale Monster-Volumes. |
| 28 | + |
| 29 | +### 6) Konsistenz durch deterministische Seeds |
| 30 | +- Spawn-Variation (Position/Farbe/Flake-Auswahl) wird deterministisch pro Zone + Partikel erzeugt. |
| 31 | +- Ergebnis: konsistenteres Erscheinungsbild statt vollständig zufälliger Verteilung pro Frame. |
| 32 | + |
| 33 | +### 7) QA / Abnahme |
| 34 | +- Relevante Client-Cvar: `cg_atmosphericLevel` (Default: `2`). |
| 35 | +- Beim Testen mindestens Low/Medium/High prüfen. |
| 36 | + |
| 37 | +--- |
| 38 | + |
| 39 | +## English |
| 40 | + |
| 41 | +### 1) Place weather entities correctly |
| 42 | +- Use `rally_weather_rain` for rain volumes and `rally_weather_snow` for snow volumes. |
| 43 | +- These entities are created as `ET_WEATHER` server-side. |
| 44 | +- Entity brush bounds matter because client-side particle checks test whether points are inside the weather zone. |
| 45 | + |
| 46 | +### 2) Understand type wiring and base inputs |
| 47 | +- `rally_weather_rain` uses `weapon = 0`, `rally_weather_snow` uses `weapon = 1`; client code uses this as weather type. |
| 48 | +- Baseline particle count is carried in entity state and consumed during atmospheric setup. |
| 49 | + |
| 50 | +### 3) Use rain spawnflags intentionally |
| 51 | +- For rain, `spawnflags` are passed and interpreted client-side as splash toggle input. |
| 52 | +- This controls whether water/land splash effects are enabled. |
| 53 | +- Snow splash effects are disabled by design. |
| 54 | + |
| 55 | +### 4) Expect automatic adaptive behavior |
| 56 | +- The system is automatically adaptive: profile selection via `cg_atmosphericLevel` (Low/Medium/High). |
| 57 | +- Per-frame budget is computed from profile + FPS + FOV + base drops. |
| 58 | +- Visible density may differ by client performance/settings (intentional for performance). |
| 59 | + |
| 60 | +### 5) Account for cone/distance culling |
| 61 | +- Particles outside distance/view cone are culled or repositioned. |
| 62 | +- Very large or poorly placed weather volumes may look thinner in practice. |
| 63 | +- Recommendation: place weather zones around expected racing/sight corridors rather than one giant global volume. |
| 64 | + |
| 65 | +### 6) Deterministic consistency |
| 66 | +- Spawn variation (position/color/flake choice) is deterministic per zone + particle. |
| 67 | +- Result: more stable visual appearance than fully random every frame. |
| 68 | + |
| 69 | +### 7) QA / validation |
| 70 | +- Relevant client cvar: `cg_atmosphericLevel` (default: `2`). |
| 71 | +- Validate maps at least on low/medium/high. |
0 commit comments