Основы освещения в трехмерной графике

We use cookies. Read the Privacy and Cookie Policy

Основы освещения в трехмерной графике

Правильно установленный свет может значительно улучшить посредственную сцену и, наоборот, если источники света расставлены произвольным образом, даже хорошо смоделированная сцена покажется «бедной». Грамотное освещение определяет общую атмосферу изображения. При помощи света можно передать настроение, напряженность, радость, тоску, подчеркнуть достоинства и скрыть недостатки, а также сделать многое другое.

Существует несколько вариантов освещения. Наиболее часто встречаются два из них: трехточечное и местное (зонное). Местное применяется для освещения отдельных участков сцены и используется чаще всего в случае, когда сцена большая и ее невозможно эффективно осветить при помощи трехточечного освещения.

Трехточечное освещение является базовым в трехмерном моделировании. В его основе лежат три источника света: ключевой, контурный и заполняющий (иногда можно встретить другие определения).

Ключевой свет является основным. Обычно это самый яркий и освещающий большую часть сцены свет. Кроме того, это тот источник света, благодаря которому предметы в сцене отбрасывают тень.

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

Совет

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

Освещение часто является фундаментом для цветового моделирования, придающего сцене акцент и глубину. Предметы в сцене не будут выглядеть плоскими, если их прорисовать светотенью, то есть характером распределения освещенности по форме в зависимости от положения ее различных поверхностей по отношению к источнику света. Чтобы предметы выглядели объемными, на них должны присутствовать свет, блик, полутон, а на самой затененной части поверхности – собственная тень (рис. 5.1). Последняя всегда в той или иной степени подсвечена светом, отраженным от других предметов, так называемым рефлексом. Наконец, предметы отбрасывают от себя на соседние предметы падающую тень, которая обычно бывает темнее собственной тени. Только при правильном соотношении этих световых фаз можно с предельной правдоподобностью передать объем предмета.

Рис. 5.1. Градации светотени

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

Степень освещенности поверхности зависит от угла падения лучей света на поверхность, а также от фактуры и цвета самой поверхности. Гладкая, полированная поверхность лучше отражает свет, чем шероховатая или матовая. Поверхность темного цвета поглощает больше света, чем светлая. На очень темных и на очень светлых поверхностях светотеневые градации видны плохо, так как глаз не способен различать переходы слишком слабых (рис. 5.2) или сильных (рис. 5.3) световых оттенков.

Рис. 5.2. Затемненная поверхность предмета

Рис. 5.3. Засвеченная поверхность предмета

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

На предметах со сложным рельефом или орнаментом наиболее ясно детали видны в полутени, в тени их четкость понижена. Собственная тень всегда в той или иной степени подсвечена светом, отраженным от других предметов. Падающая тень не имеет резких разграничений с собственной тенью. Тональности их сближены, контуры основания предмета сливаются с горизонтальной плоскостью. Чем ближе к предмету падающая тень, тем она темнее. Такая закономерность сохраняется на переднем плане. Внутри и на дальнем плане она высветляется рефлексами от окружения (рис. 5.4).

Рис. 5.4. Падающая тень

Рефлексы не только высветляют тени, но и придают им свой цветовой оттенок. Свет, полутень, тень имеют на поверхности предмета определенное местоположение, а блик – нет, так как зависит не только от направления источника света, но и от местоположения камеры (точки в пространстве, с которой мы видим предмет). На предметах с блестящими (глянцевыми) поверхностями блики и рефлексы ярче и определеннее по своим границам, чем на матовых и шероховатых. Форма и цвет их находятся в прямой зависимости от формы и цвета прямого или отраженного источника света.

Чтобы лучше понять принцип действия источников света, создайте сцену. Используйте для этого простые примитивы Plane (Плоскость) и Teapot (Чайник). Расположите камеру и источники света так, как показано на рис. 5.5 и 5.6.

Рис. 5.5. Вид сцены в окне проекции Top (Cверху)

Рис. 5.6. Вид сцены в окне проекции Front (Спереди)

Рассмотрим более подробно процесс создания сцены, с которой вы будете работать в дальнейшем.

Последовательность создания любой сцены приблизительно такова: сначала создаются объекты, затем располагается и настраивается камера и только после этого ставится свет.

Прежде всего, создадим плоскость, на которой будет располагаться чайник. Для этого выполните из команду Create ? Standard Primitives ? Plane (Создать ? Простые примитивы ? Плоскость) главного меню и в окне проекции Top (Сверху) постройте плоскость произвольного размера.

Для создания примитива Teapot (Чайник) выполните команду Create ? Standard Primitives ? Teapot (Создание ? Простые примитивы ? Чайник). В данном случае размер и плотность сетки чайника не имеют значения. Единственное требование, чтобы он располагался на плоскости и был сопоставим с ней по размерам.

Совет

Возможно, вам будет удобнее использовать для создания объекта вкладку Create (Создание) командной панели.

Камера создается аналогичным способом. Выполните команду Create ? Cameras ? Target Camera (Создание ? Камеры ? Направленная камера). После того, как построен объект и в сцене установлена камера, направленная на объект-чайник, можно переходить к созданию источников света.

Прежде чем создавать источники света, нужно отметить, что освещение сцены зависит также от настроек подсветки в окне Environment and Effects (Окружающая среда и эффекты), которые равномерно распределяют начальный уровень освещенности всех объектов.

Начинать расстановку источников света в сцене следует с основного освещения, то есть с ключевого. Примерно 80 % сцены будет освещено именно этим источником света, поэтому необходимо правильно расположить его в сцене. Он должен в целом освещать всю сцену (или нужную часть). Такой источник света не должен быть слишком ярким, чтобы не засветить предметы, или темным, иначе исчезнет объем на визуализированном изображении. На рис. 5.7 показано, что получилось у меня после визуализации сцены с одним ключевым источником света. В данном случае я использовал Target Spot (Направленный с целью) с затуханием, чтобы оттенить задний план, на котором ничего нет (если бы в глубине сцены присутствовали другие объекты, то необходимо было бы их показать, увеличив световое пятно). Для его построения выполните команду Create ? Lights ? Standard Lights ? Target Spotlight (Создание ? Источники света ? Стандартные источники света ? Направленный с целью).

Рис. 5.7. Сцена, освещенная ключевым источником света

Первое, что бросается в глаза при взгляде на готовое изображение, – отсутствие падающей тени, непонятное положение чайника в пространстве (он то ли стоит на плоскости, то ли висит в воздухе).

Активизируйте в настройках источника света тень. Для этого в области Shadows (Тени) свитка General Parameters (Общие параметры) настроек источника света в нижней части командной панели установите флажок On (Включить). Это позволит источнику света генерировать простые тени от объектов сцены (рис. 5.8).

Рис. 5.8. Появилась тень, и положение чайника на плоскости стало более естественным

Теперь чайник не «висит» в воздухе, а стоит на плоскости. Но вместе с тем он стал сливаться с тенью, в результате чего частично пострадало восприятие объема.

Добавим в сцену источник света для контурного освещения. Для этой цели используем еще один Target Spot (Направленный с целью) (на рис. 5.5 и 7.6 он расположен справа от камеры). Естественно, что интенсивность его несколько ниже, чем ключевого источника, так как этот источник света является второстепенным и его основная задача в данном случае «оторвать» чайник от фона. Чтобы дать общее представление о том, какая интенсивность построенных источников света у меня в сцене, приведу значения параметров Multiplier (Яркость): для контурного источника света – 0,52, для ключевого света – 1,3.

Выполните последнюю настройку для данного источника света, сняв флажок Specular (Цвет блеска), который находится в свитке Advanced Effects (Дополнительные эффекты). Для наших целей достаточно, чтобы этот источник света освещал область диффузного отражения, не создавая области зеркального отражения. В реальности это обычно отраженный свет от других предметов, который не имеет большой интенсивности и не способен генерировать яркие блики.

Как только вы добавили этот источник света, объекты приобрели объем, а сцена – пространство (рис. 5.9).

Рис. 5.9. Контурное освещение придало чайнику объем и отделило его от фона

Применим небольшой трюк, который поможет улучшить восприятие предмета и сделать его цвет более естественным. Для этого сделаем источник контурного света цветным, что поможет передать цвет, отраженный от поверхности, на которой стоит чайник. Естественно, применяемый к источнику света цвет должен соответствовать цвету той поверхности, которая будет отражать свет (в нашем случае это плоскость, на которой стоит чайник). Цвет этой поверхности красно-коричневый, значит именно такой цвет должен присутствовать в свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) (рис. 5.10).

Рис. 5.10. Цвет, добавленный источнику света, придал чайнику более естественную окраску

Общее восприятие картины немного портит то, что на чайнике слишком темная собственная тень. Исправить положение поможет третий источник света – заполняющий. Его назначение – смягчить тени и полутени на предмете. Как и контурный, заполняющий свет не должен быть ярким и не должен создавать на поверхности объектов блики.

В данном случае для построения источника освещения воспользуемся точечным источником света Omni (Всенаправленный). Для этого выполните команду Create ? Lights ? Standard Lights ? Omni (Создание ? Источники света ? Стандартные источники света ? Всенаправленный). Данный источник освещения должен находиться между двумя существующими источниками и быть позади камеры. Как уже говорилось выше, назначение его заключается в том, чтобы равномерно заполнить светом промежуток между самым ярким местом на объекте и его собственной тенью. Как и для контурного, запретите в настройках заполняющего источника света создание области зеркального отражения, сняв флажок Specular (Цвет блеска). После этого можно посмотреть на результаты сделанных настроек (рис. 5.11).

Рис. 5.11. В сцену добавлен заполняющий свет

Правильное расположение теней очень влияет на восприятие сцены зрителем. Управление тенями играет ключевую роль в использовании источников света. С чрезмерным или недостаточным количеством теней сцена не будет выглядеть реалистичной и убедительной.

Отбрасывание теней представляет собой сложный процесс, именно тени добавляют в завершенную сцену реализм. Тени, построенные посредством трассировки лучей, требуют большое количество времени для визуализации, a Shadow Map (Карта теней) в дополнение к используемому времени визуализации – еще и ресурсов памяти. Ограничение падения точечного света только той областью, которая требует теней, сэкономит время визуализации. Уменьшение количества объектов, отбрасывающих тени, при помощи настроек объекта или источника света, также сократит расходы ресурсов на визуализацию.

По умолчанию источники света работают с тенью Shadow Map (Карта теней). Это относительно быстрая для просчета тень, но вместе с тем и наименее точная с точки зрения трассировки лучей и качества. Более правильную с физической точки зрения тень дает Ray Traced Shadows (Трассированная тень), но она, так же как и тень Shadow Map (Карта теней), не становится светлее по мере удаления от предмета. Появление типа Area Shadows (Площадная тень) решило эту проблему.

В некоторой степени недостатком Shadow Map (Карта теней) и Area Shadows (Площадная тень) является значительное увеличение времени просчета сцены, особенно, если в ней используется несколько источников света с такой тенью, а у Area Shadows (Площадная тень) указано большое значение размытия тени на краях.

До создания таких теней существовали подключаемые модули или сценарии, которые генерировали по кругу дополнительные источники света на небольшом расстоянии друг от друга. Таким образом тени, создаваемые многими источниками, перекрывались при визуализации и давали размытый контур. Существует более простой и, что самое приятное, легкоуправляемый способ, который, однако, имеет некоторые ограничения. Он заключается в том, чтобы назначить источнику света с отрицательным значением параметра Multiplier (Яркость) созданную пользователем текстурную карту Projector Map (Карта проектора).

Для построения такой карты нужно выделить источник света, который будет отбрасывать тень, и в любом окне проекции (например, в окне Left (Cлева)) выбрать вид из этого источника. Для этого щелкните на названии окна проекции правой кнопкой мыши, в результате чего появится контекстное меню (рис. 5.12), в котором следует выбрать нужный источник света (в моем случае это Spot01), выполнив команду Views ? Spot01 (Вид ? Объект Spot01).

Рис. 5.12. Контекстное меню для выбора вида отображения

Если вы все сделали правильно, то в окне проекции будет такой вид, как будто мы смотрим из камеры (рис. 5.13).

Рис. 5.13. Вид со стороны источника света Spot01

Далее нужно исключить из визуализации все объекты, которые не будут отбрасывать тень. Сцена содержит всего два геометрических объекта: Plane (Плоскость) и Teapot (Чайник), но их может быть гораздо больше. Чтобы исключить объект из визуализации, выполните следующие действия.

1. Щелкните на нужном объекте правой кнопкой мыши.

2. В появившемся контекстном меню выберите пункт Object Properties (Свойства объекта). В результате откроется одноименное окно.

3. Снимите флажок Renderable (Визуализируемый) в области Rendering Control (Управление визуализацией).

4. Щелкните на кнопке OK для подтверждения выполненных изменений.

Совет

Можно исключить объекты из визуализации и другим способом. Для этого выделите все «ненужные» геометрические объекты и щелкните на них правой кнопкой мыши. В появившемся контекстном меню выберите пункт Hide Selection (Спрятать выделенное).

Визуализируйте стандартными средствами вид из окна, в котором установлен источник света, с типовым значением разрешающей способности 800 ? 600. После этого сохраните изображение в файл в формате, поддерживающем альфа-канал (например, TIFF).

Откройте сохраненный файл в программе растровой графики, допустим Adobe Photoshop, и, выделив альфа-канал, залейте его белым цветом. Если фон не черного цвета, то инвертируйте выделение и залейте все остальное черным цветом (то есть объекты сцены должны быть белыми, а фон черным, как показано на рис. 5.14).

Рис. 5.14. Карта теней на начальном этапе

Как только вы это сделаете, можно переходить к созданию размытых краев на изображении. Это можно сделать разными способами, например воспользоваться программой Photoshop, где применить для выделения градиентную маску, а затем использовать фильтр размытия по Гауссу. Важно, чтобы по мере удаления от основания объекта (от плоскости, на которой стоит чайник и на которую будет отбрасывать тень) размытие становилось более заметным (рис. 5.15).

Рис. 5.15. Законченная карта теней

Как только размытие будет готово, сохраните его в любом удобном для вас формате и продолжите работу в 3ds Max.

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

1. Выделите источник света, который необходимо клонировать.

2. Выполните команду Edit ? Clone (Правка ? Клонирование) и в появившемся окне Clone Options (Параметры клонирования) выберите тип создаваемых при дублировании объектов, установив переключатель в положение Copy (Независимая копия объекта).

3. В окне Clone Options (Параметры клонирования) также задайте объекту значимое имя, чтобы впоследствии было легче выбирать его из списка, например shadow.

После этого активизируйте источник света (если он до сих пор не выбран) и разверните свиток Advanced Effects (Дополнительные эффекты), где в качестве Projector Map (Карта прожектора) выберите вашу карту тени (рис. 5.16).

Рис. 5.16. Свиток Advanced Effects (Дополнительные эффекты) для карты теней

В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) установите отрицательное значение параметра Multiplier (Яркость) (у меня эта величина равна –1,25). Исключите из освещения чайник (чтобы тень не ложилась на него, а только на плоскость). Для этого щелкните в свитке General Parameters (Общие параметры) на кнопке Exclude (Исключение) и в появившемся окне Exclude/Include (Исключение/включение) исключите чайник из визуализации (рис. 5.17).

Рис. 5.17. Окно Exclude/Include (Исключение/включение) с исключенным из освещения чайником

Теперь можно выполнить финальную визуализацию сцены (рис. 5.18).

Рис. 5.18. Результат финальной визуализации сцены

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

В папке ExamplesГлава 05Base_light прилагаемого к книге DVD находится файл сцены данного упражнения, который называется Base_light.max.

Примечание

В видеоуроке «Урок 28. Установка освещения в сцене», который находится на DVD, прилагаемом к книге, показан пример установки освещения в сцене.

Данный текст является ознакомительным фрагментом.