Уроки: 3ds Max

Глобальное Освещение и Конечный Сбор (MentalRay)

Начальное руководство по выполнению "чистых" изображений с глобальным освещением при помощи Mental Ray 2.1 в 3D Studio Max и Softimage\XSI.

Кажется, многие люди сталкиваются с трудностями в получении "чистых" изображений используя Глобальное Освещение в Mental Ray'е. Жалобы главным образом касаются артефактов вызванных как Глобальным Освещением (ГО)/Трассировкой Фотонов так и Конечным Сбором (КС). Этих проблем, однако, можно легко избежать если знать как ГО и КС работают. а также проведя несколько тестов и исследований перед тем, как делать окончательный вывод.

Глобальное Освещение/ГО Трассировка Фотонов

Глобальное Освещение - это моделирование интерференции диффузного света в сцене. Для моделирования этих эффектов Mental Ray использует трассировку фотонов и хранит фотоны Глобального Освещения в карте фотонов. Использование карты фотонов может вызвать, в зависимости от установок, проявление артефактов, таких как тёмные углы и низкая частота в освещении. Можно уменьшать количество этих артефактов или устранять их вообще при помощи Конечного Сбора.

Конечный Сбор

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

Так как КС собирает информацию об энергии окружающей среды, его можно использовать в одиночку без использования ГО (карты фотонов). Чтобы выполнить это в 3D Studio Max, попросту дезактивируйте опцию "Indirect Illumination Params" (Параметры Косвенного Освещения) для источника(ов) освещения. Однако, действие этого приложения ограничено в ситуациях, когда свет поступает постоянно и отовсюду, например, как свет в небе (т.е.купол неба) в сценах на открытом воздухе. В открытых сценах, например, где объекты освещены не только светом неба, но и ещё одним или несколькими источниками света, межотражение диффузного света, подсчитаное при помощи трассировки фотонов является определяющим фактором для получения в результате реалистического изображения. (см. рисунки внизу - слева: используется только КС (АА выкл.), справа: тоже самое, только с ГО (АА вкл.)).

 

Применение Глобального Освещения и Конечного Сбора в 3D Studio Max.

Вся информация в данном тексте относится к текущей 1.1 версии Mental Ray/MAX и сцены Cornell-Box Globillum.max из учебной директории Mental Ray/MAX. Если вы незнакомы с общим процессом применения ГО для вашей сцены, прочитайте об этом в руководстве по применению. Данный текст лишь даёт советы по решению вышеупомянутых проблем визуализации.

Проблема 1: Артефакты, вызванные картой фотонов.

"У меня есть простенькая внутренняя сцена с коробкой для потолка, стен и пола, и одним всё освещающим источником света. Я использую ГО и КС, но сколько бы фотонов я ни использовал и как точен ни был бы КС, углы и края в комнате выглядят исскуственными, особенно яркая стена на заднем плане. Что я делаю не так?" (см. рисунок внизу)

 

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

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

 

Вот как выглядят фотоны на рисунке сверху (энергия была немного (1.500) увеличена, чтобы сделать фотоны более видимыми). Опции "Generate" и "Receive" для ГО включены для всех объектов сцены. Всеосвещающий источник света (HSV = 0,0,100) с установленным уровнем множителя на 3.0, тип притушения "Inverse" и Raytraced Shadows. Установки фотонов - за исключением установки Энергия (Energy), которая установлена на 500, и типа притушения "Inverse", - являются установками по умолчанию: 10.000 фотонов с заданным по умолчанию радиусом, который Mental Ray вычисляет в соответствии с протяжённостью сцены, в данном случае 19,4 (приблизительно 10% протяжённости сцены). В этой сцене фотоны находятся в различных вариациях, которые КС явно не в состоянии устранить.

Заданные по умолчанию установки для фотонов Глобального Освещения следует изменить для того, чтобы получить более гладкое изображение. Заданные по умолчанию сэмплы фотонов (500) и радиус (вычисленный Mental Ray'ем) остаются неизменными, а количество фотонов ГО увеличивается до 100.000.

 

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

Теперь нам необходимо изменить заданный по умолчанию радиус фотонов Глобального освещения. Mental Ray сообщает радиус 19.4 (это можно увидеть в сообщениях в Mental Ray Messages после выполнения работы (визуализации)). Использование меньшего, чем этот радиуса не имеет смысла, так как придется также увеличивать и количество фотонов. Действительно, если уменьшить радиус до 5.0 или 10.0, используя при этом 1,000,000 фотонов, то непрямое освещение получится ещё более грубым. Для следующего теста, радиус фотонов установлен на 50.0, и количество фотонов сброшено к изначальной цифре: 10.000.

 

Здесь у нас фотоны побольше и выглядят они уже более гладко, чем раньше. Эту установку стоит попробовать вместе с КС. КС активизирован и установлены параметры со значениями: Сэмплы = 300, Макс.Радиус = 1.0. Опцию "Мин.Радиус" не включаем, так как он будет вычислен при помощи Mental Ray. Для этого Mental Ray берёт 10% от макс. радиуса, как и было сказано в сообщении Mental Ray Messages. При таких установках мы получим отличный КС. Причину будет объяснена попозже. Сглаживание (Anti-Aliasing) выключено ("Box"- фильтр с - 1/0 мин./макс. cэмплами).

 

Результат получился отличный. (Заметка: Разница в цвете вдоль краёв красной стены получилась в результате сжатия при помощи JPEG). Остальные погрешности могут быть устранены посредством применения функции Сглаживания (Anti-Aliasing). Для сравнения, в следующем случае используется ещё больший радиус фотонов (100.0), но с меньшим количеством фотонов (5.000):

 

Визуализация фотонов: непрямое освещение выглядит очень гладким.

 

Освещение (здесь Сглаживание включено) выглядит чуть-чуть лучше, чем раньше, но не намного. Однако, процесс визуализации с радиусом фотонов установленным на 50.0 длится где-то в 3 раза быстрее (00:58:17 при разрешении 640x480 на РII 350-ом), чем там, где радиус = 100.0.

Вам может показаться, что 58 минут - это довольно много для такого процесса, но для этого есть свои основания: довольно большой радиус (50.0) используется для карты фотонов, что представляет собой 1/4 протяжённости сцены, но в тоже время относительно небольшой радиус (1.0) используется для КС. Так как КС собирает информацию о непрямом освещении из карты фотонов, то время, которое занимает процесс визуализации, растёт прямо пропорционально увеличению радиуса фотонов и уменьшению радиуса КС. Это следует принять во внимание при выставлении параметров.

Проблема 2: Артефакты, вызванные Конечным Сбором, также известные как "Артефакты области памяти"

"У меня есть простенькая внутренняя сцена с коробкой для потолка, стен и пола и одним всеосвещающим источником света. Я использую только КС, но вне зависимости от того, как велики сэмплы КС, в комнате, особенно в районах где есть тень, заметны несносные артефакты. Что я делаю не так?" (см. картинку внизу)

 

Решение: Естественно, что увеличение сэмплов для КС ничего не даст. Даже 10.000 сэмплов, что является убийственным для большинства компьютеров, не решат проблемы.

Процесс Конечного Сбора нуждается в дальнейшем рассмотрении. При помощи КС приводятся дополнительные лучи для того, чтобы подчеркнуть полусферу повыше заданной точки для учёта случайного освещения. Второй параметр, радиус КС устанавливается на максимально для него возможный. По умолчанию, Мental Ray вычисляет максимальный для КС радиус, исходя из протяжённости сцены, в данном случае 9.7 (приблизительно 5% протяжённости сцены). Значение установленное по умолчанию, если его включить, равно 1.0 и затрагивает всю сцену. По всей видимости, с текущим значением по умолчанию, равным 9.7, КС работает не достаточно точно.

Включив Макс.Радиус КС (со значением 1.0 по умолчанию) и оставив Мин.Радиус выключенным (10% от макс. радиуса по умолчанию), вы можете это проверить. Сглаживание выключено ("Box"- фильтр с -1/0 Мин./Макс. сэмплами).

 

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

Резюме!

Используя Глобальное Освещение, помните о двух главных вещах, которые определяют хороший результат:

  1. качество непрямого освещения/Карты Фотонов
  2. точность/радиус Конечного Сбора

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

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

Источник: Norbert's Homepage

38784 Автор:
Актуальность: 550
Качество: 550
Суммарный балл: 1100
Голосов: 6 оценки

Отзывы посетителей:

аватар
 
Rebate 59 0
- в 2001: "Вам может показаться, что 58 минут - это довольно много для такого процесса".
- в 2010 году эта сцена просчитывается за 20 секунд.
- за сколько же эта сцена просчитается в 2020 году?...
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 123 уникальных посетителей