Link:INB Home|INB English| INB русский язык|INB العربية|INB Türkiye|INB فارسی|INB Español|INB Français|INB Português|INB Deutsch|INB 國語|INB 中文|INB 日本语|INB 한국어|INB ภาษาไทย|INB tiếng Việt||Уроки 3ds Max Подслойное рассеивание (SSS) в mental ray
INB русский язык Форум
Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com
INB русский язык Форум

Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com


Вы не подключены. Войдите или зарегистрируйтесь

《《《《《《《上一页INBforum   Перейти вниз

上一页INBforum》》》》》》》Предыдущая тема Следующая тема Перейти вниз  Сообщение [Страница 1 из 1]

1 Уроки 3ds Max Подслойное рассеивание (SSS) в mental ray в Вс Окт 03, 2010 7:52 am

Admin

avatar
Admin
Урок по практическому использованию модели подслойного рассеивания света (SSS) в mental ray. Проводится на базе 3D Max. Желательно использовать 3D Max 2009 и выше. Будет разобран материал SSS Physical Material (mi) и возможности его применения, создание материалов с эффектом SSS и общие принципы их настройки, предложены табличные данные с коэффициентами.
Вступление


В компьютерной графике наиболее широко используется модель двунаправленной функции распределения рассеивания (BSDF), которая включает поверхностное рассеивание (BRDF) и сильно упрощенное подповерхностное (BTDF). Такая модель не совсем корректно учитывает прохождение света в толще материала, но вполне подходит для быстрой имитации эффекта.
В 2001 году Henrik Wann Jensen, представил новую модель освещения BSSRDF ( двунаправленная функция распределения поверхностного рассеивания ). Суть новой модели заключается в том, что падающий на поверхность свет может выйти из модели претерпев преломление (однократное рассеивание) и может выйти из модели со смещением претерпев ряд переотражений и отклонений.
Такая модель из-за своей ресурсоемкости пока применяется довольно редко, в основном для точной передачи оптических свойств объекта переднего плана, но производительность техники растет и актуальность использования эффекта тоже возрастает.
В mental ray (рассматриваем с точки зрения работы в 3D MAX ) функция BSSRDF реализована в группе материалов SSS ( Subsurface Scattering in Surfaces ) которые можно разделить на группу нефизических (SSS Fast…) и физического SSS Physical Material (mi).
Первые обсчитываются быстрее, но менее точны, а второй максимально физически корректен. Он и будет рассмотрен.
Наглядно продемонстрирую эффект, который мы будем добиваться в нашем уроке:
Посмотрите на место падения луча на гранит:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Кроме ярко-освещенной точки никаких других световых эффектов не наблюдаем, про такой материал можно сказать что у него нет подслойного рассеивания в том виде, который бы нас интересовал и создать такой материал труда не составит.
Теперь фото падения луча на мрамор и кальцит:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Теперь явно видно прохождение света в объеме минерала с отклонением от изначального направления. Это и есть эффект подслойного рассеивания и этот эффект будет создан с помощью SSS Physical Material mi.

Physical Material mi


Свойства материала SSS Physical Material удобнее будет понять на практическом примере. Смоделируем светильник, у которого источник света будет геометрически изолирован, а свет будет выходить наружу по световодам из материала на основе SSS.
Светильник типа ночник:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Источник света помещен в герметично закрытый корпус, из которого выходят четыре световода (рожки), которые будут выводить свет наружу, рожки сделаем загнутыми, чтобы максимально осложнить распространение света.
На корпус назначаем любой непрозрачный материал. А рожкам-световодам SSS Physical Material (mi)
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Первый слот Material – сюда назначается материал который будет отвечать за функцию BRDF, проще говоря, внешней оболочки материала, на которую потом будет добавляться эффект SSS.
Я назначил в этот слот стекло, так как световоды в основе своей прозрачны.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Использовался специализированный шейдер стекла Glass(lume).
Если нет шейдера подходящего для конкретной ситуации, то можно создать материал на основе любого другого материала и установить его сюда через Material to Shader.
Transmission – фильтр и яркость для SSS эффекта. Значение 0,5 по всем трем составляющим цветов не оказывает влияние на результат , уменьшение или увеличение веса составляющих делает эффект ярче или темнее, но в любом случае на рассеивание и поглощение не влияет.
Index of refraction – коф преломления материала.


Ближе к концу урока я дам табличку со значениями четырех основных параметров подслойного рассеивания для самых распространенных материалов


Absord. Coeff - Коэффициент поглощения света, величина обратно пропорциональная пробегу фотона в толще материала до полного поглощения. Чем меньше величина, тем дальше свет проникнет в материал.
Scatter. Coeff. – Коэффициент рассеивания света в материале. Чем больше значение, тем сильнее материал рассеивает свет внутри себя.
Нужно не путать эти понятия, поглощение снижает интенсивность света с расстоянием, а рассеивание, не снижая интенсивности распределяет свет внутри объема материала, при этом подсвечивание объекта изнутри возрастает. Оба коэффициента даны в трех значениях для каждой составляющей цвета – R G B.
Scattering anisotropy – Анизотропия рассеивания, принимает значения от -1 до 1. При положительных значениях рассеивание происходит вперед ( по ходу движения фотона), то есть у фотона больше шансов выйти с противоположной освещенной стороне материала и «подсветить» теневую сторону объекта (Рис №1). При отрицательных значениях происходит обратное рассеивание, то есть дополнительно подсветиться область рядом с местом падения света(Рис №2). Анизотропия равная нулю, равномерно распределит рассеивание во все стороны (Рис №3)
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Далее в настройке материала идут вспомогательные параметры, о них позже, а пока заставим работать ночник.
Для работы физического SSS материала необходимо включить непрямое освещение, удобнее использовать Каустику.
- В свойствах объекта (рожки) ставим галку для участия в расчете каустики
- Включаем каустику в настройках рендера
Все параметры, кроме слота для материала оставляем без изменения, так как предлагается редактором по-умолчанию. Но для наглядности картины уменьшим коэф. рассеивания до 0,01
Свет от источника света (ИС) я умышленно сделал светло-голубым.
Можно делать первую визуализацию
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Уже сейчас видна работа материала подслойного рассеивания, рожки проводят свет, но пока не в той мере, как хотелось бы.
Очевидно, что нужно уменьшить коэф поглощения. Ставим минимальное значение (Absord. Coeff = 0.001 0.001 0.001 ) это означает что свет в полном спектре будет распространяться с минимальным поглощением:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Свет закономерно распространился дальше.
Сравните изменение цвета излучаемого света. Во втором случае у нас явно начала пропадать синяя составляющая спектра. Происходит это из-за того, что учитывается поглощение света по составляющим цветам – синий поглощается больше, красный меньше. Чем больше пройденное расстояние в материале, тем это больше заметно. При настройке материала, нужно учитывать этот факт и корректировать значения с учетом цвета.
Продолжим улучшать результат.
Поглощение сделали минимальным, а свет пока не хочет бежать по всему объему рожек. Все дело в том, что рожки светильника кривые, и чтобы заставить свет «завернуть за угол» нужно повысить его рассеивание в материале. Увеличиваем параметр рассеивания до 0,5 (Scatter. Coeff = 0.5 0.5 0.5 )
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Почти совсем хорошо, но слишком хорошо видна граница между светом по линии распространения и боковому рассеиванию.
Посмотрите на коэф анизотропии, по-умолчанию он равен 0,8, грубо говоря 80% света проходит в материале прямо и только 20% отклоняется «за угол». Очевидно что нужно уменьшить анизотропию рассеивания, я уменьшил до 0,4
В результате получился материал с минимальным поглощением света и сильным равномерным рассеиванием.
После небольшой доводки получилось следующее:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Коэф. Поглощения для зеленой составляющей цвета Absord. Coeff (G) выше, чем для красной и синей составляющей,сделано это для поглощения зеленого и пропускания фиолетового спектра.
В итоге:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Освещение стенки под светильником и окружающих предметов в идеале происходит за счет фотонов и за счет Final Gather. Но в старых версиях 3d max есть определенные проблемы с настройкой фотонов непрямого освещения (неустранимый цветной шум), в этом случае необходимо отключать прием каустики на предметах вблизи работы sss материала. Проблема в max 2010 устранена.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] скачать сцену для 3d max 9 и выше.
В перечислении параметров я перепрыгнул через параметр Scale conversion, он служит для адаптации значений под единицы измерения сцены. Все коэффициенты рассчитываются на миллиметры и если сцена выполнена в других единицах, то здесь необходимо указать размер масштабирования:
Единица измерScale conversion
см10
м100
футы304
дюймы25,4
Также этот параметр можно изменять для достижения результатов, выходящих за рамки физически корректных, получения сверхпроводящих (свет) и сверхрассеивающих материалов, для этого достаточно увеличивать масштаб. Правда установив Scale conversion = 10, не нужно ожидать что материал в 10 раз дальше проведет свет, расчеты не линейные.
Depth – глубина проникновения. Объем объекта, к которому применен SSS Physical Material делиться на внутренний и внешний. Внешний объем начинается от внешней кромки объекта и на глубину Depth. Рассеивание здесь происходит максимально точно. В остальном объеме рассеивание рассчитывается по упрощенной схеме. На практике чем прозрачнее объект, тем желательнее увеличивать этот параметр. Цветные или отдельно висящие «шарики» внутри прозрачного объекта, явный признак недостаточной глубины.
Max samples – величина показывающая максимальное количество отклонений, отражений или преломлений фотона, после чего он перестанет учитываться. Чем больше это значение, тем более точным будет эффект, но потребуется больше места для карты фотонов и дольше будет производиться расчет.
Max photons – максимальное количество фотонов для расчета эффекта, увеличение количества сделает результат более качественным, но ресурсов будет расходоваться больше. Как правило, для окончательной визуализации нужно использовать значение от 3000 и выше.
Max radius – радиус семпла (площадки сбора фотонов) уменьшение делает расчет точнее, но требует повышения количества фотонов.
Lights – активация данной опции с указанием источника света (источников), привязывает эффект к выбранным ИС и не учитывает для остальных.
Все параметры рассмотрены.
Далее приведу табличку с параметрами для некоторых распространенных материалов. Рассеивание и поглощение даны общей цифрой для всех цветовых составляющих. В хелпе к 3d max есть подробные значения для четырех материалов, полученных опытном путем разработчиками. Но найти такие значения для любого материала проблематично. Поэтому для трех цветов пишется одинаковый параметр, а более точно выравнивается после предварительной визуализации в зависимости от потребностей и взаимодействием с диффузной составляющей объекта.
материалAbsord. CoeffScatter. CoeffScattering anisotropyIndex of refraction
Парафин1,010,2160,21,2
Воск0,51,501,3
Мед0,160,0120,11,3
Масло сливочное0,2853,02-0,31,4
Мыло0,561,78-0,51,45
Сок апельсин0,0960,035-0,21,3
Молоко0,0161,8201,3
Кофе раствор0,0451,080,261,3
Шоколад твердый2,0870,1450,61,1
Вазелин0,250,2301,4
Кровь свернувш.5,20,180,461,1
Кровь жидкая0,061,2-0,21,3
Фарфор1,34,20,61,5
Мрамор чистый0,0122,10,2 1,5
Мрамор слоистый0,043-0,31,5
Резина, Латекс0,350,08701,2

Порядок практической настройки SSS Physical Material, для материала данные на которого неизвестны


Покажу на живом примере:
На моем столе прописалась настольная лампа, устройство (в интересующем сейчас меня плане) следующее:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
В металлической «воронке» находиться лампочка, а поверх воронки пластик, материал для которого я и хочу настроить
Найти где бы то ни было значения поглощения и рассеивания для неизвестного вида пластика практически невозможно, поэтому нужно подобрать значения максимально эффективно и желательно без огромного количества предварительных визуализаций.
Из своего опыта и здравого (надеюсь) смысла нужно придерживаться следующего порядка:

  1. Создаем материал для внешнего вида нашего объекта, так как привыкли раньше. Я сделал на основе Архетектурно-дизайнерского: [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
    В слот Material ставим карту Material to Shader и в единственный слот кидаем мышкой наш созданный материал:
    [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
  2. Transmission устанавливаем в 0,5 (128) для каждого цвета
  3. Коэффициент преломления придется найти, но, как правило жидкости 1,3 твердо-мягкие материалы 1,1 до 1,4 и твердые неорганические от 1,4 и выше. Для пластика я беру 1,2
  4. Scattering anisotropy, в твердых телах, как правило положительная, в жидкостях-суспензиях отрицательная. Пластик в моем примере однородный и твердый ставлю 0,6
  5. Scatter. Coeff временно понижаем до 0,01
  6. настраиваем Absord. Coeff до требуемого прохождения света в глубину материала, в моем примере это оценить сложно, пластик тонкий, но по опыту сразу ставлю 3, но вообще необходимо будет сделать несколько предварительных визуализаций.
  7. настраиваем Scatter. Coeff до требуемого расхождения света «в стороны» от основного направления светового потока, после трех предварительных визуализаций я остановился на 15

Физические характеристики настроили, закончим качественными для хорошего рендера:

  1. Увеличиваем Depth если хотим более качественный результат и готовы пожертвовать временем. В материалах с сильным поглощением Глубину не имеет смысла увеличивать, а в материалах близких по прозрачности к стеклу – наоборот. Я ставлю 3 - на всю толщину пластика в моей модели.
  2. Max photons Увеличиваем количество фотонов до 4000 -5000
  3. Max samples Если у объекта очень сложная геометрия, то есть смысл увеличить этот параметр, но как правило оставляем по-умолчанию
  4. Max radius - если после визуализации есть зернистость на материале, то увеличиваем, если нет, можно попробовать уменьшить.

Готово:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
В результате наших стараний, кроме подслойного рассеивания, получаем более правильный переход от света к тени на окружаемых поверхностях с учетом цвета пластика (зеленая область на листе бумаги) и правильное смешивание со спектром света от ИС (Теплый фотометрический ИС, добавил желтого спектра на освещенную сторону пластика)
Еще пример для сравнения материала с SSS и без него.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]

Использование процедурных 3D карт


При сильном желании и настойчивости с помощью SSS Physical Material и трехмерных процедурных карт можно имитировать довольно сложные материалы с неоднородной внутренней структурой ( визуально наблюдаемой). Надо сказать, что это занимает довольно много времени. При создании материала все настраивается «на глазок» и требует кучи предварительных визуализаций, а время визуализации подскакивает на порядок.
Трехмерные процедурные карты есть смысл ставить для следующих параметров:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Несколько советов:
- На коэфф. поглощения и рассеивания в процедурках недопустимо использование черного цвета (0,0 по всем цветам), визуализация аварийно закончиться.
- Рассеивание лучше поставить большим и менять его в случае удачной картинки после настройки поглощения.
- Одинаково настроенную процедурную карту использовать для рассеивания и поглощения нецелесообразно, а вот инверсию карты для второго параметра вполне нормально.
- Освещать подопытный объект несколькими источниками света.
В остальном советовать нечего, получение задуманного результата путем настроек карт на этих параметрах даже танцами с бубном не назовешь. Но хороший результат того стоит – универсальный материал с имитацией структуры объема.
Один из примеров:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Вот собственно и все. Кто-то может возмутиться- «А где же кожа?!» Действительно, рядом с понятием SSS всегда создание материала кожи. Но создавать слоистую структуру кожного покрова физически точным методом совершенно непрактично, для этой цели есть специальный узкоспециализированный материал и все желающие могут поучаствовать на форуме Render.ru (ветка mental ray) в его обсуждении и принять участие в настройке.
Успехов!
С Уважением, КАА.
Kaa936@rambler.ru]

Посмотреть профиль http://ru.inbforum.com

上一页INBforum   Перейти вниз

上一页INBforumПредыдущая тема Следующая тема Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения

Copyright ©2009-2010 LTD Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

IT:SINGLESERVGoogle谷歌翻译TranslateFORUMSOFTLAYERGoogle谷歌广告联盟AdSenseAsia

 

Создать форум | © PunBB | Бесплатный форум поддержки | Контакты | Сообщить о нарушении | Blog2x2