Переключаемый(аварийный) свет: различия между версиями
(Новая страница: «'''Примечание:''' В этом методе, для реализации аварийного освещения, используется брашева…») |
м |
||
Строка 1: | Строка 1: | ||
+ | [[Категория:Маппинг GoldSrc]] | ||
'''Примечание:''' В этом методе, для реализации аварийного освещения, используется брашевая энтить, в которую входят аварийные источники света. При включении аварийного освещения, к показателям wpoly прибавятся полигоны ламп аварийного освещения. | '''Примечание:''' В этом методе, для реализации аварийного освещения, используется брашевая энтить, в которую входят аварийные источники света. При включении аварийного освещения, к показателям wpoly прибавятся полигоны ламп аварийного освещения. | ||
== Используемые энтити == | == Используемые энтити == |
Версия 13:05, 22 июня 2019
Примечание: В этом методе, для реализации аварийного освещения, используется брашевая энтить, в которую входят аварийные источники света. При включении аварийного освещения, к показателям wpoly прибавятся полигоны ламп аварийного освещения.
Содержание
Используемые энтити
Для реализации переключаемого света нам понадобится:
- Light_surface (2 шт.)
- Trigger_changetarget (2 шт.)
- Env_render (2 шт.)
- Multi_manager(3 шт)
- Trigger_auto(1 шт.)
- Func_door (1 шт.)
- Func_rot_button (1 шт.)
- Func_wall (1 шт.)
- Func_detail (1 шт.)
Принцип работы
Создаем 2 источника света, в виде двух light_surface, один для основного, второй для аварийного. Дублируя браши с текстурой основного света, превращаем его в энтить. В начале игры лампы аварийного света необходимо скрыть, иначе они будут отображаться негорящими поверх основного света. Для этого используем trigger_auto. Для переключения режима света используем рычаг(func_rot_button), который будет включать переключать основной и аварийный свет между собой. Для исправления одного бага, используем func_door.
Описание схемы
Подготовка освещения к логике
1) В моем случае, текстура основного света имеет имя light01_pl, а аварийного light01_sl. Что означает Primary Lighting и Secondary Lighting. Предполагается, что основной свет уже расставлен на карте. Если же нет, то это необходимо это проделать. После расстановки основного источника света, необходимо перевести все браши с текстурой основного света в func_detail:
Func_detail | Значение |
---|---|
Detail Level | 2 |
Passable | yes |
Примечание к func_detail: Если лампы соприкасаются с другим func_detail, то необходимо помнить, чтобы Detail Level у лампочек был всегда выше, чем на другом func_detail.
2) Следующим шагом будет дублирование брашей основного света. После дублирования основного света, скрываем неиспользуемые объекты, выделив дублированный объект и нажав сочетание клавиш Ctrl+H. Теперь, нам необходимо заменить текстуры основного света на всех лампах на аварийный. Проделать подобную операцию можно в Texture Application Mode(Shift+A). Откроется окно, выбираем Replace…, будет 2 поля. Find: текстура Red; Replace: текстура, на которую необходимо заменить. В моем случае выйдет вот так: Find: light01_pl Replace: light01_sl. Такую же операцию проводим и для боковых граней брашей аварийного освещения, избавляемся от ненужных полигонов. В поле Find вводим имя боковых граней текстуры лампы, в поле Replace текстура по имени noclip. В итоге, должна быть только текстура аварийного освещения.
Продублированный основной свет превращаем в func_wall, добавив только имя:
Func_wall | Значение |
---|---|
Name | SecondaryLight |
3) Размещение двух light_surface. Параметры основного света:
Light_surface | Значение | // |
---|---|---|
Texture Name | light01_pl | Имя текстуры |
Texture Brightness | 225 | Яркость текстуры |
Color | 200 220 255 | Цвет R G B |
Adjust Emit Scale | 70 | Умножение света. Желательно устанавливать в районе от 10 до 100. Зависит от помещения, размера лампы. |
Name | PrimaryLight | Имя для взаимодействия. |
Остальные параметры и флаги для основного света не трогаем.
Параметры аварийного света:
Light_surface | Значение | // |
---|---|---|
Texture Name | light01_sl | Имя текстуры |
Texture Brightness | 100 | Яркость текстуры |
Color | 255 250 208 | Цвет R G B |
Adjust Emit Scale | 40 | Умножение света. Желательно устанавливать в районе от 10 до 100. Зависит от помещения, размера лампы. |
Name | SecondaryLight | Имя для взаимодействия. |
Filter Entity Name | SecondaryLight | Поиск для освещения именно аварийных источников. |
Флаги:
Flags | // |
---|---|
Initially Dark | Выключен в начале. |
4) Следующий шаг, создать кнопку, а в моем случае рычаг, который будет переключать основной свет и аварийный. Параметры:
Func_rot_button | Значение |
---|---|
Name | control_lighting |
Target | light01 |
Флаги:
Flags | // |
---|---|
Not Solid | Делает рычаг не материальным |
Toggle | Рычаг не будет возвращаться сам в исходное положение, пока его не активируют. |
Логика
Заключительный этап
Автор: Chakki Skrip
Дата: 02.02.2019