Осталось поработать

Alex Kras

Всем доброго времени суток!

Во второй части урока про освещение, я сначала опишу эффект каустики, его настройку и шейдер фотонов Photon Basic (base), потом шейдеры внутреннего объема parti_volume и  parti_volume_photon и их применение. В конце урока я опишу как используя эффекты, рассмотренные в уроке, сделать сцену для тестирования огранки драгоценных камней.

Урок рассчитан на пользователей 3d Max 2008 и содержит примеры сцен.

При создании урока я рассчитывал, что читающий ознакомлен с уроком «Погружение в ментал (шейдерный материал mental ray»

1.     Эффекты каустики (Caustic)

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

 

рис №1

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

 

рис №2

Для включения каустики необходимо соблюсти несколько условностей:

  1. Включить режим расчета каустики в настройках рендера:

    В закладке «Indirect illumination» (непрямое освещение) найти раздел «Caustics and Global Illumination» и поставить галку в разделе Caustics – Enable:

     

    рис №3

    остальные параметры, как правило, в редактировании не нуждаются и можно в 99 случаев из 100 их не менять:

    Maximum Num. Photons per Sample — определяет количество фотонов, которое будет использоваться для расчета освещенности одного фрагмента (Семпла) поверхности.

    Maximum sampling Radius  — максимальный радиус фрагмента поверхности (Семпла) для расчета каустики, при отключенном значении радиус назначает рендер самостоятельно.

    Filter – фильтр применяемый для расчета размера вклада в освещенность каждого фотона в одном семпле. Box, самый простой.

  2. Следующие условие это включить объект, от которого мы ждем каустику, в расчет последней. Делается это из меню свойств объекта (вызывается правой клавишей мыши при выделенном объекте). В меню свойств есть закладка «mental ray» где и необходимо выставить галку на генерации каустики:

     

    рис №4

    по умолчанию все объекты исключены из расчета каустики.

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

    В свойствах источников света есть закладка –mental ray Indirect Illumination. Параметры в которой разделены на две части – верхняя – генерировать фотоны учитывая настройки в свойствах рендера (включена по умолчанию) и генерация фотонов не учитывая настройки рендера, выбор нужного расчета выбирается установкой галки в соответствующем разделе:

     

    рис №5

    параметры для всех источников сцены, на основе которых производиться автоматический расчет  количества/качества фотонов (действует по умолчанию) устанавливаются в настройках рендера, закладке «Indirect illumination» (непрямое освещение),раздел «Caustics and Global Illumination» — пункт Light Properties:

     

    рис №6

    Caustic Photons (Average Caustic Photons per Light) это количество фотонов испускаемых источником света, при настройках автоматического расчета в настройках источника, выставляется не количество фотонов, а множитель.

    Decay – это затухание фотонов с расстоянием – для чистых прозрачных объектов он равен 2 (установлено по умолчанию) а для мутных прозрачных объектов можно установить 3 , дабы имитировать подслойное рассеивание и  затухание, бОльшие значения выставлять нецелесообразно.

    Параметр Energy – начальная энергия (яркость) фотонов, при настройках автоматического расчета это множитель для параметра Multiplier, основных настроек каустики (рис №3), а в ручных установках цвет и энергию фотонов можно выставить вручную. Необходимо помнить, что указанный цвет фотонов, складывается с цветом свечения источника света.

  4. И последнее условие – материал объекта должен иметь шейдер фотонов. Все предустановленные менталовские материалы имеют этот шейдер, а если материал делается вручную на основе материала mental ray, то его необходимо задавать.

Закончим с теорией и перейдем к практике:

Рассмотрим шейдер фотонов  Photon Basic (base)

В настройках выставляется цвет (карта) диффузного отражения – Diffuse.

Цвет(карта) зеркального отражения – Specular.

Прозрачность объекта – Transparency.

И коэффициент преломления.

 

рис №7

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

Для примера поэтапно настроим шейдер для красного стекла:

Устанавливаем в слот Photons , шейдер Photon Basic (base) и применяем его на какой-нибудь объект (подробно о структуре материала mental ray и подключении шейдеров к стандартным материалам см. урок «погружение в ментал (шейдерный материал mental ray)»)

Для своего примера я взял простейший объект – Box с материалом,  где в качестве поверхности шейдер Glass(lume) настроенный на красный цвет.

Рендер с параметрами по умолчанию:

 

рис №8

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

Теперь я покажу как можно сделать зависимые параметры между настройками разных шейдеров. Нам необходимо связать параметры диффузии, зеркальности и коф. преломления между шейдером glass(lume) и Photon Basic (base).

  1. числовые значения – коф. преломления. Напрямую сделать зависимыми числовые значения нельзя, копировать с зависимостью (instance) мы можем только карты, поэтому назначим на коф. преломления (неважно в поверхности или в фотонах) карту «Output», в настройках выставим только выходное значение «Output Amount», я поставил значение равное 2, которое и будет нашим коэффициентом преломления.

     

    рис № 9

    теперь с помощью левой кнопки мыши скопируйте карту из слота для карт

    и вставьте его в аналогичный на другом шейдере с параметром Paste (Instance).

    Теперь меняя значение «Output Amount» карты в составе любого шейдера, изменяться все зависимые значения, при этом реально заданное числовое значение в самом шейдере игнорируется (у меня оно осталось равно 1,5 а применяется 2 из карты).

  2. для задания цвета с помощью карты можно использовать «RGB Tint»:

 

рис №10

настраиваем и делаем копии как и в первом случае.

Теперь рендер после настроек зависимостей:

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

В разных шейдерах прозрачных материалов свойства прозрачности задаются разными способами (отдельно цветом, либо числовым значением и цветом фильтра итд. ) поэтому тут сделать явную зависимость не всегда получиться. Я поставил вручную значение 0,5 (0 – непрозрачно, 1 полная прозрачность ) использовать какой- то преобладающий цвет в прозрачности тут ИМХО не уместно, так как он будет выступать в качестве дополнительного фильтра только для фотонов каустики прошедших через объект и будет не соответствовать оптическим свойствам объекта. Конечно если стоит цель с физической точностью изобразить предмет и подчеркнуть свойство материала имеющего определенный спектр поглощения тогда  придется указывать тут либо цвет, либо на градиенте несколько цветов.

Например у циркона их четырнадцать, с длинами волн: 691; 689; 662,5; 660,5; 653,5; 621; 615; 589,5; 562; 537,5; 516; 484; 460; 432,7 нанометров в оптическом спектре :-).

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

и так  с установленной прозрачностью 50% и измененной Specular:

как бы с точки зрения распространения света все нормально, но вот смущают неоднородности на освещаемых участках.  Виной тому очень маленькое количество фотонов испускаемых источником света. Увеличиваем их  количество в 100 раз (рис №5 ) и повторно рендерим:

скачать сцену для 2008 Макса

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

Закончим с данным простым, но интересным эффектом.

Понравилась статья? Поделиться с друзьями: