Просмотр
Материал из DoomDev
Страница «
Цветное освещение
»
Перейти к:
навигация
,
поиск
[[Изображение:colorlit1.jpg|frame|center|Рисунок 1: Цветное освещение в действии]] Цветное освещение – привлекательная черта игровой среды ZDoom, при правильном использовании способная значительно улучшить внешний вид уровня. Его реализация в ZDoom очень проста и дает эффективные результаты. В wad-файле [http://zdoom.org/zdkb/testcol.zip testcol.wad] иллюстрируется общая концепция применения цветного освещения. [[Изображение:colorlit2.gif|frame|center|/##<br> Sectortag = Настраиваемый сектор<br> Dummysector = Фиктивный сектор<br> Switch= Выключатель<br> ##/<br> Рисунок 2: План карты в WadAuthor]] На рисунке 2 показан план карты в [[WadAuthor]]. Секторы, обозначенные как «Настраиваемые сектора», будут иметь различные цвета. На карте есть выключатель, изменяющий цвет главного сектора с белого на золотистый, как показано на рисунке 1. Чтобы сектора имели разные цвета, они должны иметь разные значения поля «tag» (ярлык). Если вы загрузите этот wad, то заметите, что при запуске игры происходит некоторая задержка. Она вызвана тем, что движок строит таблицы цветов для секторов, имеющих цветное освещение. И она происходит при каждом добавлении нового цвета на карту, поэтому рекомендуется создавать фиктивные сектора, «резервирующие» цвет, пока он не понадобится на карте. На приведенной карте так и сделано, поэтому при активации выключателя смена цвета происходит мгновенно. У фиктивного сектора золотистый цвет устанавливается при загрузке, поэтому он уже находится в таблице цветов движка. В результате, использование этого цвета в другом секторе не повлечет перестраивания таблицы цветов. [[Изображение:colorlit3.jpg|frame|center|/##<br> Orangered = оранжево-красный<br> Blue = синий<br> Gold = золотистый<br> ##/<br> Рисунок 3: Редактор скриптов WadAuthor]] Лучший способ настроить все цвета – использовать скрипт, выполняемый при загрузке уровня. Это делается при помощи [[OPEN]]-скрипта, подобного показанному на рисунке 3. Каждый скрипт должен иметь уникальный номер, а ключевое слово OPEN означает, что такой скрипт выполняется при загрузке уровня. В этом случае будут выполнены команды [[Sector_SetColor]], устанавливающие цвет освещения в секторах, имеющих указанный tag, соответственно заданным значениям RGB (КЗС). Чтобы вызвать редактор скриптов в WadAuthor, нужно щелкнуть по неиспользуемой части карты правой кнопкой и в появившемся меню выбрать пункт «Scripts» (скрипты). При использовании другого редактора, можно создать скрипт в любом текстовом редакторе (например, в блокноте), скомпилировать его программой [[ACC]], а затем добавить его в Wad-файл при помощи [[Wintex]] или другого средства редактирования wad-файлов. Вот как автор Справочника ZDoom Randy Hait объясняет назначение блоков [[SCRIPT]] и [[BEHAVIOR]]: «ZDoom нуждается только в блоке [[BEHAVIOR]]. [[SCRIPTS]] создается [[WadAuthor]]-ом для вашего удобства и содержит исходные коды скриптов карты. При отсутствии блока [[SCRIPTS]] WadAuthor попытается декомпилировать блок [[BEHAVIOR]], но , так как он «знает» только Hexen, то, если этот блок содержит что-то специфичное для ZDoom, он не сможет этого сделать». Скрипт должен начинаться со знака { и заканчиваться знаком }. Все команды должны заканчиваться точкой с запятой. Обратите внимание, что [[ACS]] очень похож на C. Однако он намного проще и даже те, кто никогда ранее не занимался программированием, смогут быстро научиться создавать сложные скрипты. После ввода скрипта в редакторе, не забудьте его скомпилировать, а затем сохранить в wad-файле. Создание скриптов будет описано в полном объеме в другом пособии. Команда [[Sector_SetColor]] используется для изменения цвета сектора: [[Sector_SetColor]] tag, RRR, GGG, BBB * tag – уникальный номер, идентифицирующий сектор * RRR – красный ингредиент цвета * GGG – зеленый ингредиент цвета * BBB – синий ингредиент цвета Следующая команда меняет цвет сектора 1 на красный: Sector_SetColor (const:1, 139, 37, 0); Команда [[Sector_SetColor]] также может быть назначена линии, чтобы динамически изменять цвет сектора. Это может быть полезно для ее активации выключателями и датчиками пересечения. На рисунке 4 показана настройка переключателя в файле-примере при помощи WadAuthor. [[Изображение:Colorlit4.gif|frame|center|Рисунок 4: Настройка SetColor в WadAuthor]] Команда [[Sector_SetColor]] принимает те же параметры, что и при вызове из скрипта. Первый параметр – tag сектора, остальные три – код цвета. В данном примере выключатель помеченный, как «Использование игроком» и «Повторяемый». Как только игрок включит его, цвет сектора изменится на золотистый. Цветное освещение работает так же, как и обычное. Поэтому цветное освещение можно настраивать теми же спецификаторами света, что и обычное освещение. Также можно использовать такие распространенные спецэффекты, как градиентное освещение, создаваемое при помощи нескольких секторов с различными уровнями яркости освещения. Легко чрезмерно увлечься использованием цветного освещения. Однако, на мой взгляд, при его продуманном использовании (например, создав световую сигнализацию) можно намного улучшить внешний вид и игровую среду любого уровня. Источники: Справочник ZDoom, автор: Randy Heit «3D Game Alchemy», автор Steve Benner и др. Copyright © 1996 By Sams Publishing {{RCTutorial}}
Шаблон:RCTutorial
Возврат к странице
Цветное освещение
.
Просмотры
Статья
Обсуждение
Просмотр
История
Личные инструменты
Представиться системе
Навигация
Заглавная страница
Сообщество
Текущие события
Свежие правки
Случайная статья
Справка
Поиск
Инструменты
Ссылки сюда
Связанные правки
Загрузить файл
Спецстраницы