THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама

Глобальное освещение (Global Illumination , GI ) позволяет имитировать эффект поверхностного рассеивания света, наблюдающийся в результате отражения распространяемого источником света от самых разных поверхностей. Примером такого освещения может служить падающий через окно солнечный свет, который отражается от пола и освещает всю комнату. При рендеринге стандартными средствами в такой сцене окажется освещенным только пол, а при визуализации в Mental Ray могут быть освещены также стены с потолком (что конкретно и в какой степени - зависит от расположения окна и интенсивности света). Эффект глобального освещения реализуется двумя способами: с помощью функции Global Illumination (Глобальное освещение) либо подключением метода Final Gather (Конечный сбор). В обоих вариантах процесс визуализации достаточно длителен и оказывается еще дольше, если задействуются оба метода, однако на это нередко идут, поскольку комбинирование обоих методов позволяет получать более впечатляющие результаты.

При использовании Global Illumination из источника света излучаются фотоны, а визуализатор (так же как и при имитации эффекта каустики) отслеживает их распределение в сцене и суммирует энергию всех фотонов в каждой точке пространства. Метод Final Gather работает иначе, хотя его цель совпадает с Global Illumination : после попадания первого луча в точку на поверхности объекта из этой точки в сцену излучается дополнительный пучок лучей, при помощи которого собирается информация о цвете вокруг этой точки, на базе чего и производится расчет освещенности сцены. Подобный просчет требует бо льше времени, чем при использовании Global Illumination , но при этом формируются более сглаженные световые пятна и тени. Кроме того, применение метода Final Gather оказывается полезным и при имитации эффекта каустики, поскольку позволяет уменьшить либо даже устранить возникающие в ряде случаев артефакты.

Для примера создайте новую сцену с плоскостью, шаром и чайником (рис. 20). Установите один направленный источник света, поместите его в левой части сцены и включите для источника генерацию теней по типу Ray Traced Shadows (рис. 21). Создайте светящийся материал на базе шейдера Architectural , изменив цвет в поле Diffuse Color и увеличив значение параметра Luminance cd /m 2 , отвечающего за уровень свечения, примерно до 7000 (рис. 22). Сделайте шар светящимся, назначив ему созданный материал. Проведите рендеринг визуализатором Scanline - несмотря на то что шар светится, свет от него никуда не распространяется, чего в действительности быть не может (рис. 23).

Установите Mental Ray в качестве текущего визуализатора. Включите имитацию глобального освещения: активируйте в окне Render Scene вкладку Indirect Illumination и в разделе Final Gather включите флажок Enable Final Gather . Вновь визуализируйте сцену, и вы увидите, что теперь свет от шара немного освещает пространство находящейся под ним плоскости (рис. 24). Увеличьте значение параметра Multiplier до 1,5, а Rays per FG Point до 500 - интенсивность распространяющегося от шара света заметно увеличится (теперь отблески рассеянного света видны не только на плоскости, но и на чайнике) - рис. 25. Кроме того, качество изображения стало заметно выше, что было достигнуто благодаря увеличению значения параметра Rays per FG Point , регулирующего число световых лучей в каждом пучке.

Усложним задачу. Создайте новую сцену с замкнутым линейным сплайном в виде прямоугольника (формировать его следует в окне проекции Top ) и чайником внутри. Назначьте сплайну модификатор Extrude , что позволит превратить его в некое замкнутое кубическое пространство - имитацию комнаты, внутри которой и окажется чайник (рис. 26). Добавьте в сцену камеру так, чтобы в нее было видно пространство внутри комнаты и разместите на потолке комнаты плоский куб (он сыграет в нашем случае роль лампы, работающей в режиме ночного освещения) - рис. 27.

Назначьте лампе светящийся материал и при желании текстурируйте стены, пол и потолок комнаты, а затем визуализируйте сцену стандартными средствами (рис. 28). Установите Mental Ray текущим визуализаторов и активируйте имитацию глобального освещения, включив флажок Enable Final Gather . Увеличьте интенсивность света, установив параметр Multiplier равным 1,7, и для ускорения процесса визуализации уменьшите значение параметра Rays per FG Point до 50. Проведите рендеринг через Mental Ray (рис. 29). Очевидно, что в обоих вариантах (Scanline и Mental Ray) освещение оказалось совершенно неестественным. По замыслу освещать пространство должна лампа на потолке. В первом варианте никакого свечения от нее не видно и в то же время стены комнаты освещены, хотя никаких источников света не создавалось. При этом чайник как бы парит в воздухе, что является следствием отсутствия теней. Во втором случае лампа освещает пространство рассеянным светом, появилась тень под чайником, но стены комнаты освещены все равно неестественно - чувствуется присутствие еще одного источника света. Понятно, что данный источник установлен по умолчанию (ведь мы источников не создавали), но в рассматриваемом примере он оказывается лишним. Чтобы избавиться от него (удалить его нельзя, поскольку в списке объектов сцены источник не фигурирует), создайте собственный источник света (после этого освещение по умолчанию отключается) и заблокируйте его, отключив флажок On в области Light Type раздела Generel Parameters (рис. 30).

Если теперь сразу же провести рендеринг, то в комнате практически ничего не будет видно (рис. 31). Поэтому увеличьте значение параметра Rays per FG Point до 500 - освещенность несколько повысится (хотя стен все равно не будет видно) за счет увеличения количества рассеиваемых лучей (рис. 32). Установите параметр Diffuse Bounces равным 4, что обеспечит появление светотеней на полу, стенах и потолке (при дальнейшем увеличении данного параметра тени становятся более легкими), а Multiplier - 2,2, что усилит интенсивность света (рис. 33). Еще раз увеличьте количество, а также плотность рассеиваемых лучей, установив параметры Rays per FG Point и Initial FG Point Density равными 700 и 1,5 соответственно (рис. 34), - полученное при визуализации изображение окажется более качественным, хотя все еще каким-то призрачным (создается ощущение, что в воздухе висит какая-то дымка - рис. 35).

Рис. 34. Настройка параметров свитка Final Gather

Теперь посмотрим, какие результаты могут быть получены при использовании метода Global Illumination (GI ). В разделе Final Gather выключите флажок Enable Final Gather , а в разделе Global Illumination (GI ) включите флажок Enable и проведите рендеринг. Результаты окажутся неутешительными (рис. 36), поскольку метод Global Illumination базируется на излучении источником света фотонов, а единственный источник в сцене заблокирован. Разблокируйте источник, переместите его внутрь лампы, уменьшите интенсивность источника примерно до 0,3 и измените оттенок на близкий к оттенку светящегося материала (рис. 37). Включите для источника генерацию теней по типу Ray Traced Shadows и визуализируйте сцену - комната осветится, но будет освещена равномерно (без светотеней) и никакого свечения от лампы ощущаться не будет (рис. 38).

Попробуем поэкспериментировать с настройками глобального освещения. Для начала увеличьте энергию фотонов и то их количество, которое принимает участие в Global Illumination, выделив источник и увеличив в свитке mental ray : Indirect Illumination значения параметров Energy и GI Photons до 10 и 400 соответственно (рис. 39). Как видно из результата (рис. 40), увеличение энергии было чрезмерным (уменьшите Energy до 5), размер фотонов и их интенсивность явно недостаточны, равно как и их количество. В то же время получить реалистичные, мягкие светотени можно только при очень большом числе фотонов приемлемого размера (при малом радиусе фотонов установка сколь угодно большого значения числа образцов практически не влияет на результат) и интенсивности. Попробуйте установить значения параметров Multiplier , Maximum Num Photons per Sample и Maximum Sampling Radius равными 1,2; 1500 и 14 соответственно (рис. 41). Результат заметно улучшился (светотени на стенах, полу и потолке достаточно естественны) - рис. 42, но без подключения метода Final Gather добиться свечения от лампы не получается.

Несмотря на то, что концепция Глобального освещения (GI) очень проста, правильное освещение сцен с использованием этого алгоритма вызывает некоторые трудности.

Как правило, возникает парадокс — mental ray довольно быстро обсчитывает сцены, но при включении GI мы видим ухудшение качества и пытаемся это исправить увеличением количества фотонов и уменьшением их радиуса (последнее определение не верно, но подробности в уроке) тем самым время расчетов увеличивается до бесконечности, а результата не видно. В уроке будет на примерах показаны проблемы обсчета и пути их решения.

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

Выполняться будет в 3ds Max 2009.

В уроке я использую сокращения:

GI — Global Illumination — глобальное освещение

FG — Final Gather — финальная сборка (алгоритм непрямого освещения — подробнее Mental Ray Освещение часть 1 — FG

ИС — Источники света подробнее Mental Ray Освещение часть 3 — источники

Во второй части я показываю решение некоторых проблем, но не претендую на 100% правильности методов, все они следуют из индивидуальной практики.

Часть первая — теория

Глобальное освещение (далее GI) это алгоритм непрямого освещения, основан на генерировании источником света (далее ИС) GI-фотонов, которые встречаясь с объектом изменяются с учетом его материала и отразившись освещают рядом стоящие объекты. Наглядно я этот эффект изобразил на простом рисунке:

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

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

Включается алгоритм GI для всей сцены в настройках рендера (Render Setup) закладка Indirect Illumination (непрямое освещение) — галка Enable (включить):

Настройки GI:

Multiplier — общий множитель яркости эффекта и цвет фильтра.

Maximum Num Photons per Sample — качественная характеристика — количество фотонов для подсчета в семпле — уменьшение ведет к появлению шума.

Maximum Sampling Radius — радиус площадки сбора фотонов, очень часто путают с радиусом фотона — в mental ray фотоны не имеют радиуса, параметр от которого напрямую зависит качество освещение, изменение настройки только этого показателя, как правило не приводит к прямому улучшению качества (подробности в практической части)

Merge Nearby Photons — качественная характеристика — алгоритм объединения фотонов — задается расстояние, на котором происходит объединение нескольких фотонов в один — включение параметра может привести к ухудшению качества, но экономии памяти — актуально включать, когда мы увеличением количества фотонов пытаемся поднять качество картинки в одной проблемной области, а при этом остальные области не нуждаются в таком количестве.

Optimize for Final Gather — при использовании GI совместно с Final Gather (далее FG) оптимизирует вычисление совместно освещенных участков. Работает как дополнительный алгоритм и занимает немного больше времени при рендере.

Поле — Light Properties:

Average GI Photon per Light — количество фотонов, излучаемое источником света. Как правило, изменение этого параметра без изменения радиуса семпла к ощутимым положительным результатам не приводит (подробности в практической части).

Decay — параметр затухания фотонов, физически корректное значение = 2 (согласно квадрату расстояния) если вы используете физически корректное освещение, не меняйте значение, для художественных целей интересно уменьшать значение совместно с уменьшением энергии ИС.

Параметры в Trace Depth указывают количество отражений и преломлении, которые произойдут с фотоном, прежде чем он пропадет, желательно максимальную глубину установить на 5, а не 10 по умолчанию — это сэкономит время, а результат практически не измениться.

Итак, это все что нам надо знать по теоретической части по GI.

Давайте смоделируем помещение и будем настраивать (а иногда и бороться) с глобальным освещением.

Часть вторая — практика

Итак, у нас есть сцена, которую мы хотим осветить. Я сделал небольшое помещение:

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

Включаю солнце, настраиваю экспозицию и сразу вижу первую проблему GI.

Все помещение в бежевых тонах! Почему?

Солнечный свет (прямой) осветил пятно на полу, который у меня покрыт материалом A&D (под полированное дерево) коричневых тонов, фотоны непрямой иллюминации приняли оттенок материала и полетели освещать внутренности помещения, окрашивая все в бежевое. В принципе на этой картинке еще все более менее терпимо, но покроем пол синей плиткой (тоже A&D):

скажите жуть? Нет, это тоже еще терпимо, а вот, возьмем материал из набора ProMaterials — Пластик, тоже синий:

вот это уже ближе к жути!

Моделил я в метрической системе, теоретически расчет GI и FG должен проходить корректно. Может я не прав, но в реальном мире нет такого сильного переноса цвета от ярких поверхностей, если Солнце освещает красный ковер в моей комнате (и такое бывает в нашем хмуром городе Питере), то комната не погружается в багровые тона.

Что-то тут разработчики упустили, либо считают, что мы сами должны позаботиться об этом эффекте.

Давайте позаботимся и исправим данное недоразумение. Я опишу три способа — два частных случая и один кардинальный.

Вернемся к помещению с деревянным полом (рис № 2)

Первый способ состоит в подборе фильтра на GI ну и соответственно поставим его же на FG.

Чтобы компенсировать желто-бежевый цвет нужен светло-голубой фильтр, его и поставим (правда на GI и FG пришлось поставить немного разные фильтры, но кто сказал что будет легко):

делаем рендеринг:

явно с бежевым цветом справились. В чем два минуса этого способа?

Первое это подбор цвета фильтра (тем более что их два) и второе это то, что так мы можем компенсировать всего один цвет. Что делать если у меня половина пола красная, а вторая зеленая? В этом случае фильтр не поможет.

Второй способ. Давайте подумаем, почему происходит такая сильная окраска фотонов. Может я ошибаюсь, но по-моему, диффузный цвет из шейдера поверхности без изменений переноситься в шейдер фотонов, либо недостаточно ослабляется (это конечно касается предустановленных материалов, при работе с материалом mental ray, мы сами настраиваем этот шейдер). Давайте сменим шейдер. Открываем закладку «mental ray Connection» в свойствах материала и снимаем блокировку (замочек) с шейдера фотонов:

и диффузную составляющую цвета настаиваем по своему желанию:

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

Изменяем и рендерим:

У этого свойства тоже есть пара недостатков. Первое это то, что алгоритм FG все равно сделает свое черное дело (или бежевое в нашем случае), а втрое это то, что у предустановленных материалов группы ProMaterials невозможно сменить шейдер фотонов.

Итак, третий способ.

Он основан на работе с картами фотонов, а заодно и с картой FG.

Сохраняем наш проект (на всякий случай, хотя можно потом обойтись и функцией отмены действия ctr+Z)

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

Обратите внимание, я активировал опцию Ambient Occlusion, пока просто там ставим галку, подробности будут ниже.

Выделяем все объекты сцены и назначаем им этот материал (не бойтесь, мы же сохранили нормальную сцену)

Сцена приобрела следующий вид:

серо, хмуро, но нам так нужно.

Теперь заходим в настройки непрямой иллюминации

Для начало сохраним карту FG. Раздел Final Gather Map, включаем галку — «Read/Write File», потом жмем по кнопке с точками и указываем имя и место, куда сохраниться карта:

после чего жмем кнопку «Generate FG Map File Now» и ждем процесс генерации.

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

Аналогично делаем для GI:

ставим галку, указываем имя файла и жмем на генерацию.

Обе карты сохранены, теперь грузим сохраненную сцену с нормальными материалами, или делаем отмену действий.

Опять ставим галки в Read/Write File на обоих алгоритмах (или проверяем, что они стоят если отменяли действие)

Проверяем, что указан наш сохраненный файл и в алгоритме для FG «замораживаем» карту нажав на «замочек»:

теперь смело жмем кнопку РЕНДЕР, замечаем что нет процесса генерирования фотонов и FG:

и наблюдаем приемлемый результат переноса цвета фотонами.

Многие сейчас могут возмутиться:

«А как же сама концепция переноса цвета материала фотонами!!! мы ее убили на корню!!! а люди писали алгоритмы, работали!!!»

Во-первых — ничего и не убили, кто мешает назначать всем материалам один серый/белый цвет, а пол можно сделать немного желтоватым 🙂

А во-вторых, давайте обратимся к физике, как происходит процесс передачи цвета, точнее отражения спектра.

В mental ray подразумевается, что он сразу смешивается (либо полностью либо в ослабленном виде — точно не знаю это нужно изучать программу шейдера)

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

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

Пока плотность материала мы в Максе задавать не можем, а в предустановленных материалах она видно работает не так хорошо, как нам хочется. Поэтому придется имитировать GI описанными выше способами, либо для большей реальности можно включить эффект каустики (это и есть черная стрелка на рисунке, мы привыкли считать что каустика это только у стеклянных объектов, а это еще и зеркальные блики) либо пользоваться материалами mental ray на основе подслойного рассеивания — группа SSS.

Теперь присмотримся ко второй проблеме.

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

Возьмем, например помещение, которое освещается только непрямой иллюминацией и в нем установлена конструкция с неровными поверхностями, я сделал что-то вроде лестниц:

и сделаем рендер, включив GI, но не меняя количества фотонов:

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

Сидят вечером три работника в сфере CG, и обсуждают свои проекты.

Первый говорит:

Второй отвечает:

— Тоже все закончил, но не хватает мощности компа, доставлю память и закончу проект.

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

— А ты чего молчишь? как ты борешься со сложными обсчетами?

— А я использую Ambient Occlusion! Все сдал и завтра в отпуск.

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

Если используются материалы группы ProMaterials, то в них есть опция Special Effects, в которой и можно включить Ambient Occlusion

Параметр samples это качество просчета — чем больше, тем лучше.

Параметр Max Distance один из основных — это дистанция, с которой происходит учет рядом стоящей геометрии для формирования эффекта глобального освещения (со всех сторон). Если мы хотим показать эффект явно, то тут нужно установить расстояние до соседнего объекта, а если просто хотим подчеркнуть геометрию объектов (как в нашем случае) достаточно от 10см до полуметра. Ниже параметры смешивания и размытия, нам сейчас они не очень нужны, так как функция АО второстепенна.

Если используется материал не из группы ProMaterials, то придется диффузный цвет смешивать с шейдером АО, желательно по карте Falloff. А в некоторых материалах и материальных шейдерах есть слот Ambient, в который и нужно установить шейдер Ambient/Reflective Occlusion и настроить дистанцию:

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

Итак, добавляем Ambient Occlusion, который работает очень быстро и не трогаем количество фотонов:

согласитесь есть разница! Учитывая, что рендериг по времени почти не увеличился.

Перейдем к третей и четвертой проблеме, они взаимосвязаны.

Присмотритесь к рисунку (№ 8) у верхнего отверстия на потолке, если присмотреться есть круглое светлое пятно.

Для выявления этого эффекта я прорублю два окна и немного испорчу потолок у помещения:

Первое обозначено красной стрелкой — это засветленное пятно, сейчас мы воочию видим семпл сбора фотонов, который светлее обычного фона. Кардинальное решение проблемы будет чуть ниже, а сейчас частный случай:

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

Вывод — желательно пользоваться материалами mental ray, а если у вас есть любимый и настроенный старый материал, позаботьтесь о настройке шейдера фотонов как мы делали выше в обсуждении первой проблемы. Но это частный случай. Общее конечно в настройке семплов и количества фотонов.

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

Разберем эффект на самом частом и явном примере. Такие пятна как правило появляются под подоконниками, где должно быть по умолчанию темно, а mental почему то там ставит такие пятна. Вот схемка их образования:

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

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

Оптимальный расчет можно сделать так:

Размер семпла (Maximum Sampling Radius) = Y

Количество фотонов (Average GI Photons per Lihgt) = начальное значение умноженное на X деленное на Y (у меня это 20000*40 = 800000)

Выше параметры ставить бесполезно — это ничего не даст — только время потратим.

(любители геометрии сейчас могут возмутиться — почему мы делим на 40, а не на 2 в 40-ой степени? Ведь площадь уменьшается согласно квадрату!!! Все правильно мы делаем, ведь семплы ставятся пересекаясь и накладываясь! А не рядышком и воздействие каждого фотона уменьшается на корень из 2)

в моей сцене получилось 400000 фотонов, плюс еще некоторая настройка окружения:

В итоге время рендера вместе с генерацией карт освещения на процессоре 2х2Ггц — 4 минуты 31 секунда (148 тыс полигонов — деревце за окном прибавило)

Согласитесь это лучше чем генерировать часами миллионы фотонов и получать минимальные результаты.

В конце урока оговорюсь опять — все это результаты собственного опыта и расчетов и я не претендую на сто процентную правильность.

На этом уроки по освещению заканчиваю.

This entry was posted on 20 апреля, 2009 at 8:24 дп and is filed under Без рубрики. You can follow any responses to this entry through the feed. You can , or from your own site.

В 3ds Max входит специальные источники-имитаторы реалистичного дневного освещения. Они помогают установить дневное освещение сцены в несколько кликов мышью. Но в то же время они обладают достаточной гибкостью, позволяя настраивать такие параметры как: высота горизонта, цвет неба, состояние атмосферы, облачность, и даже точное географическое положение. Эти источники света в связке называются Daylight system (Система дневного освещения).


Рис. 2.4.01 Пример экстерьера, освещённого Daylight system

При создании Daylight system , 3ds Max предложит активировать экспозицию. Появится диалоговое окно, в котором можно её активировать нажатием кнопки Yes (Да). Либо можно активировать экспозицию вручную позже. Помимо этого откроется запрос на создание mr Physical Sky в качестве окружения.

Рис. 2.4.02 Диалоговое окно активации экспозиции

Рис. 2.4.03 Диалоговое окно установки mr Physical Sky в качестве окружения

В mental ray в состав системы дневного освещения входят mr Sun , mr Sky и mr Physical Sky (речь о которых пойдёт далее в этом разделе). Также необходимо учесть и контроль экспозиции mr Photometric Exposure Control , описанный ранее в этой главе.

Рис. 2.4.09 Установка времени (слева), и географического местоположения (справа)

Выберите карту нужного континента в раскрывающемся списке Map (Карта). Обновится изображение карты. Щелкните мышью в нужную вам локацию чтобы задать нужную точку карты. При установке чекбокса Nearest Big City (Ближайший большой город), то указатель будет устанавливаться в точку расположения ближайшего к указанному месту города из списка City (Город) в левой части диалогового окна.

Источники дневного освещения в mental ray.

Источниками света и инструментами для имитации дневного освещения в mental ray являются: mr Sun , mr Sky , mr Sky Portal , шейдер mr Physical Sky .

Для достижения наиболее реалистичных результатов лучше всего использовать все вышеперечисленные компоненты в системе Daylight , причём в связке, например параметр Red / Blue Tint , который присутствует в источнике света солнца и неба, а также в шейдере окружения mr Physical Sky . Каждый компонент описан далее в главе.

На заметку: Окна проекции 3 ds Max поддерживают интерактивное отображение связки дневного освещения, mr Sun и mr Sky .

Для начала рассмотрим отдельно параметры источника света mr Sky.

mr Sky Parameters (Параметры mr Sky).

Источник mr Sky - это фотометрический всенаправленный источник света (небосвод), который служит для имитации рассеянного света небосвода.


Рис. 2.4.10 Параметры mr Sky системы дневного освещения

On (Включено) Включает и выключает источник света.

Multiplier (Множитель) Множитель яркости света. Значение по умолчанию 1.0 .

Ground Color (Цвет земли) Цвет «поверхности» земли.


Рис. 2.4.11 Примеры влияние Ground Color на глобальное освещение

На заметку: На рисунке 2.4.11 показано влияние цвета земли на отражённый свет на стенах дома, помимо этого «поверхность» земли не воспринимает тени от объектов сцены.

Sky Model (Модель неба) В этом выпадающем списке можно выбрать одну из трёх моделей неба: Haze Driven, Perez All Weather, CIE .

Мы рассмотрим одну из этих моделей Haze Driven (Управляемое дымкой).

Дымка - равномерная световая вуаль, возрастающая по мере удаления от наблюдателя и заволакивающая части ландшафта. Является результатом рассеяния света на взвешенными в воздухе частицами и на молекулы воздуха.

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

Haze (Дымка) Число твёрдых частиц в воздухе. Возможные значения от 0.0 (абсолютно чистой атмосферы) до 15.0 (Максимально «запылённой»). Значение по умолчанию 0.0 .


Рис. 2.4.12 Влияние параметра Haze на атмосферу сцены: 0.0 (слева) ; 5.0 (в центре); 10.0 (справа)

mr Sky Advanced Parameters (Расширенные параметры mr Sky)


Рис. 2.4.13 Дополнительные параметры mr Sky

Horizon (Горизонт)

Height (Высота) Высота линии горизонта, отрицательные значения опускают линию, положительные - поднимают линию горизонта. Значение по умолчанию 0.0


Рис. 2.4.14 Высота линии горизонта: 0.0 (слева); -0.6 (справа)

На заметку: Высота горизонта воздействует лишь на визуальное представление в источнике света mr Sky. Помимо этого оттенок горизонта также зависит от источника света mr Sun.

Blur (Размытие) Размытие линии горизонта. Большее значение делает линию горизонта более размытой и менее очевидной. Значение по умолчанию 0.1.


Рис. 2.4.15 Размытие линии горизонта: 0.2 (слева); 0.8 (справа)

Night Color (Цвет ночи) Минимальное «значение» цвета неба: имеется ввиду что небо никогда не будет темнее установленного здесь значения цвета.

Nonphysical Tuning (Не физические настройки)

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

Red / Blue Tint (Оттенки Красный/Синий) Значение по умолчанию 0.0, что является физически правильным (имеет температуру цвета 6500К). Изменяя значение до -1.0 (насыщенный синий цвет), до 1.0 (насыщенный красный) можно подстроить цвет неба, для придания нужного вам цвета неба.

Aerial Perspective (Воздушная перспектива)

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

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

Чекбокс Aerial Perspective (Воздушная перспектива) Этот чекбокс включает отображение воздушной перспективы.

(Видимое расстояние) В этом счётчике указывается расстояние влияния воздушной перспективы и диапазона видимости объектов.

Создаем объемный свет в Ментал Рэй используя 3д Макс.

Первый шаг. Установка Mental Ray Renderer.

Сначала необходимо установить Mental Ray в наш редактор. Делается это следующим образом, открываем Rendering (в главном меню) > Render Setup... > Вкладку Common > Стек Assign Renderer > Production > mental ray Renderer. Все теперь базовый рендер Scanline заменен на Mental Ray.

Второй шаг. Геометрия для рендера.

Объемный свет в пустой сцене смотреться не будет, необходимо создать простенькую заготовку. Пусть, это будет макет дома с небольшими окнами. Начнем с базового примитива Box, откройте Create panel > Geometry > Standard Primitives > и выбираем Box. Теперь мы можем задать ему следующие параметры:

Третий шаг. Создадим окна.

Чтобы объемный свет попал в наш дом, необходимы окна! Теперь добавим модификаторы к объекту Box. Следуем по пути Modify panel > Modifier List > Object-Space Modifiers > тут активируйте Edit Poly. В окне Right можно активировать редактирование на уровне полигонов, сделайте это и удалите два полигона на нашем доме, это и будут окна.

Самое время активировать изменение геометрии на уровне vertex, изменим немного наш дом, сделав окна более низкими и широкими. Можете сделать как у нас на картинке или поэкспериментировать самостоятельно.

Фактически геометрия готова, осталось перевернуть нормали, это делается следующим образом:

1) Активируем полигональный режим.

2) Выделяем все полигоны по горячим клавишам CTRL + А.

3) Открываем modify panel, там ищем стек Edit Polygons и нажимаем на кнопку Flip.

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

Четвертый шаг. Добавим камеру.

Теперь необходимо добавить на сцену главную камеру. Откройте Create panel > Cameras > Target, устанавливайте камеру. Лучше всего устанавливать камеру в окне вида сверху, однако можете использовать для этого любое окно. Вам необходимо повернуть камеру так, чтобы были видны окна.

Также камеру необходимо настроить, установите параметр Lens на 20мм. Осталось сменить вид на картинку из камеры, просто переходим в окно перспективы и нажимаем на клавишу С.

Пятый шаг. Работа с материалами.

Нам необходимо приписать нужные материалы, для этого открываем Material Editor, достаточно нажать М на клавиатуре. Перед нами будет список материалов, советуем сразу научиться их точно именовать, например, назовите его warehouse. Пока у вас материалов мало, это не очень существенно, но затем, когда материалов будет 20-30, вы банально запутаетесь.

  1. Первым делом нажимаем Get Material либо Standard, в открывшемся списке выбираем материал Arch & Design (mi).
  2. Теперь активируем склад, выбрав его в окне проекции и применив к нему наш материал.
  3. Скорректируйте параметр Reflectivity, установив его на 0. Ведь, блеск в нашем доме неуместен.

Можно добавить bump для более реалистичного отображения.

  1. В свойствах материала ищем Bump и в свитке Standard устанавливаем параметр Composite.
  2. Добавим слой, кнопка находится недалеко от Total layers. Обычно первым слоем (Layers 1), ставят базовую карту Smoke. Однако необходимо поправить параметры:

# Iterations: 20

Color #1 – черный

Color #2 – темно серый по RGB 50, 50, 50

  1. Добавим второй слой с картой Speckle, также исправим параметры:

Color #1 – светло серый по RGB 180, 180, 180

Color #2 – черный

Теперь необходимо настроить карту Diffuse, пройдите по пути Maps > Standard > Bitmap > concrete-texture-high-resolution.jpg.

Фактически основной объем сделан, можно создавать рендер и наслаждаться результатом. Пока он промежуточный, но у вам должно получиться как на картинке.

Шестой шаг. Настраиваем освещение.

Пора добавить свет в наше строение. Для этого необходимо открыть mr Area Spot, он расположен по адресу Create panel > Lights > Standard > mr Area Spot. Создавайте свет в окне Front, так его лучше позиционировать с той точки, чтобы он проходил в наши окна. Установив свет, добьемся лучших результатов правкой следующих параметров:

В свите Spotlight Parameters установим Hotspot/Beam: 24 и Falloff/Field: 26.

В свитке General Parameters установим Shadows: On (Ray Tracted Shadows).

Можно сделать еще один промежуточный рендер.

Седьмой шаг. Создание окружения.

Пора приступать к созданию окружения. Необходимо открыть Rendering > Environment и перейти в раздел background:

  1. Надимаем на "None", в выпадающем меню активируем карту Glow.
  2. Нажимаем М, открывая редактор материалов, перетаскиваем туда нашу карту Glow. Для перетаскивания зажимаем и держим левую клавишу мыши. Используем пустой слот, в появившемся диалоговом окне выбираем Instance. Так мы свяжем карты.

Осталось настроить цвет, для Glow выберем чисто белый, установим параметр яркости (Brightness) на уровень 4, однако вы сами можете по ситуации корректировать яркость.

Можно делать очередной промежуточный рендер. Если все выполнено как надо, то результат будет таков.

Как видно, постепенно наша сцена становится все более интересной. Однако необходимо еще многое сделать. Для начала применим шейдеры к камере, идем по пути Renderer > стек Camera Effects > Camera Shaders > Output > Glare. Иными словами мы применили Camera Shader на наше свечение Glare.

При желании, можете сделать еще один рендер, для того, чтобы зафиксировать изменения.

Кстати, если хотите получить более интенсивное свечение, то просто свяжите карту Glare со слотом в редакторе материалов (М) и увеличивайте параметр Spread.

Восьмой шаг. Добавляем стороннее освещение.

Сейчас единственный источник света на сцене это наши окна. Необходимо добавить стороннего освещения, для лучшей видимости сцены. Необходимо пройти по пути Create panel > Lights > Standard > Skylight, создав свет. Сразу же меняем параметры в Make a selection > Modify panel, нас интересует Multiplier, его лучше установить на 1,5, впрочем, небольшие отхождения от этого значения возможны, пробуйте!

Теперь идем в Create panel > Lights > Photometric > mr Sky Portal и добавляем еще несколько светильников. Тут возможны некоторые сложности, необходимо сделать наши светильники точно под размер окон и повернуть их светом внутрь помещения. Ах, и не забудьте сделать Multiplier 1,5 или столько, сколько вы и сделали свету Skylight.

Как видите, свет станет более естественным, он будет освещать окружающее окно пространство, а именно, часть потолка и стены.

И, несмотря на все, в помещении все еще слишком темно. Необходимо это исправить, добавив еще света, пройдите по пути Rendering > Render setup... > вкладка Indirect Illumination > стек Final Gather. Тут необходимо поставить следующие параметры Multiplier на 2, а Diffuse Bounces на 5. Можно делать очередной промежуточный рендер, для оценки результатов. Напомним, если вас не устраивает интенсивность или яркость, можете смело менять, подстраивая все под свое виденье.

Как видим, стало еще светлее, уже вся сцена просматривается.

Девятый шаг. Создаем объемный свет.

Собственно, наконец, мы подошли к теме нашего сегодняшнего урока. Все приготовления завершены, можно работать над объемным светом! Использовать будем эффект Volume Light, который входит в рендер. Активируем его по пути Rendering > Environment... > Atmosphere, теперь следуем такому порядку действий:

  1. Нажав на Add необходимо выбрать Volume light.
  2. Теперь нажимаем на Pick Light, и выбираем mr area spot, который мы настраивали ранее. На более сложных сценах, чтобы не искать светильник в списке объектов, достаточно нажать клавишу Н.
  3. Поиграем с плотностью света, установив параметр Density на 20.

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

Десятый шаг. Финальные настройки света в рендере Mental Ray

Необходимо провести финальную настройку всего нашего света. Вы можете это делать несколько иначе, ставя другие параметры или оставляя все как есть, но мы сделали это следующим образом. В Rendering > Render setup... > Indirect Illumination > Final Gather мы немного понизили Multiplier с 1,5 до 1,4. Однако это игры со светом, они индивидуальны, вы можете задать совершенно иные настройки.

Также необходимо улучшить качество рендера. Для этого идем в Rendering > Render setup... > Renderer > Sampling Quality и там выставляем:

Samples per pixel

Параметр Minimum на 4

Параметр Maximum на 64

Filter выбираем Type: Mitchell

Фактически все! Можно проводить финальный рендер, наслаждаясь отличной картинкой!

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

  • Работать с текстурными картами
  • Устанавливать источники света
  • Визуализировать сцену при помощи Mental Ray
  • Создавать сплайны

Итак, откроем созданную нами в прошлых уроках модель, выделим все ее составляющие и объединим в группу. Для этого выберем в главном меню пункт — «Group > Group» и нажмем ok.

Группировка

Теперь мы можем работать с моделью, как с единым объектом. Пока оставим табурет в покое, вернемся к ней позже. Для визуализации нужно настроить сцену, то есть окружение, чтобы модель не висела в воздухе. Воспользуемся для этого сплайном (линией). Найти их можно все в той же правой панели нажав на кнопку в виде окружности с квадратом (Shapes ).

Выберем объект — «Line» , переключимся на вид слева и нарисуем L-образную ломаную линию. Чтобы рисовать ломаные, нужно кликнуть мышью в месте начала линии, переместить мышь в другую точку и снова кликнуть, когда нужная линия будет построена, кликаем правой кнопкой мыши. Для исправления неровностей нажмем на клавиатуре «1» и переместим точки линии, так как необходимо. Должно получиться что-то вроде этого:

Вернемся в окно перспективы, применим к линии модификатор — «Extrude» со значением «Amount» равным 10000мм и разместим ее точно под табуреткой.

Разместите объекты таким образом, чтобы табуретка стояла на пересечении жирных линий сетки, как на скриншоте ниже:

Теперь конвертируем нашу L-образную загогулину в «Edit Poly» , и объединим все ее грани в первую группу сглаживания (Вспоминайте прошлый урок).
Сразу-же назначим ей новый материал белого цвета. Смотрите скриншот:


Сцена готова, перейдем к настройкам визуализации. Первым делом необходимо переназначить рендер со стандартного на «Mental Ray» . Откроем настройки рендера, нажав на кнопку «Render Setup» или «F10» на клавиатуре, в самом низу вкладки «Common» найдем стек «Assign Renderer» . Кликнем по первому многоточию (Production) и в появившемся окне выберем «mental ray Renderer» .

Назначаем ментал главным)

Настройки рендера пока трогать не будем, а перейдем к освещению. Источники света можно найти справа от сплайнов. В выпадающем списке выберем пункт «Standart» и создадим источник света — «mr Area Spot» .

Расположите его над объктом, сместив в сторону. Чтобы видеть положение теней в реальном времени, нужно переключиться с режима отображения — «Shaped» в режим «Realistic» . Скриншот ниже:
Убедитесь в том, что в настройках светильника включены тени.

Включаем тени

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

Остальные настройки смотрите также на скриншотах:

Качество будущей картинки

Окончательная сборка — имитация глобального освещения

После визуализации увидим следующее:

Как-то не очень…

Неплохо, но можно лучше. Тени слишком резкие, чтобы это исправить, увеличим радиус светильника в несколько раз при помощи инструмента — «масштабирование»(о нем говорилось в первом уроке) и визуализируем снова:

Получше, но не то

Так гораздо лучше, но дерево выглядит неестественно гладким. Чтож, и это можно легко исправить. Сперва нужно создать карту рельефа. Сделать это можно например в гимп.
Открываем исходную текстуру в редакторе, и применяем к ней инструмент — «порог». Конечно, не самый лучший вариант, но зато быстрый.

Инструмент- «Порог»

Что-то вроде того

Вернувшись в 3d Max перейдем к настройкам материала для табуретки, который мы создали в прошлом уроке. Там внизу находим стек — «Maps» и в нем напротив пункта «Bump» жмем на кнопку с надписью: «None». В открывшемся окне выбираем «Bitmap» и указываем черно-белый вариант текстуры. Настройки текстуры оставляем без изменений и возвращаемся к основным настройкам материала. Значение «Bump» выставьте - 20.

Также добавим немного бликов. Настройки на скриншоте:

Перед финальным рендером увеличим размер изображения и качество:

Улучшили качество

Теперь можно заварить себе чаю, так как ждать придется достаточно долго)). Результат виден вначале урока.
Вполне приличная визуализация для начинающего пользователя Autodesk 3ds Max. Можно сказать, что фундамент построен и теперь можно начинать погружение во все тонкости трехмерного моделирования.

Твитнуть Оформить подписку по E-Mail

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама