CS-MAPPER.BY.RY — Создание карт для CS.
Учебник по созданию карт
Глава VIII. Свет.

§ 8.7 Блокирование света объектами

В данной статье мы расскажем о том, как можно управлять тенями энтити-объектов.

Все брашевые энтити-объекты по умолчанию пропускают свет, т.е. не отбрасывают теней. Согласитесь, довольно нелепо смотрится ящик неотбрасывающий тень в то время, как расположенные рядом стены ее отбрасывают (см. рис. ниже).

Энтити-объекты не отбрасывают теней


Конечно, вместо ящика из func_wall можно было использовать обычный браш, который естественно «отбросил» бы тень, но тогда земля была бы разбита на более мелкие полигоны. Если ящиков немного, то можно использовать и обычные браши, а если штук 10 в одном месте, то они могут серьезно снизить скорость отрисовки карты (понизить fps).

Чтобы энтити-объект отбрасывал свет необходимо выставить световые флаги. Эти флаги есть у большинства брашевых энтити-объектов, и они доступны в свойствах объекта (см. рис. ниже). Но помните, что световые флаги доступны только при использовании компиляторов ZHLT или ZHLT: Custom Build. Со стандартными (старыми) компиляторами флаги не работают.

Выставление световых флагов



Возможные варианты

    1. Normal — по умолчанию (объект не отбрасывает теней);

    2. EmbeddedFix — не использовать сложную коррекцию освещения. Иногда брашевый объект, проходящий сквозь стену, бывает неправильно освещен. Используйте этот флаг для избежания подобной ситуации;

    3. Opaque (Block Light) — объект отбрасывает тени. Делает объект «непрозрачным», в результате чего он начинает отбрасывать тень. Полезно использовать этот флаг для func_wall, некоторых func_illusionary, func_door и, возможно, других объектов для достижения различных эффектов;

    4. Opaque + Embedded Fix — это комбинация предыдущих двух флагов;

    5. Opaque + Concave Fix — используется для искривленных объектов func_wall, особенно арок. Когда эти объекты имеют флаг непрозрачности Opaque (3), внутренняя сторона арки (вогнутая часть) будет иметь темные края, особенно в местах стыковки брашей. Установка флага ConcaveFix решает проблему темных швов, однако объект не может использовать флаг EmbeddedFix при этом.
Итак, любой из флагов со словом Opaque, заставляет энтити блокировать свет. Для обычных объектов (ящики) можно указывать Opaque (blocks light). Другие флаги Opaque применяются редко, в основном для сложных арок, состоящих из большого числа объектов func_wall.

Как Вы можете видеть на рисунке ниже, большой ящик справа отбрасывает тень, хотя также, как и левый, является объектом func_wall.

У ящика справа установлен флаг Opaque, и он блокирует свет



Другой способ управления тенями

Теперь рассмотрим еще один способ управления тенями. Наряду с Light Flags есть еще Light Origin.

В этом параметре указывается имя объекта info_target, который по своей сути является объектом-мишенью. Таким образом, при расчете освещения брашевый энтити-объект будет временно перемещен на место объекта info_target, имя которого указано в параметре Light Origin. Посмотрите на рисунок ниже.

Тень от ящика просчитана в месте установки объекта info_target


В том месте, где находится тень, на самом деле установлен объект info_target с именем target1. Это же имя указано в свойствах ящика func_wall в параметре Light Origin (см. рис. ниже).

Выставление параметра Light Origin


Трудно сказать, в каких случаях можно использовать Light Origin. В отличии от Light Flags он применяется очень редко.

Совет: не устанавливайте блокировку света двигающимся или разрушаемым объектам, т.к. тень просчитана и никуда не денется при изменении положения объекта.


Глава VIII. Свет.

§ 8.1   Общая информация об освещении
§ 8.2   Естественное освещение (солнце)
§ 8.3   Искусственное освещение (лампочки)
§ 8.4   Эффект световых лучей
§ 8.5   Эффект дымки вокруг источников света
§ 8.6   Вращающийся свет
§ 8.7   Блокирование света объектами
§ 8.8   Огонь

К оглавлению Учебника


Copyright © 2003—2004
Дизайн: Дмитрий Черкашин aka «Dmitrich!».
Содержание: Дмитрий Черкашин и другие авторы, указанные в материалах.

С условиями перепечатки материалов Вы можете ознакомиться на странице about/index.shtml

Сайт создан в системе uCoz