Как настроить альбедо 3d max
Всем привет. Меня зовут Трофимов Максим. В этой статье я расскажу о понятии «Альбедо» и его значении в создании реалистичной визуализации. Начнём с теории. Вот его определение из физической энциклопедии:
АЛЬБЕДО (от позднелат. albedo — белизна) — величина, характеризующая рассеивающую или отражательную способность поверхностей или космических тел. Используется в атм. оптике и астрофизике. В широком смысле А.- отношение потока отражённого (рассеянного) излучения к потоку падающего излучения. В теории переноса (рассеяния) излучения используется также понятие единичного А., т. е. отношение числа рассеянных во все стороны фотонов к числу падающих фотонов.
В чём вообще смысл всего этого? Дело в основном в расчёте ГИ. Я использую термин ГИ как обобщённое название алгоритмов глобального освещения, имитирующих диффузное рассеивание. Ситуация следующая. Чем меньше это альбедо, для нас это яркость диффузного цвета в материале, тем быстрее свет будет затухать при каждом следующем отскоке от этой поверхности. А это будет влиять на реалистичность сцены в целом. Приведу пример на простых предметах.
Возьмём теннисный стол, ракетку и мячик. Кинем мячик на стол и станем накрывать его ракеткой. В обычной ситуации мячик, отражаясь от твёрдых поверхностей, сделает десятки отражений, находясь достаточно долго в движении. А если на стол положить поролон и ракетку обклеить им же, мячик сделает от силы несколько отскоков. Вот приблизительно так же ведёт себя свет при попадании на диффузные поверхности.
Т.е., согласно понятию альбедо, получается, что для получения более реалистичного результата максимально белая диффузная поверхность в материале рендера не должна превышать значение 96% белого, это следует из приведённой далее таблицы. Конечно, искусству законы не указ, но меня здесь интересует чисто техническая сторона вопроса.
Я не раз замечал, что в настройках рендера скачанных сцен для врея значение мультиплая вторички ГИ ставят около 0,75. Возможно, это как раз попытка решить проблему излишнего переотражённого света ввиду того, что все материалы созданы из расчёта, что белый имеет 100% альбедо. Но, в таком случае, необходимо ещё уменьшить и первичный отскок ГИ на то же значение, на которое уменьшен отскок вторичного ГИ. Чтобы первый отскок ГИ затухал так же, как и все последующие. Такой подход весьма прост, но не очень корректен, т. к. альбедо материалов останется прежними для зеркальных и глосси отражений. Что будет влиять на реалистичность.
В рендере Mental ray есть похожие инструменты для уменьшения интенсивности последующих отражений в алгоритме Final Gather. Это параметр – «Weight» (вес). Находится он в настройках Final Gather. Работает он именно уменьшая интенсивность каждого следующего отскока, умножая текущую интенсивность на значение веса, а не уменьшая интенсивность всей просчитанной карты ФГ. Врей работает схожим образом. Я проверил это следующим образом. Сначала считалась простенькая тестовая сцена, с диффузным цветом равным единице (100% белый) и уменьшенными, равнозначными, значениями мультиплая ГИ для первичного и вторичного отскока. В ментале соответственно — мультиплай ФГ и вес. Обзовём эти значения переменной «X». Далее считалась картинка со значением диффузии равным «Х» и единичными значениями мультиплаев ГИ. Результаты схожие, что и позволяет говорить о параметрах мультиплая ГИ в врее и мультиплая и весе в ментале как о параметрах, работающих для каждого отскока ГИ. Тест провёл с разными значениями «Х».
К сожалению, в ментале нет подобного регулятора для фотонов. Мультиплай в настройках фотонов уменьшает интенсивность всей просчитанной карты фотонов. Т.е. остаётся использовать только ФГ с переотражениями. А это, зачастую, намного дольше при расчёте замкнутых сцен с кол-вом диффузных переотражений больше 2-х. К сведению, при просчёте сцены связкой фотоны + ФГ параметр «Weight» игнорируется так же, как и «Diffuse bounces», т. к. это параметры вторичных переотражений, реализацией которых займётся включённая опция фотонов.
Исходя из всего вышеизложенного, самым правильным будет редактировать материалы, выставляя значение «Diffuse Level» равным значению нужного нам альбедо. Можно менять просто интенсивность цвета, но при использовании текстур, а тем более многокомпонентных карт, проще менять Diffuse Level. Это, конечно, не очень удобно, т. к. придётся лопатить все материалы, но взамен мы получаем настройку не зависимую от алгоритма ГИ и корректную визуализацию отражающих (зеркальных) поверхностей.
Теперь испытаем нашу методику на тестовой сцене. Я буду использовать ментал рей, фотоны + ФГ.
3d max 2011, mental ray, гамма 2,2. Материал Arch&Design. На всех материалах Diffuse = 1(Альбедо = 1).Я специально сделал пол красным, т. к. нас ждёт сюрприз. Дело в том, что альбедо оказывает влияние на цветовой перенос, т.е. на так нашумевший «колор блидинг». Лучше не использовать чистый цвет, т.е. имеющий 100% насыщенность, т. к. в природе таких материалов не бывает, и это повлияет на реальность визуализации. Даже минимальное уменьшение насыщенности позволит этому цвету смешиваться с другими, что отражает реальное положение дел. Я уменьшил насыщенность красного на минимально значение, с 1 до 0,992. Следующие примеры покажут, как альбедо влияет на цветовой перенос.
Для начала рендер только с источниками, без ГИ, для понимания интенсивности начального света. В окнах — Sky Portal, за окном — Daylight (mr Sun, mr Sky).
3 млн. фотонов. Merge1 см. Радиус 15см. Fast Look Up – вкл. Очень рекомендую использовать мердж для фотонов и Fast Look Up для ускорения расчёта ФГ и экономии памяти. Т. к. мердж уменьшает кол-во фотонов, заменяя все фотоны в радиусе мерджа на 1 фотон с усреднённым значением. Как следствие, вся фотонная карта уменьшается в объёме информации, и поэтому ФГ производит поиск нужных значений в ней в разы быстрее. FG = Density 1, Ray 500. В материалах включён AO с галкой колор блидинга, дистанция 30 см. Цвет Shadow Color чёрный, это полный колор блидинг, без AO. Считаем.
Мы наблюдаем типичную картину, с которой многие сталкивались. Картинке далеко до реальности именно из-за того, что выставлено слишком большое альбедо, которого вообще в природе не существует. Дело в том, что предметы, которые мы считаем белыми, на самом деле могут быть далеки от даже 90% белого. Понаблюдайте за поверхностью, про которую вы бы сказали, что она самая белая, а потом поднесите к ней лист белой офисной бумаги. Скорее всего, предмет окажется темнее бумаги. Я воспроизвёл этот тест и вот, что у меня получилось. Бумага уложена в 3 слоя, чтоб из-за просвечивающихся особенностей бумаги, стол на неё не влиял.
При фотографировании важно, чтоб в настройках фотоаппарата стояло как можно меньше корректирующих фильтров, которые могут повлиять на контраст изображения. В моём случае установлен линейный пресет, сделанный вручную и загруженный в зеркальный фотоаппарат. Т. к. заводские пресеты вызвали у меня подозрение в нелинейности из-за отсутствия отображения кривой контраста.
Как видно, все предметы, которые по отдельности мне казались очень белыми, в сравнении с бумагой кажутся серыми. А ведь у такой бумаги альбедо около 0,6-0,7(в других источниках до 0,8). И стандартный потолок, которому мы обычно ставим альбедо около 0,9, в большинстве случаев тянет всего на 0,6. Возможно, появится справедливый вопрос, ведь это уже не белые поверхности, а серые. Но в природе нет понятия белый и серый, а есть способность поверхности отразить больше или меньше света. Поэтому даже серый предмет, находясь в очень тёмно серой комнате, не имеющей других поверхностей с альбедо, превышающим альбедо серого предмета и не имеющей знакомых цветовых ориентиров, типа кожи наших рук, будет казаться белым. Причиной этому будет являться наша способность адаптироваться к освещению. И поэтому, скормив физически корректному визуализатору поверхности с реальными альбедо, нужно также выполнить адаптацию яркости сцены для удобного зрительного восприятия. Другими словами — выставить экспозицию. Можно увеличивать интенсивность освещения, но в 3д максе есть удобная опция для регулирования экспозиции – Exposure Control.
Казалось бы, простая вещь, но далее мы увидим, как меняется освещение по мере уменьшения альбедо. Ниже находится таблица со значениями альбедо некоторых материалов. В таблице указаны приблизительные значения, т. к. материалов с одноимённым названием может быть много. Например, гипс. Гипс бывает: строительный (гипсовый алебастр), формовочный (лепка, скульптура, моделирование), медицинский (более чистый) и прочие подвиды. Поэтому альбедо у них может отличаться. Таблица взята с сайта фототехнического сервера ОАО «Красногорский завод им. С.А. Зверева».
Sampling balance
GI vs. AA balance - количестве сэмплов GI на каждый сэмпл сглаживания. Как это работает? Более высокие значения обеспечат удаление шумов от глобального освещения и прочего светового шума, а меньшие быстро удаление шумов сглаживания, размытости движения и глубины резкости кадра.
Значение по умолчанию 16 хорошо работает в большинстве случаев, но иногда его можно увеличить, если в области непрямого освещения больше шума, или уменьшить, если в сцене присутствует сильная глубина резкости или размытие движения. Сами же разработчики не рекомендуют выставлять данное значение ниже двух или более 64-х.
Light Samples Multiplier - количество сэмплов прямого освещения на каждый сэмпл GI. Увеличивая значение в сценах с видимым шумом прямых источников света, можно получить лучший результат.
Однако стоит помнить про нюанс данного параметра, если Light Samples Multiplier установлен на 1 и GI vs. AA balance установлен на 16, это означает, что для каждого пикселя за просчет будет использоваться 16 сэмплов GI и 16 сэмплов прямых источников света, а если Light Samples Multiplier установлен на 2 и GI vs. AA balance установлен на 16, это значит, что для каждого пикселя за просчет будет использоваться 16 сэмплов GI и 32 сэмпла прямых источников света.
Проще говоря, стандартного значения (2) достаточно для этого параметра и оно является самым эффективным в большинстве случаев. Но никто не запрещает вам поэкспериментировать с этими настройками и подобрать вариант подходящий именно для вашей сцены.
Если хотите изучить тему с данными настройками поподробнее, то можете посмотреть видеоурок от разработчиков Corona Render:
Настройки Corona Render. Вкладка Performance
Итак, раздел Performance располагает следующим перечнем подразделов:
Как использовать Ambient Occlusion
- В слот Diffuse Color помещаем текстуру Composite из раздела General. Принцип работы этой текстуры как у слоев в Фотошопе.
- В текстуре Composite в правом верхнем углу нажимаем кнопку добавить слой (Add A new Layer).
- В Layer 1 назначаем нашу обычную Diffuse color-текстуру на левый квадратик (можно просто перетащить на левый квадратик в нужном слое из папки с текстурами)
- В Layer 2 назначаем карту Ambient Occlusion на левый квадратик.
- У Layer 2 переключаем режим с Normal на Multiply.
Силу AO можно ослабить с помощью настройки Opacity в Layer 2. А если вдруг AO слишком слабое, то можно создать сверху еще один такой же слой с текстурой AO.
Подробнее узнать 3D-визуализации и научится работать с графикой можно на нашем бесплатном курсе.
Как использовать карты AO
Performance Settings
Рассмотрим наглядно все параметры по порядку, чтобы не возникло путаницы:
Lock sampling pattern - при наличии галочки шумы будут заблокированы как в статичных, так и в анимационных кадрах, а следовательно, и менее видимыми. Убрав галочку с данного пункта, приведет к абсолютно непредсказуемому спектру шумов на том или ином кадре, что может быть полезно для стороннего программного обеспечения для шумоподавления (но не для встроенного шумодава от Corona Render). Также стоит помнить, что при использовании Распределенного рендеринга (Distributed Rendering, параметры которого мы рассматривали в статье про вкладку System *вставить ссылку на статью про это*), шум может отличаться на каждом отрендерином кадре, независимо от данной опции.
Conserve memory (slower) - наличие галочки позволяет искусственно уменьшить количество потребляемой памяти до 30% Corona Render за счет производительности рендеринга. Может быть полезно, если у вас недостаточно памяти и вы хотите уменьшить ее потребление или наоборот, имея ее избыток, ограничить потребление для возможности использования для других целей, жертвуя производительностью процесса рендеринга.
Adaptive light solver - наличие галочки активирует возможность ускоренного рендеринга в сценах с большим количеством источников света и сложными условиями видимости.
Альбедо в реалистичной визуализации
Всем привет. Меня зовут Трофимов Максим. В этой статье я расскажу о понятии «Альбедо» и его значении в создании реалистичной визуализации. Начнём с теории. Вот его определение из физической энциклопедии:
АЛЬБЕДО (от позднелат. albedo — белизна) — величина, характеризующая рассеивающую или отражательную способность поверхностей или космических тел. Используется в атм. оптике и астрофизике. В широком смысле А.- отношение потока отражённого (рассеянного) излучения к потоку падающего излучения. В теории переноса (рассеяния) излучения используется также понятие единичного А., т. е. отношение числа рассеянных во все стороны фотонов к числу падающих фотонов.
В чём вообще смысл всего этого? Дело в основном в расчёте ГИ. Я использую термин ГИ как обобщённое название алгоритмов глобального освещения, имитирующих диффузное рассеивание. Ситуация следующая. Чем меньше это альбедо, для нас это яркость диффузного цвета в материале, тем быстрее свет будет затухать при каждом следующем отскоке от этой поверхности. А это будет влиять на реалистичность сцены в целом. Приведу пример на простых предметах.
Возьмём теннисный стол, ракетку и мячик. Кинем мячик на стол и станем накрывать его ракеткой. В обычной ситуации мячик, отражаясь от твёрдых поверхностей, сделает десятки отражений, находясь достаточно долго в движении. А если на стол положить поролон и ракетку обклеить им же, мячик сделает от силы несколько отскоков. Вот приблизительно так же ведёт себя свет при попадании на диффузные поверхности.
Т.е., согласно понятию альбедо, получается, что для получения более реалистичного результата максимально белая диффузная поверхность в материале рендера не должна превышать значение 96% белого, это следует из приведённой далее таблицы. Конечно, искусству законы не указ, но меня здесь интересует чисто техническая сторона вопроса.
Я не раз замечал, что в настройках рендера скачанных сцен для врея значение мультиплая вторички ГИ ставят около 0,75. Возможно, это как раз попытка решить проблему излишнего переотражённого света ввиду того, что все материалы созданы из расчёта, что белый имеет 100% альбедо. Но, в таком случае, необходимо ещё уменьшить и первичный отскок ГИ на то же значение, на которое уменьшен отскок вторичного ГИ. Чтобы первый отскок ГИ затухал так же, как и все последующие. Такой подход весьма прост, но не очень корректен, т. к. альбедо материалов останется прежними для зеркальных и глосси отражений. Что будет влиять на реалистичность.
В рендере Mental ray есть похожие инструменты для уменьшения интенсивности последующих отражений в алгоритме Final Gather. Это параметр – «Weight» (вес). Находится он в настройках Final Gather. Работает он именно уменьшая интенсивность каждого следующего отскока, умножая текущую интенсивность на значение веса, а не уменьшая интенсивность всей просчитанной карты ФГ. Врей работает схожим образом. Я проверил это следующим образом. Сначала считалась простенькая тестовая сцена, с диффузным цветом равным единице (100% белый) и уменьшенными, равнозначными, значениями мультиплая ГИ для первичного и вторичного отскока. В ментале соответственно — мультиплай ФГ и вес. Обзовём эти значения переменной «X». Далее считалась картинка со значением диффузии равным «Х» и единичными значениями мультиплаев ГИ. Результаты схожие, что и позволяет говорить о параметрах мультиплая ГИ в врее и мультиплая и весе в ментале как о параметрах, работающих для каждого отскока ГИ. Тест провёл с разными значениями «Х».
К сожалению, в ментале нет подобного регулятора для фотонов. Мультиплай в настройках фотонов уменьшает интенсивность всей просчитанной карты фотонов. Т.е. остаётся использовать только ФГ с переотражениями. А это, зачастую, намного дольше при расчёте замкнутых сцен с кол-вом диффузных переотражений больше 2-х. К сведению, при просчёте сцены связкой фотоны + ФГ параметр «Weight» игнорируется так же, как и «Diffuse bounces», т. к. это параметры вторичных переотражений, реализацией которых займётся включённая опция фотонов.
Исходя из всего вышеизложенного, самым правильным будет редактировать материалы, выставляя значение «Diffuse Level» равным значению нужного нам альбедо. Можно менять просто интенсивность цвета, но при использовании текстур, а тем более многокомпонентных карт, проще менять Diffuse Level. Это, конечно, не очень удобно, т. к. придётся лопатить все материалы, но взамен мы получаем настройку не зависимую от алгоритма ГИ и корректную визуализацию отражающих (зеркальных) поверхностей.
Теперь испытаем нашу методику на тестовой сцене. Я буду использовать ментал рей, фотоны + ФГ.
3d max 2011, mental ray, гамма 2,2. Материал Arch&Design. На всех материалах Diffuse = 1(Альбедо = 1).Я специально сделал пол красным, т. к. нас ждёт сюрприз. Дело в том, что альбедо оказывает влияние на цветовой перенос, т.е. на так нашумевший «колор блидинг». Лучше не использовать чистый цвет, т.е. имеющий 100% насыщенность, т. к. в природе таких материалов не бывает, и это повлияет на реальность визуализации. Даже минимальное уменьшение насыщенности позволит этому цвету смешиваться с другими, что отражает реальное положение дел. Я уменьшил насыщенность красного на минимально значение, с 1 до 0,992. Следующие примеры покажут, как альбедо влияет на цветовой перенос.
Для начала рендер только с источниками, без ГИ, для понимания интенсивности начального света. В окнах — Sky Portal, за окном — Daylight (mr Sun, mr Sky).
3 млн. фотонов. Merge1 см. Радиус 15см. Fast Look Up – вкл. Очень рекомендую использовать мердж для фотонов и Fast Look Up для ускорения расчёта ФГ и экономии памяти. Т. к. мердж уменьшает кол-во фотонов, заменяя все фотоны в радиусе мерджа на 1 фотон с усреднённым значением. Как следствие, вся фотонная карта уменьшается в объёме информации, и поэтому ФГ производит поиск нужных значений в ней в разы быстрее. FG = Density 1, Ray 500. В материалах включён AO с галкой колор блидинга, дистанция 30 см. Цвет Shadow Color чёрный, это полный колор блидинг, без AO. Считаем.
Мы наблюдаем типичную картину, с которой многие сталкивались. Картинке далеко до реальности именно из-за того, что выставлено слишком большое альбедо, которого вообще в природе не существует. Дело в том, что предметы, которые мы считаем белыми, на самом деле могут быть далеки от даже 90% белого. Понаблюдайте за поверхностью, про которую вы бы сказали, что она самая белая, а потом поднесите к ней лист белой офисной бумаги. Скорее всего, предмет окажется темнее бумаги. Я воспроизвёл этот тест и вот, что у меня получилось. Бумага уложена в 3 слоя, чтоб из-за просвечивающихся особенностей бумаги, стол на неё не влиял.
При фотографировании важно, чтоб в настройках фотоаппарата стояло как можно меньше корректирующих фильтров, которые могут повлиять на контраст изображения. В моём случае установлен линейный пресет, сделанный вручную и загруженный в зеркальный фотоаппарат. Т. к. заводские пресеты вызвали у меня подозрение в нелинейности из-за отсутствия отображения кривой контраста.
Как видно, все предметы, которые по отдельности мне казались очень белыми, в сравнении с бумагой кажутся серыми. А ведь у такой бумаги альбедо около 0,6-0,7(в других источниках до 0,8). И стандартный потолок, которому мы обычно ставим альбедо около 0,9, в большинстве случаев тянет всего на 0,6. Возможно, появится справедливый вопрос, ведь это уже не белые поверхности, а серые. Но в природе нет понятия белый и серый, а есть способность поверхности отразить больше или меньше света. Поэтому даже серый предмет, находясь в очень тёмно серой комнате, не имеющей других поверхностей с альбедо, превышающим альбедо серого предмета и не имеющей знакомых цветовых ориентиров, типа кожи наших рук, будет казаться белым. Причиной этому будет являться наша способность адаптироваться к освещению. И поэтому, скормив физически корректному визуализатору поверхности с реальными альбедо, нужно также выполнить адаптацию яркости сцены для удобного зрительного восприятия. Другими словами — выставить экспозицию. Можно увеличивать интенсивность освещения, но в 3д максе есть удобная опция для регулирования экспозиции – Exposure Control.
Казалось бы, простая вещь, но далее мы увидим, как меняется освещение по мере уменьшения альбедо. Ниже находится таблица со значениями альбедо некоторых материалов. В таблице указаны приблизительные значения, т. к. материалов с одноимённым названием может быть много. Например, гипс. Гипс бывает: строительный (гипсовый алебастр), формовочный (лепка, скульптура, моделирование), медицинский (более чистый) и прочие подвиды. Поэтому альбедо у них может отличаться. Таблица взята с сайта фототехнического сервера ОАО «Красногорский завод им. С.А. Зверева».
Global Illumination
Global Illumination - подраздел, отвечающий за глобальное освещение и его просчёт в 3D–сцене. Включает в себя 2 метода просчета:
- None (biased) - отключает функцию глобального освещения, оставляя только прямые источники света.
- Path Tracing - просчитывает первичные отскоки освещения.
- None (biased) - отключает функцию глобального освещения, оставляя только прямые источники света.
- Path Tracing - просчитывает первичные отскоки освещения, которые менее эффективны в сценах с большим количеством непрямого освещения (например в интерьерах). Разработчики советуют использовать данный способ для просчета сцен экстерьера.
- UHD Cache - универсальное решение для сцен интерьера, особенно там, где имеется большое количество источников света и их отражений от поверхностей. Однако, является менее эффективным способом для сцен с более простой геометрией и простым освещением, такими как визуализация экстерьерных объектов или растительности.
- Path Tracing + Path Tracing - будет просчитывать сцену буквально по каждому пикселю, что увеличит длительность рендеринга, но заметно улучшит качество картинки.
- Path Tracing + UHD Cache - оптимальный вариант для более быстрого просчета одновременно с приемлемым качеством картинки.
Читайте также: