Добавить в закладки

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

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

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

Существует несколько вариантов освещения, но я сегодня хочу поговорить о трехточечном освещении, как о базовом и основополагающем. В основе этого освещения лежат три источника света: Ключевой, Заполняющий и Контурный. На самом деле они могут называться иначе, но суть от этого не меняется. Для того, что бы предметы в сцене не выглядели плоскими нужно что бы они были прорисованы светотенью, т.е. характером распределения освещенности по форме в зависимости от положения ее различных поверхностей по отношению к источнику света. Для того, чтобы предметы выглядели объемными, на них должны присутствовать: Свет (1)(рис.1), Блик (2), Полутон (3), а на самой затененной части поверхности - Собственная Тень (4). Последняя всегда в той или иной степени подсвечена светом, отраженным от других предметов, так называемым Рефлексом (5). Наконец предметы отбрасывают от себя на соседние предметы Падающую Тень (6), которая обычно бывает темнее собственной тени. Итак, наша задача найти правильное соотношение этих световых фаз, только тогда мы сможем с предельной правдоподобностью передать объем предмета.

рис. 1

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

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

рис.2 рис.3

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

рис. 4

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

Итак, пришло время создать свою собственную сцену. Используем для этого плоскость и чайник из стандартных примитивов. Выставим камеру и светильники, как на рис. 5 и 6.

рис. 5 рис. 6

Небольшие пояснения к рисункам выше.

Первым делом создаются объекты в сцене. Затем выставляем камеру и только после этого ставим свет. Начинать нужно с основного освещения, т.е. с Ключевого (Key Light). Процентов 80 сцены освещено этим источником света, поэтому его правильному положению в сцене нужно уделить особое внимание. Он должен вцелом освещать всю сцену (или нужную нам часть). Он не должен быть слишком ярким (чтобы не засветить предметы), но и не должен быть темным, иначе мы потеряем объем на рендеренном изображении. Вот такое изображение получилось у меня с одним Ключевым светом (рис. 7). В качестве источника света я использовал Target Spotlight с затуханием, для того, чтобы оттенить задний план, на котором ничего нет (если бы в глубине сцены присутствовали другие объекты нам необходимо было бы их показать, увеличив световое пятно).

рис. 7

Первое, что бросается в глаза, так это то, что в отсутствие тени, непонятно расположение чайника в пространстве (он сейчас может стоять на плоскости, так и висеть в воздухе). Активизируем в настройках светильника тень (рис.8).

рис. 8

Ну вот, чайник встал на плоскость. Но вместе с тем он стал сливаться с тенью и в результате этого несколько пострадало восприятие объема. Пришло время ввести в сцену светильник для Контурного освещения. Для этой цели я собираюсь применить еще один Target Spotlight (он же Rim Light на рис. 5,6). Естественно, т.к. этот источник света является второстепенным, то и интенсивность его значительно ниже. У меня значение Multiply 0.52, в то время как у Ключевого света этот параметр составлял 1.3. Кроме того у Контурного освещения нужно отключит параметр Specula (обычно это отраженный свет, поэтому он не имеет большой интенсивности, чтобы генерировать блики). Обратите внимание на рис. 9. По-моему значительно лучше :-).

рис. 9

Ну а если сейчас сделать источник контурного света цветным, то таким образом мы сможем передать цвет отраженный от поверхности, на которой стоит чайник (рис. 10).

рис.10

Немного общее восприятие картины портит то, что слишком темная собственная тень. Исправить положение нам поможет третий источник света, так называемый Заполняющий (Fill Light на рис. 5,6). Назначение его в том, чтобы смягчить тени и полутени на предмете. Так же как и Контурный свет, Заполняющий не должен быть ярким и не должен создавать на поверхности обектов блики. (рис. 11)

рис. 11

Есть еще один аспект, о котором я почти не говорил - это Падающая тень. По умолчанию светильники работают с тенью Shadow Map. Это относительно быстрая в просчетах (соответственно во времени рендеринга) тень, но вместе с тем и наименее точная с точки зрения трассировки лучей и качества. Более правильную с физической точки зрения, дает Ray Traced Shadow, но она так же как и тень Shadow Map, не может становиться светлее по мере удаления от предмета. С появлением Area Shadow эта задача стала в основном решаться и эта тень может удовлетворить многих придирчивых 3D-шников (ну разве что может понадобиться что-то более изощренное для отдельных высокохудожественных сцен :-)). В некоторой степени недостатком последних двух теней является то, что с ними время просчета сцены значительно увеличивается, особенно если в сцене стоит несколько светильников с такой тенью, а у Area Shadow выставлено большое значение размытия тени на краях.

Некоторое время назад, когда не было таких теней, существовали плагины или скрипты, которые генерировали по кругу дополнительные источники света на небольшом расстоянии друг от друга и таким образом тени перекрываясь давали размытый контур. Но есть и более простой и, что самое приятное, легкоуправляемый способ. Хотя он и имеет ряд ограничений, но тем не менее имеет право на жизнь. А заключается он в том, чтобы назначить светильнику с отрицательным Multiply текстурную карту Projector Map. Вы спросите откуда берется эта карта? Все очень просто - мы сгенерируем ее сами. Для этого выбираем тот светильник, который будет отбрасывать тень и в любом видовом окне выбираем вид из этого светильника (т.е. будет такой вид, как будто мы смотрим из камеры (рис.12)

рис.12

Сейчас нужно выключить из рендера все объекты, которые не будут отбрасывать тень (можно их просто спрятать), в нашем случае это плоскость, т.е. для рендера остается только чайник. Далее рендерим эти объекты и сохраняемся в формате, поддерживающем альфаканал (можно в Tiff -е). Затем открываем этот файл в программе растровой графики (например в Фотошопе) и выделив альфаканал, заливаем его белым цветом (т.е. объекты сцены должны быть белыми, а фон черным) как на рис. 13.

рис. 13 рис. 14

Затем, при помощи доступных инструментов программы и имеющихся навыков :-), делаем размытие изображения в тех местах, где по Вашему мнению, тень должна быть светлее. Должно получиться нечто похожее на рис. 14. После этого сохраняем карту тени в любом, удобном для Вас формате и возвращаемся в Макс.

Здесь сразу же нужно склонировать тенеобразующий источник света (в нашем случае это Ключевой свет) и не меняя его положение в пространстве (оно должно в точности повторять положение ключевого светильника для того, чтобы тень легла правильно на плоскость) переименовываем в shadow (или как-нибудь еще) для того, что бы легче было его выбирать. Можно еще его залочить, чтобы случайно он не сдвинулся. После этого активизируем это светильник (если он до сих пор не активирован) и идем во вкладку Advanced Effects, где в качестве Projector Map выбираем нашу карту тени (рис. 15)

рис. 15

После этого устанавливаем значение параметра Multiply в отрицательное значение (у меня это -1,73), выключаем из освещения чайник (чтобы тень не ложилась на него, а только на плоскость) и рендерим (рис. 16).

рис.16

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

В этом уроке я описал только некоторые аспекты освещения сцены в 3D графике. На самом деле эта тема гораздо шире. Для тех, кто хочет создавать на самом деле прекрасные работы, рекомендую почитать литературу на эту тему. Очень близкое по восприятию театральное освещение. Наверняка найдутся и книги по постановке света в фотографии. Дерзайте!

Если Вы написали свой урок или перевели иностранный, мы с удовольствием вывесим его на сайте.

Rambler's Top100
Hosted by uCoz