Зеркальные шейдеры в Blender

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

Согласно закону Снеллиуса (Снелла), падающий и отраженный лучи лежат в одной плоскости с нормалью к отражающей поверхности в точке падения, и эта нормаль делит угол между лучами на две равные части. Широко распространённая, но менее точная формулировка «угол падения равен углу отражения» не указывает точное направление отражения луча.

В этом свете, угол обзора приобретает большое значение.

Общие настройки зеркальных шейдеров

Specular colour
Цвет зеркальных бликов

Spec
Интенсивность или яркость зеркальных бликов. Имеет диапазон от 0 до 2, что позволяет настраивать количество энергии, преобразуемой в зеркальное отражение.

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

Технические подробности

Зеркальные отражения

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

Зеркальное отражение преобладает на поверхностях, величина неровностей которых меньше длинны волны. Таким образом, лучи света отражаются от каждой точки поверхности практически в одном направлении. Всё дело в величине неровностей. Если неровности меньше длинны волны падающего света — поверхность будет казаться гладкой и отражать зеркало.

Для того, чтобы представить зависимость между неровностью поверхности и длинной волны падающего на неё света, представьте шарик сантиметрового диаметра. Если кидать такой шарик в стену, сложенную из природного или декоративного камня (неровную, с сантиметровыми перепадами), угол отскока будет непредсказуем, кажый раз разный. Если тот же шарик кидать в отштукатуренную стену (с милиметровыми неровностями), направление отскока просчитать будет довольно легко. Он будет подчиняться примерно тому же закону, что и свет, упрощенно: «угол падения равен углу отражения».

CookTorr

Описание

Шейдер CookTorr

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

Настройки

Настройки шейдера

Hard
Твердость или величина зеркальных бликов.

Phong

Описание

Шейдер Phong

Базовый зеркальный шейдер, очень похожий на CookTorr, однако более подходит для кожи и других органических поверхностей.

Настройки

Настройки шейдера

Hard
Твердость или величина зеркальных бликов.

По причине своей «рыхлости», этот шейдер подходит для создания атмосферы:

  • добавь вокруг планеты сферу немного большего диаметра
  • выбери для материала сферы шейдер Phong
  • установи очень низкое значение прозрачности (.05), нулевое деффузное рассеяние (ref=0), низкую твердость (5), но высокую зеркальность (2)

Blinn

Описание

Шейдер Blinn

Blinn — самый «физически правильный» зеркальный шейдер, обычно используемый с диффузным шейдером Oren-Nayar.
Характеристики этого шейдера управляются ещё одним параметром — показателем преломления света (IOR)

Настройки

Настройки шейдера Blinn

Hard
Твердость или величина зеркальных бликов. Шейдер Blinn дает более компактные, «сжатые» блики, по сравнению с Phong и CookTorr.

Refr
Показатель преломления света (IOR, Index of Refraction). Этот параметр используется не для расчета преломления лучей света в материале (для этого нужен трассировщик лучей), а для корректного расчета интенсивности и протяженности зеркальных отражений с помощью закона Снеллиуса.

Toon

Описание

Шейдер Toon

Этот зеркальный шейдер соответствует диффузному шейдеру Toon. Он предназначен для создания четких, однородных бликов в «мультяшном» стиле.

Настройки

Настройки шейдера Toon

Size
Твердость или величина зеркальных бликов.

Smooth
Размытость границы бликов.

Совет
Toon shader can be also be accomplished in a more controllable way using ColorRamps.

WardIso

Описание

Шейдер WardIso

Гибкий зеркальный шейдер. Подходит для металлических или пластиковых поверхностей.

Настройки

Настройки шейдера WardIso

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

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