3D Studio MAX: первые шаги. Урок 12. Основы освещения сцены
Источник света Free Directional
Практические примеры настройки освещения сцены
Объемный текст с текстурной тенью
Освещение сцены требует не меньших усилий, чем ее моделирование, ведь в большинстве случаев необходимо обеспечить реалистичный эффект. Это совсем не простая задача, ведь в реальном мире источники света работают совсем не так, как в виртуальном. Например, свет не отражается от поверхностей объектов — в итоге если в действительности единственная лампочка может осветить целую комнату, включая ее скрытые от прямых лучей света области (диффузное рассеивание), то в 3D Studio MAX такие области останутся абсолютно темными. А это значит, что диффузное рассеивание света придется имитировать за счет дополнительного освещения. И наоборот, виртуальные источники света можно настроить так, что они будут не увеличивать, а уменьшать освещенность сцены, что в реальности в принципе невозможно и т.п.
Правильно подобранное освещение является одним из наиболее существенных факторов обеспечения реализма сцены при ее визуализации. Оно создает контрасты между объектами, делает использованные материалы более яркими и выразительными и позволяет настраивать тени объектов. Кроме того, освещение определяет общее настроение сцены — например рассеянный свет создает эффект умиротворенности, тусклое освещение может вызвать страх, мерцающий свет — ощущение тревоги и т.п. С некоторыми наиболее простыми приемами настройки освещения мы ознакомимся сейчас, а более сложные аспекты работы с освещением рассмотрим в одном из ближайших уроков.
Теоретические аспекты
Настройка освещения сцены предполагает создание в ней источников света и определение их положения и параметров. Источники света (как и любые другие объекты сцены) различаются по типам — каждый из них имеет собственные свойства и сферу применения. Работа с источниками ведется параллельно с созданием объектов геометрии, однако окончательная настройка их параметров осуществляется в процессе создания и назначения материалов, поскольку освещение тесно связано с текстурированием и может влиять на особенности отображения материалов, а также приводить к появлению теней. При создании сцены ее объекты освещаются автоматически, однако с добавлением первого источника света установленное по умолчанию освещение отменяется. При удалении всех созданных источников сцена вновь освещается источниками света, используемыми по умолчанию.
К основным источникам света можно отнести следующие (рис. 1):
- Omni (Всенаправленный) — отбрасывает лучи равномерно во всех направлениях от единственного точечного источника подобно лампочке без абажура;
- Target Spot (Нацеленный прожектор) и Free Spot (Свободный прожектор) —распространяют лучи из точки в определенном направлении коническим потоком и освещают область внутри конуса. Различие этих двух источников заключается в том, что направление световых лучей в первом из них строго определено точкой цели (Target), а второй источник такой точки цели не имеет и потому направление световых лучей в нем может меняться при вращении источника;
- Target Directional (Нацеленный Прямой) и Free Directional (Свободный Прямой) —распространяют лучи из плоскости параллельным потоком в определенном направлении и освещают область внутри прямого или наклонного цилиндров. Данные источники различаются между собой тем, что направление световых лучей в первом из них имеет привязку-цель, а второй направлен свободно (направление отбрасываемых им световых лучей изменяется при вращении источника).
Рис. 1. Особенности отбрасывания лучей основными источниками света
За создание источников света отвечает категория Lights (Источники света) панели Create (Создать), при выборе которой становятся доступными все вышеописанные типы источников (рис. 2). Технология их создания напоминает создание объектов геометрии. Нужно выбрать тип источника и либо просто щелкнуть в точке его создания в одном из окон проекций (для всех источников, кроме типов Target), либо перетащить мышь при нажатой левой кнопке, указав таким образом не только местоположение источника, но и его Target-точку. Созданным источникам (так же как и объектам геометрии) присваиваются имена: Omni01, Spot01 и т.п., которые лучше сразу заменять на более информативные. Любой источник света можно перемещать, поворачивать и масштабировать на видовых экранах так же, как и все другие стандартные объекты.
Рис. 2. Список доступных источников света
Параметры источников либо устанавливаются сразу при их создании на панели Create, либо изменяются позднее через панель Modify. Список параметров весьма внушителен, и в этом уроке мы ознакомимся лишь с некоторыми из них. Все параметры разбиты по свиткам, основными из которых являются следующие:
- General Parameters (Общие параметры) — позволяет изменять тип источника, включать-отключать возможности генерирования падающих теней и исключать отдельные объекты из сферы влияния источника, что актуально при имитации особых световых эффектов (таких как вспышки) либо при выборочной засветке одного или группы объектов;
- Intensity/Color/Attenuation (Интенсивность/Цвет/Ослабление) — предназначен для контроля интенсивности, цвета и пространственного ослабления светового потока, позволяет обеспечить неоднородность освещения, характерную для объектов реального мира;
- Shadow Parameters (Параметры тени) и Shadow Map Parameters (Параметры карты тени) — отвечают за характер генерирования теней. Они позволяют регулировать четкость границы, изменять цвет тени, увеличивать/уменьшать расстояние от объекта до тени, добавлять к карте теней текстурную карту, настраивать тени при внедрении атмосферных эффектов, имитировать размытые тени в туманном освещении или четкие тени, создаваемые ярким полуденным солнцем и т.д.;
- Advanced Effects (Расширенные эффекты) — позволяют управлять четкостью перехода от освещенных источником участков объекта к неосвещенным, включать-отключать блики на объекте от источника света, назначать источнику текстурную карту и т.д.
Источник света Omni
Подготовьте простую сцену из двух объектов: плоскости и шара (рис. 3). Создайте источник света типа Omni, открыв категорию Lights панели Create, щелкните на кнопке с названием Omni, а затем укажите мышью в одном из окон проекций местоположение источника — появится объект, по виду напоминающий восьмигранник, который представляет собой созданный источник света. Инструментом Select and Move отрегулируйте положение источника так, чтобы в проекции Front он находился справа от шара и был расположен гораздо выше его, а затем (при выделенном источнике) в свитке General Parameters панели Modify включите флажок Shadows для генерации теней (рис. 4). Проведите рендеринг — шар окажется освещенным справа и будет отбрасывать тень (рис. 5). Попробуйте поперемещать источник света вокруг шара и увидите, что в зависимости от положения источника будет освещаться та или иная часть шара. По окончании эксперимента верните источник на исходную позицию справа от шара.
Рис. 3. Исходная сцена
Рис. 4. Первоначальная настройка источника света Omni
Рис. 5. Шар с одним Omni-источником
Теперь научимся управлять интенсивностью света. Для этого при выделенном источнике света активизируйте панель Modify и в свитке Intensity/Color/Attenuation увеличьте значение параметра Multiplier (Коэффициент), например, до 2 — освещение сцены станет намного ярче (рис. 6). В этом же свитке (в диалоговом окне Color Selector: Light Color, открываемом при щелчке на поле, расположенном справа от параметра Multiplier) можно изменить цвет световых лучей. Для примера попробуйте изменить устанавливаемый по умолчанию белый цвет, например, на желтый — при визуализации сцена окажется освещенной «желтой лампочкой» (рис. 7).
Рис. 6. Результат увеличения интенсивности источника
Рис. 7. Изменение вида сцены в результате смены цвета источника
Добавьте в сцену еще один Omni-источник и разместите его на проекции Front слева от шара, но так, чтобы он оказался гораздо ниже первого источника (рис. 8). Уменьшите интенсивность второго источника примерно до 0,7, а цвет у него оставьте белым — теперь шар окажется освещенным уже с двух сторон (рис. 9).
Рис. 8. Добавление и настройка второго Omni-источника
Рис. 9. Шар с двумя Omni-источниками
Источник света Free Directional
Удалите оба Omni-источника, что не приведет к затемнению сцены, поскольку вновь включатся источники света, используемые по умолчанию. Создайте один источник света типа Free Directional (для этого проще всего выбрать данный тип источника и щелкнуть в центре шара на проекции Top — тогда источник сразу будет направлен на шар). Затем нужным образом переместите его инструментом Select and Move и подкорректируйте его угол наклона инструментом Select and Rotate (рис. 10). Если провести рендеринг, то окажется, что шар освещается вместе с фрагментом плоскости, причем достаточно интенсивно, другая же часть плоскости вообще не видна (рис. 11). Получается, что яркость источника слишком велика, а вот зона охвата светового потока явно недостаточна. Ситуацию несложно изменить. Вначале разберемся, от каких параметров зависит зона охвата светового потока. Регулируя значения параметров Hotspot/Beam (определяет размер светового конуса для внутреннего, предельно насыщенного луча) и Falloff/Field (устанавливает размер внешних пределов угасания луча к краям) в свитке Directional Parameters, можно изменять размеры появляющегося от светового пучка светового пятна и характер его границы, которая может быть четкой или, наоборот, размытой. По умолчанию пятно отличается четкой границей, что далеко от реальности. Сделайте Hotspot/Beam равным 25, а Falloff/Field — 50, в результате пятно света станет размытым (значения данных параметров в каждом конкретном случае окажутся свои, важно лишь, чтобы значение первого параметра было примерно в два раза больше значения второго) — рис. 12. И наоборот, если значения данных параметров близки, то граница будет четкой. Что касается размеров светового пятна, то они напрямую зависят от значения параметра Hotspot/Beam — чем оно выше, тем размер пятна больше. При желании в этом свитке можно также менять форму сечения светового конуса (а значит, и форму светового пятна) с круглой (Circle) на прямоугольную (Rectangle). При выборе последней появляется возможность регулировать соотношения сторон светового прямоугольника параметром Aspect.
Рис. 10. Установка источника Free Directional
Рис. 11. Сцена с одним источником Free Directional
Рис. 12. Результат корректировки параметров размытости светового пятна
Теперь расширьте границы освещения так, чтобы внутри светового конуса оказался не только шар, но и большая часть плоскости, и не забудьте, что значения параметров Hotspot/Beam и Falloff/Field должны достаточно сильно различаться, чтобы снижение освещенности к краям плоскости осуществлялось постепенно. Уменьшите интенсивность света (Multiplier) примерно до 0,6 и включите флажок Shadows для генерации теней — сцена окажется освещенной более естественно, хотя уровень освещения будет недостаточным (рис. 13). Чтобы увеличить уровень освещенности, попробуйте создать два дополнительных источника света (рис. 14). Для первого (задача которого — создать общее освещение сцены) выберите тип Omni, желтый цвет и интенсивность порядка 0,8-0,9. Назначение второго — обеспечить эффект вторичного освещения, возникающего за счет отражения падающего света от светлых поверхностей (в данном случае плоскости). В нашем примере такой эффект должен проявиться на нижней поверхности шара в виде некоего цветного блика. Чтобы имитировать подобный эффект, установите под плоскость слабый цветной источник света, не отбрасывающий тень, — подойдет, например, источник типа Free Directional. В нашем случае для него установлен сходный с оттенком плоскости цвет, интенсивность которого равна примерно 1,1, а размер таков, чтобы плоскость полностью оказалась внутри границ внутреннего светового конуса Hotspot/Beam. Окончательный вид сцены представлен на рис. 15.
Рис. 13. Результат изменения размеров светового пятна и коррекции интенсивности излучения
Рис. 14. Установка дополнительных источников света
Рис. 15. Сцена с тремя источниками
Источник света Target Spot
Создайте сцену, установив на плоскость шар, цилиндр и куб и назначив для плоскости материал на основе мраморной текстуры (рис. 16). Перед созданием нового источника света предварительно уменьшите масштаб сцены, чтобы поместить источник на достаточно большом расстоянии от ее объектов. Активируйте в категории Lights источник типа Target Spot, переключитесь на проекцию Front, установите указатель мыши в левую верхнюю часть данного окна, щелкните левой кнопкой мыши в данной точке и, не отпуская мышь, направьте ее к объектам — будет создан нацеленный прожектор (рис. 17). Если сразу же провести рендеринг, то результат получится весьма далеким от желаемого (рис. 18): освещаться будет плоскость под объектами, а сами объекты практически не будут видны.
Рис. 16. Исходная сцена
Рис. 17. Создание источника света Target Spot
Рис. 18. Начальное освещение сцены источником Target Spot
Попробуем изменить ситуацию и добиться того, чтобы были освещены обращенные к зрителю стороны объектов. Как было отмечено выше, нацеленные источники света отличаются от свободных наличием цели (Target) — пустого объекта, на который направлена ось пучка лучей источника света. Изменение особенностей освещения объектов подобным источником возможно как путем воздействия на сам источник, так и на его объект-пустышку. Например, при перемещении объекта-пустышки источник света автоматически меняет свою ориентацию, но при этом будет продолжать оказываться нацеленным на пустой объект. Попробуйте, попеременно воздействуя инструментом Select and Move на источник и на объект-пустышку, расположить источник так, чтобы освещенными оказались грани объектов, размещенные на переднем плане (рис. 19). Визуализируйте сцену (рис. 20).
Рис. 19. Корректировка положения источника Target Spot
Рис. 20. Изменение освещенности объектов в результате изменения положения источника
В свитке General Parameters увеличьте интенсивность источника, задав параметр Multiplier равным 1,25, и установите флажок Shadows — сцена станет ярче и объекты теперь даже будут отбрасывать тени, правда слишком темные (рис. 21). Поэтому откройте свиток Shadow Parameters (Параметры тени) и уменьшите плотность тени, установив счетчик Dens (Плотность) равным 0,5 — тени станут выглядеть более естественно (рис. 22). При желании в этом свитке также можно поменять цвет тени в поле Color (рис. 23) или сделать так, чтобы цвет тени формировался с учетом цвета источника — для этого в меню Shadow Parameters потребуется включить флажок Light Affects Shadow Color (рис. 24).
Рис. 21. Вид сцены с нереалистично темными тенями
Рис. 22. Сцена с менее плотными тенями
Рис. 23. Результат корректировки цвета тени
Рис. 24. Сцена с тенями, формирующимися путем смешивания их базового цвета с цветом источника (цвет источника был изменен)
И напоследок для улучшения внешнего вида сцены попробуйте добавить в нее еще два источника света: Omni-источник желтого цвета с интенсивностью порядка 0,3-0,5 для создания общего светового фона и источник типа Target Spot розового цвета с интенсивностью порядка 2 для имитации эффекта вторичного освещения (рис. 25). Кроме того, назначьте плоскости новый материал типа Raytrace и подключите к нему уже использованную текстуру, стараясь создать имитацию полированного мрамора. Окончательный вид визуализированной сцены представлен на рис. 26.
Рис. 25. Настройка дополнительных источников
Рис. 26. Сцена с тремя источниками
Источник света Free Spot
Свободный прожектор Free Spot отличается от только что рассмотренного источника Free Directional тем, что его лучи расходятся не параллельным пучком, а коническим, подобно свету реальных прожекторов, театральных софитов, карманных фонариков и т.п. Попробуем создать три таких источника, чтобы осветить плоскость с торусом (рис. 27) примерно так, как ее могли бы осветить разноцветные театральные софиты. Вначале установите слабый Omni-источник для общего освещения сцены (рис. 28). Затем добавьте первый свободный прожектор, например с лучами синего цвета и небольшими световыми конусами (в данном случае параметр Hotspot/Beam равен 10, а Falloff/Field —20) — рис. 29. Удобнее всего создавать прожектор в проекции Top, щелкая прямо по объекту, на который он должен быть направлен. В итоге визуализированная сцена станет напоминать рис. 30. Точно таким же образом создайте еще два цветных прожектора (красный и зеленый) с теми же самыми параметрами, а затем отрегулируйте положение всех трех прожекторов в окнах проекций, например так, как показано на рис. 31. Установите для каждого из источников флажок Shadows для генерации теней и визуализируйте сцену (рис. 32). Поскольку тени выглядят слишком черными, уменьшите их плотность (Dens) в свитке Shadow Parameters примерно до 0,3-0,4 (рис. 33).
Рис. 27. Исходная сцена
Рис. 28. Добавление источника света Omni
Рис. 29. Установка синего прожектора
Рис. 30. Вид сцены с синим прожектором
Рис. 31. Настройка положения прожекторов
Рис. 32. Вид сцены с тремя прожекторами
Рис. 33. Результат снижения плотности теней
И напоследок попробуем воспользоваться интересной возможностью назначения прожектору текстурной карты Projector Map (Проецируемая карта), что позволяет либо совмещать отображение светового пятна с изображением произвольного изображения (если задействована, например, обычная фотография), либо видоизменять определенным образом границу светового пятна (если использовано черно-белое изображение, играющее роль маски). Мы применим второй вариант и назначим прожекторам текстуры, показанные на рис. 34, 35 и 36 соответственно, — сделать это нужно в свитке Advanced Effects (рис. 37). Возможный результат назначения текстурных карт показан на рис. 38, для достижения которого торусу дополнительно был присвоен новый материал, имитирующий пластик.
Рис. 34. Первая текстура
Рис. 35. Вторая текстура
Рис. 36. Третья текстура
Рис. 37. Назначение текстурной карты прожектору
Рис. 38. Сцена с фигурными цветными прожекторами