|
Два вида частиц: излучающие и освещаемые сценой (lit)
Живучий баг «частицы светятся одинаково при любом освещении»: теперь
режим — свойство слоя. renderer.addParticles({lit: true}) — освещаемый
слой: полученный свет (env-свет сцены + точечные источники) правит и
цветом, и видимостью (альфа = clamp(max-канал·PARTICLE_LIT_VIS)) — ночью
в темноте частица исчезает, у лампы/фонарика проявляется, днём вид как
раньше. Излучающий режим (по умолчанию) — прежняя формула.
- particleEnv(amb, sun) — чистая функция env-света (ambient + доля
солнца PARTICLE_ENV_SUN 0.3: у билборда нет нормали); рендер
пересчитывает uEnv в конце setSun — туда сходятся все изменения света;
- игра: lit — дождь/снег (WeatherSystem.setTint удалён), пепел,
листья/пыль; tint остался самосветящимся: мотыльки, дымка, блики.
Ручной ночной tint был подменой реакции на свет — больше не нужен.
Замер в игре: дождь день 101 / ночь 14 яркости, в луче фонарика капли
проявляются; мотыльки ночью светятся как раньше. Тесты 368 ✓ (+particleEnv),
гейты atmosphere/weather/panels ✓.
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
|---|
|
|
| v2/apps/game/src/airFx.ts |
|---|
| v2/apps/game/src/ash.ts |
|---|
| v2/apps/game/src/main.ts |
|---|
| v2/packages/engine/src/index.ts |
|---|
| v2/packages/engine/src/render/__tests__/particleEnv.test.ts 0 → 100644 |
|---|
| v2/packages/engine/src/render/__tests__/particleLayers.test.ts |
|---|
| v2/packages/engine/src/render/particles.ts |
|---|
| v2/packages/engine/src/render/weather.ts |
|---|