env_projector

XashXT

env_projector

Динамический проективный источник света с гибкими настройками и возможностью проецирования видео-текстур.

Спаунфлаги

SF_PROJECTOR_START_ON 1 (по умолчанию включен)
SF_PROJECTOR_NO_ATTEN 2 (выключает затеняющую текстуру, свет будет распространяться без затухания в пределах видимости)
SF_PROJECTOR_ASPECT4X3 4 (использовать прямоугольный луч света взамен квадратного)
SF_PROJECTOR_ASPECT3X4 8 (использовать «портретный» прямоугольный луч света, взамен квадратного)
SF_PROJECTOR_NOWORLDLIGHT 32 (игнорировать мировые полигоны, освещать только брашевые модели и studio-модели)
SF_PROJECTOR_NOSHADOWS 64 (не отбрасывать тени для данного источника)
SF_PROJECTOR_FLIPTEXTURE 128 (отразить проекционную текстуру по горизонтали; используется для некоторых интересных эффектов)

Настройки

fov Угол «обзора» луча, конус расхождения.
radius Радиус, в котором луч будет иметь эффект до окончательного затухания.
texture Имя текстуры. Это может быть TGA-текстура, текстура из WAD-а (расширение .mip), AVI-файл или спрайт.
falloff Характер затухания света в пределах радиуса:
  • 0 — авто-выбор на основе радиуса
  • 1 — быстрый (быстро затухающий)
  • 2 — стандартный
  • 3 — медленный (вяло затухающий)
lightstyle Использует стандартные лайтстили для создания аналогичного эффекта для динамического источника (1–12).
framerate Только для спрайтов. Определяет скорость смены кадров.

Особенности использования

  • Анимированные текстуры, равно как и AVI-файлы, будут воспроизводиться по кругу. У энтити нет настроек, чтобы повлиять на данное поведение. При выключении объекта воспроизведение продолжится с места остановки как для спрайтов, так и для AVI-файлов.
  • Этот параметр сохраняется в сейв.
  • Вы также можете указать путь не к единичной TGA- или .mip-текстуре, а к кубемапе, просто откинув суффиксы сторон, но дописав расширение. Подобное несуществующее имя будет вполне корректно обработано на уровне движка как имя кубической карты при условии, что необходимые текстуры действительно имеются. Однако при указании кубической карты свет станет всенаправленным, и параметр fov перестанет работать.
  • Источник можно закреплять при помощи parent-системы — как серверной, так и клиентской.
  • Цвет источника можно настраивать при помощи rendercolor.

Ограничения

  • Количество источников света на карте не ограничено ничем, однако в PVS игрока не может одновременно находиться более 64 источников света.
  • Кроме того, данная реализация может светить сквозь стены, что обусловлено её относительной простотой. Впрочем, данная проблема имеет место и в оригинальной Half-Life с её непроективными источниками света.