Настройки raytraced-зеркальных отражений в Blender

Описание

Метод трассировки лучей (Raytracing) можно использовать в случаях, когда нужно визуализировать зеркальный материал. Принцип raytraced-отражений очень прост: луч испускается из камеры и идет сквозь сцену, пока не достигает объекта. Если первый объект, которого достиг луч имеет не отражающую поверхность, луч принимает цвет объекта. Если объект имеет отражающую поверхность, луч отскакивает от точки падения и продолжает свой путь до следующего объекта. И так до тех пор, пока на пути луча не окажется неотражающий объект, который поделится со всем пучком лучей своим цветом.

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

Цвет отраженного от поверхности света настраивается с помощью цветового апплета Mir в панели Material. Обычно для зеркальных поверхностей используется белый цвет, однако некоторые зеркала могут окрашивать отражения.

Панель Mirror Transp определяет зеркальность и параметры отражений объекта. Значения >0 параметра RayMir активируют зеркальность поверхности. Отражения будут окрашены в цвет, заданный в апплете Mir панели Material.

Настройки

Панель Mirror Transp
Панель Mirror Transp

Ray Mirror

Включает/выключает raytraced-отражения

RayMir

Определяет степень зеркальности объекта. Величина 1.00 обеспечит эффект идеального зеркала, величина 0.00 — полное отсутствие отражений.

Fresnel

Определяет силу эффекта Френеля. Числовое значение в поле Fresnel определяет степень зеркальности объекта, в зависимости от угла между нормалью поверхности и направлением взгляда. Обычно чем больше угол, тем более отражающим становится материал. Как правило это заметно на краях объекта.

Gloss

Сюзанна в зеркальной комнате
Сюзанна в зеркальной комнате

Поверхность с низким значением Gloss рассеивает свет и дает сильно размытые отражения. Для неровных или полированных-но-неровных поверхностей, таких, как автомобильная краска, параметр Gloss должен принимать значения, незначительно отличающиеся от единицы.

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

В качестве наглядного примера: значение Gloss у зеркала слева составляет 0.98, в центре 1.0, а справа 0.9.

Anisotropy

Анизотропное отражение.
Анизотропное отражение.
Значения Anisotropy 0.0, 0.75 и 1.0

Количество отражений, растянутых в направлении касательной. Если включена опция Tangent, Blender автоматически визуализирует размытые отражения как анизотропные.

При включенной кнопке Tangent V ползунок Aniso управляет силой эффекта анизотропных отражений. Значение 1.0 (по умолчанию) даст полностью анизотропное отражение а 0.0 — радиальное, как при отключенном Tangent V. Анизотропное трассированное отражение использует те же tangent-векторы, что и касательное затенение (tangent shading), а следовательно управляется тем же способом, что и авто-сгенерированные или основанные на UV-координатах меша tangent'ы.

Samples

Количество проходов для расчета окончательного цвета пикселя. Чем больше значение Samples, тем более сглаженным получается результат, но при этом опережающими темпами снижается скорость визуализации.

Threshold

Пороговая величина для адаптивных выборок. Просчет останавливается, когда статистическая вариация сэмплов снижается до достаточно близкого к пороговой величине значения. Увеличение параметра Threshold приводит к выпаданию значительного количества пикселов из адаптивной выборки, что в свою очередь может сделать отражения зашумленными.

Depth

Устанавливает максимальное количество отскоков луча. Значение по умолчанию (2) обычно является оптимальным. Если сцена содержит много отражающих объектов и/или камера приближается к отражающему объекту, это значение нужно увеличить. В этом случае подойдет значение 4 или 5.

Max Distance

Удаление от камеры (Z-глубина), выраженное в условных единицах blender, на котором расчет фактического отражения прекратится и начнет использоваться метод затухания (fade-out). В приведенном примере, зеркало находится позади камеры, в 10-ти blender-единицах от среднего зеркала. Верхнее отражение Сьюзи на самом деле представляет собой отражение отражения черного зеркала. Переднее зеркало имеет значение «Max Distance» равное 20 и, как видно из картинки, в верхней части отражение начинает плавно переходить в цвет неба.

Ray-End Fade Out

Для зеркальных объектов, удаленных от камеры более, чем на величину Max Distance, можно использовать эффект затухания (fade effect). Это позволит заметно сократить время просчета сцены.

Blender предлагает 2 варианта на выбор:

  • Fade to Sky color — плавный перехода в цвет неба, выбранный в панели World (F8)
  • Fade to Material color — используется цвет материала

Colored reflections

Цветные отражения
Цветные отражения

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

Для воспроизведения таких материалов в Blender, нужно установить соответствующее значение Mirror Color.

В приведенном примере, для среднего зеркала выставлен цвет отражений.

Примеры

Fresnel

Демонстрация эффекта Френеля
Демонстрация эффекта Френеля
Значения 0.0, 2.5 и 5.0

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

Если присесть на корточки, приблизив таким образом точку обзора к поверхности лужи и внимательно посмотреть на другую её сторону, можно увидеть, как дно лужи постепенно переходит в отражение неба. Это и будет проявление эффекта Френеля: одна и та же поверхность имеет как зеркальные, так и незеркальные свойства, в зависимости от угла обзора и нормали поверхности.

На приведенном рисунке можно увидеть, как меняются изображения идеально отражающего (RayMir = 1.0) материала при изменении значения Fresnel. Сверху вниз, значения: 0.0, 2.5 и 5.0.

Значение 0.0 применяется для идеально отражающего материала, в то время как 5.0 нужно выставлять для блестящего материала, вроде полированного дерева. В нижнем рисунке не слишком заметно, что материал является идеально отражающим.

Советы

Для того, чтобы получить физически правильный эффект Френеля, нужно выставить значения Fresnel в 5.0, Fac в 1.25. Но конечно же вас никто не ограничивает в манипулировании этими настройками, если того требует искуство.

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

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

Поделиться в: Опубликовать в twitter Опубликовать в своем блоге livejournal.com