Feel: Phase 1.5 lighting/atmosphere pass — dark ambient + dynamic lights
Dark-ambient, dynamic-light-first look (RoR2/Death Scourges reference),
built filter-agnostic so the pixel style composes on top:
- New DynamicLightSystem (client-only, PresentationSystemGroup): pooled
point lights follow projectile ghosts; pulsing portal light during
RoomExplore (same ExpeditionPortalPos authority as the beacon); soft
resource-node glow that fades with harvest-shrink; short impact
FLASHES fed by CombatFeedbackSystem's burst funnel (EmitColored +
SpawnVfx -> RequestFlash). Knobs in DynamicLightConfig (scene object,
code defaults when absent).
- Atmosphere darkened: WorldAtmosphereConfig/System palettes moved to
the dark set (base cool dusk, arid burnt dusk, per-room biome consts
darkened); scene fog switched Linear -> ExponentialSquared (the
system's per-region DENSITY writes were dead in Linear mode);
trilight ambient lowered; directional 1.9 -> 1.05 slightly warm.
- 6 landmark mood lights (warpgate cyan, artefact violet x2, survey
camp warm x2, cabin warm); URP additional-lights-per-object 4 -> 8
(was starving the existing Aether lights).
- Art-look gate material: Assets/Screenshots/artlook_{base,room}_
pixel{ON,OFF}.png over the lit scene.
Verified: lights live in Play (20 static at base incl. new landmarks;
pooled dynamics active in-room: node glows + impact flashes), fog/
ambient values confirmed live, 466/466 EditMode, console clean.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -19,15 +19,15 @@ namespace ProjectM.Client
|
||||
[Tooltip("Half-width of the smooth transition band around BoundaryX, in world units.")]
|
||||
public float BlendHalfWidth = 80f;
|
||||
|
||||
[Header("Base (meadow) atmosphere")]
|
||||
public Color BaseFogColor = new Color(0.784f, 0.878f, 0.824f, 1f); // #C8E0D2
|
||||
public float BaseFogDensity = 0.006f;
|
||||
public Color BaseAmbientSky = new Color(0.725f, 0.831f, 0.949f, 1f); // #B9D4F2
|
||||
[Header("Base (meadow) atmosphere — Phase 1.5 dark-ambient set (dynamic-light-first)")]
|
||||
public Color BaseFogColor = new Color(0.09f, 0.13f, 0.14f, 1f);
|
||||
public float BaseFogDensity = 0.010f;
|
||||
public Color BaseAmbientSky = new Color(0.32f, 0.38f, 0.48f, 1f);
|
||||
|
||||
[Header("Expedition (arid desert) atmosphere")]
|
||||
public Color ExpeditionFogColor = new Color(0.851f, 0.549f, 0.227f, 1f); // #D98C3A
|
||||
public float ExpeditionFogDensity = 0.010f;
|
||||
public Color ExpeditionAmbientSky = new Color(0.910f, 0.769f, 0.604f, 1f); // #E8C49A
|
||||
public Color ExpeditionFogColor = new Color(0.24f, 0.13f, 0.06f, 1f);
|
||||
public float ExpeditionFogDensity = 0.016f;
|
||||
public Color ExpeditionAmbientSky = new Color(0.45f, 0.31f, 0.20f, 1f);
|
||||
|
||||
void OnEnable() { Instance = this; }
|
||||
void OnDisable() { if (Instance == this) Instance = null; }
|
||||
|
||||
Reference in New Issue
Block a user