Alex Kras
Всем доброго времени суток!
Во второй части урока про освещение, я сначала опишу эффект каустики, его настройку и шейдер фотонов Photon Basic (base), потом шейдеры внутреннего объема parti_volume и parti_volume_photon и их применение. В конце урока я опишу как используя эффекты, рассмотренные в уроке, сделать сцену для тестирования огранки драгоценных камней.
Урок рассчитан на пользователей 3d Max 2008 и содержит примеры сцен.
При создании урока я рассчитывал, что читающий ознакомлен с уроком «Погружение в ментал (шейдерный материал mental ray»
1. Эффекты каустики (Caustic)
Каустика — это эффект непрямого освещения, получаемый с помощью каустик-фотонов, генерируемые источником света. Этот эффект можно разделить на две части – эффект создаваемый отразившимися фотонами от поверхности объекта
рис №1
и эффект создаваемый фотонами при прохождении объема объекта имеющего прозрачность и коф. преломления выше единицы.
рис №2
Для включения каустики необходимо соблюсти несколько условностей:
- Включить режим расчета каустики в настройках рендера:
В закладке «Indirect illumination» (непрямое освещение) найти раздел «Caustics and Global Illumination» и поставить галку в разделе Caustics – Enable:
рис №3
остальные параметры, как правило, в редактировании не нуждаются и можно в 99 случаев из 100 их не менять:
Maximum Num. Photons per Sample — определяет количество фотонов, которое будет использоваться для расчета освещенности одного фрагмента (Семпла) поверхности.
Maximum sampling Radius — максимальный радиус фрагмента поверхности (Семпла) для расчета каустики, при отключенном значении радиус назначает рендер самостоятельно.
Filter – фильтр применяемый для расчета размера вклада в освещенность каждого фотона в одном семпле. Box, самый простой.
- Следующие условие это включить объект, от которого мы ждем каустику, в расчет последней. Делается это из меню свойств объекта (вызывается правой клавишей мыши при выделенном объекте). В меню свойств есть закладка «mental ray» где и необходимо выставить галку на генерации каустики:
рис №4
по умолчанию все объекты исключены из расчета каустики.
- Третье условие это настроить источник света, то есть включить ему генерацию каустик фотонов. По умолчанию все созданные источники света генерируют как фотоны каустики, так и фотоны 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), а в ручных установках цвет и энергию фотонов можно выставить вручную. Необходимо помнить, что указанный цвет фотонов, складывается с цветом свечения источника света.
- И последнее условие – материал объекта должен иметь шейдер фотонов. Все предустановленные менталовские материалы имеют этот шейдер, а если материал делается вручную на основе материала 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).
- числовые значения – коф. преломления. Напрямую сделать зависимыми числовые значения нельзя, копировать с зависимостью (instance) мы можем только карты, поэтому назначим на коф. преломления (неважно в поверхности или в фотонах) карту «Output», в настройках выставим только выходное значение «Output Amount», я поставил значение равное 2, которое и будет нашим коэффициентом преломления.
рис № 9
теперь с помощью левой кнопки мыши скопируйте карту из слота для карт

и вставьте его в аналогичный на другом шейдере с параметром Paste (Instance).
Теперь меняя значение «Output Amount» карты в составе любого шейдера, изменяться все зависимые значения, при этом реально заданное числовое значение в самом шейдере игнорируется (у меня оно осталось равно 1,5 а применяется 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 Макса
добавив в спектр источника света желтого цвета, и не меняя свойство материала, получим правильный перерасчет и эффекта каустики:
![]()
Закончим с данным простым, но интересным эффектом.
