СВЕТ

Свет – это все, что светит в Thief. Заметьте, что Thief TDP и Thief Gold НЕ ПОДДЕРЖИВАЮТ динамическое освещение, или перемещающиеся источники света. Это лучше знать. А Thief2 TMA поддерживает.

Есть много различных типов света. Это – факелы (physical->Lights->torch), электрическое освещение, светящиеся грибы (physical->Lights->litemush). Факелы являются самым распространенным источником света, далее следует электрический свет. Факелы интересны тем, что их можно затушить и зажечь, электрические лампы - тем, что они имеют способность к включению и выключению, а также тем, что они дают НАМНОГО больше света, чем факелы.

Пожалуйста не забывайте размещать источники света, потому что light_bright только лишь освещает кисти и делает геймплей очень сомнительным. Ведь Thief и славится своей игрой света и теней, подкрадываниями. Убедитесь в том, что всегда есть подобная возможность у игрока!

Есть два общих типа света: физические источники света, и подсветка (hacklights). Подсветка – это невидимый источник света, полезный для освещения ‘заполненных’ комнат, где размещение факела не подходит. Подсветка может быть найдена в категории fnord->hacklight. В то время как физические источники находятся в разделе physical Объектной Иерархии.

Существует два различных ВИДА света: Направленный свет (Spotlights), и обычный свет. Направленный свет представляет собой фокусированный луч света, полезный для создания освещения кусочка комнаты, с затененными стенами! Обычный свет распространяет свет во всех направлениях, и полезен для обычных комнат. (Jerk: Направленный свет находится в fnord->hacklight->SpotLightPoint).

Хорошо, давайте сделаем так, чтобы свет можно было включать и выключать! Создайте свой электрический свет (Например, physical->Lights->lanterns->MineLight) и откройте его свойства (заметьте, что так можно сделать с любым светом, но факелы, которые можно включить и выключить, смотрятся паршиво). Посмотрите на свойство AnimLight (если его ДЕЙСТВИТЕЛЬНО нет, то добавьте Render->AnimLight).

Сейчас неплохо бы поговорить об окошке AnimLight. Здесь вы можете выбрать режим освещения. Если вы хотите, чтобы фонарь был первоначально отключен, установить режим (Mode) в “Minimum Brightness” (Минимальная Яркость) и установить минимальную яркость (min brightness) равной нулю. Установите подходящую максимальную яркость (max brightness) (подойдет около 100), и установите радиус света (radius) (15-20). Вот и все!

Jerk: Я немного изменю дальнейшее изложение, так автор делает левой ногой через правое ухо.

Теперь добавьте к фонарю скрипт “AnimLight” (S->Scripts). Теперь обратите внимание на то, что фонарь имеет свойство Render->Light. Это означает, что он будет в любом случае светится на заданной в этом свойстве величине. Заходим в это свойство и устанавливаем ноль в строку ‘brightness’. Портализируем уровень.

Теперь настало время связать рычаг с фонарем. Здесь необходим индивидуальный подход, ибо все источники света отличаются друг от друга.

Основной – следующий: связываем рычаг с фонарем (ControlDevice, естественно) и смотрим, что получилось. В нашем случае все ОК. По умолчанию фонарь выключен и при первом же нажатии рычага срабатывает.

Если вы хотите, чтобы фонарь был включен, то зайдите в свойства рычага и найдите свойство Tweq->JointsState: измените AnimS с “[None]” на “On”. Теперь рычаг будет по умолчанию нажат, а свет – включен.

В данный момент, если рычаг внизу, то свет включен. Spike14 настоятельно рекомендует, чтобы свет был включен, когда рычаг находится вверху. Объяснено это ‘реальностью’, но черт с ним. Между рычагом и фонарем размещается инвертер (fnord->TrapTrig->Inverter). Он будет служить для реверсирования сигнала. Теперь связываем рычаг с инвертером ControlDevice связью, а инвертер – с фонарем (не забываем удалить старую связь между рычагом и фонарем). Теперь если вы зайдете в игру, то заметите, что рычаг действительно находится в других положениях.

Не забывайте портализировать уровень (если вы меняли только настройки света, то можете выбрать Tools->Light)

Совет: Если вы узнали, что не можете устроить тени в области, потому что физические источники света сильно освещают округу, то попытайтесь сделать следующее: создайте источник направленного света (fnord->hacklight->SpotLightPoint), разместите его в области, которую вы хотите затенить, и установите в его свойстве ‘Light’(Свет) отрицательное значение! (Jerk: аж ничего не получилось)

Теперь мы сделаем лампу типа тех, что были в Потерянном Городе. Это те, которые загораются, когда вы (или другое существо) входите в комнату, и выключаются – когда выходят. Создайте physical->Lights->LCLite. Он уже настроен по умолчанию как нужно, нам нужно только добавить скрипт “AnimLight”.

Создайте конкретизированную комнатную кисть (читайте об этом разделе ‘Комнатная Кисть’ либо ранее, в ‘Рубильники и Кнопки’ в описании скрипта TrigRoomPlayer).

Добавьте к комнатной кисти скрипт “TrigRoomCreature”. Он будет срабатывать, когда кто-то (включая Гаррета) входит в комнату. Теперь свяжите (ControlDevice) комнату к лампе. Все!

Помните, что для каждой при появлении игрока включающейся/выключающейся лампы вы ДОЛЖНЫ создать новую конкретизированную комнатную кисть! Если вы будете для двух разных комнатных кистей конкретизировать одну и ту же архитектуру… то они будут наследовать одинаковые скрипты и связи!

Для создания фонаря, который включает сам себя (точнее, Гаррет его может включить непосредственно), сделайте его способным к включению/выключению (как описывалось в первом примере), и затем добавьте свойство EngineFeatures->FrobInfo и установить в WorldAction значение “Script”.


Tutorial by Spike14.
Translated by Jerk.
Хостинг от uCoz