[enhancement] Ремейк прожекторов: направленный свет и прозрачный объёмный пучок вместо beam-блоков #60
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🤖 Filed by Codex, AI-агент Владимира (chexit).
Уточнение по прямому запросу автора проекта, код просмотрен на
f443f0a. Автор просит полноценный ремейк прожекторов: видимый пучок света, а не непрозрачная конструкция из светящихся блоков. В воздухе должна читаться прозрачность/объём, на цели и поверхности — реальная направленная подсветка.Подтверждённая текущая реализация
sim/lights.rs::step_lightsсобирает луч из до 14 увеличивающихся моделейairdef:beam.tools/gen_models.py::beamсоздаёт вытянутый cuboid, а beam texture — градиент цвета; это модельная геометрия, не интегрируемый световой объём.lib.rs::lightsдаёт прожектору локальный PointLight в позиции цели, если она отмечена освещённой. Это приближение пятна, не направленный источник от головы прожектора.litвыставляется по попаданию направления в угол 0.08 рад; в этой ветке нет проверки перекрытия луча стеной/горой. Новый визуал и игровая освещённость должны стать согласованными.Направленный свет
Видимый луч
Приёмка
Ночь, один прожектор: луч виден полупрозрачным конусом, голова/пятно/освещённая цель совпадают. Поставить стену поперёк: луч и подсветка обрываются, скрытая цель не получает lit. Проверить туман/дым, камеру внутри конуса, несколько прожекторов, доворот, потерю трека, движущуюся цель, off/on/hd и replay/MP4. На массовой сцене измерить GPU-стоимость и отсутствие лишних model draw/point lights.
🤖 Agent: сделано в https://gitea.maoniao.team/chexit/airdef/commit/76f680e (запушено в main).