Рамповые шейдеры

автор: Kenneth Styrberg

перевод: Sailor

Относится к Blender v2.34

Введение

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

Новая опция в Blender'е Ramp Shader (Рамповые шейдеры) позволяет вам настроить участок цвета для Материала, и определить как этот участок будет менятся по всей поверхности, а также как он смешивается с "настоящим цветом" (обычно это цвет материала или выходящей текстуры).

Так как вычисление текстуры в Blender'е происходит до воздействия шейдеров, опцией Ramp Shader можно полностью изменить цвет материала или текстуры. Но если использовать опции смешивания и Alpha (прозрачность), то в материалах Blender'а можно создать дополнительные слои шейдеров .

Интерфейс

Панель (или вкладка) Ramps находится в контексте Material (F5). Здесь находятся две кнопки, которые при нажатии отображают настройки цвета или для диффузного шейдера - кнопка Show Col Ramp или для шейдера отблесков (зеркальности) - кнопка Show Spec Ramp . (Рис 10.15 Панель Ramps.).

Рис 10.15. Панель Ramps.

Ramps Panel.

Нажатие на кнопку Colorband активирует цветовую палитру (цветовой канал с управляющими маркерами) для Ramp Shaders (рамповых шейдеров). По умолчанию, палитра имеет два цветовых маркера в канале, у первого значение Alpha = 0, и цвет не виден. А второй имеет голубой (бирюзовый) цвет и значение Alpha = 1. (Рис 10.16 Цветовая палитра.).

Рис 10.16. Цветовая палитра (цветовой канал).

Ramps Panel Colorband.
  • Add - Добавляет новый серый (по умолчанию) цветовой маркер в центр канала.

  • Cur - Отображает номер цветового маркера, выбранного на данный момент.

  • Del - Удаляет выбранный цветовой маркер.

  • E/L/S - Определяет тип интерполяции между цветом Ramp Shader (рамповых шейдеров) и цветом Материала . E - легкий или кубический, L - линейный, а S - Б-сплайн.

  • Alpha - Определяет видимость эффекта от Ramp Shader . Значение Alpha равное 0 означает полную прозрачность Ramp Shader , а значит рамповые шейдеры не будут видны. Значение 1 делает Ramp Shader непрозрачными. Если вы установите цвет с различными значениями Alpha, они будут интерполироваться между собой и получится плавный переход между разными установками прозрачности. Вы можете наблюдать результат настроек Alpha на специальной панельке с шаблоном (черно-белые квадратики). Если шаблон просматривается, значит прозрачность менее 1.

  • R/G/B - Текущий цвет в RGB-формате. Вы можете установить нужный вам цвет кликнув ЛКМ по цветовому окошку, которое находится под текстовым полем Pos и используя цветовой указатель, или перемещением RGB-слайдеров.

Текущий цвет в канале, отображается маркером (тоненькая вертикальная черно-белая полосочка). Чтобы выбрать нужный цветовой маркер, вы можете либо кликнуть по нему ЛКМ, или вы брать его номер с помощью стрелок в цифровом поле Cur. Можно еще нажать в цифровом поле SHIFT-ЛКМ и просто ввести вручную нужный номер.

Перемещать цветовые маркеры можно или ЛКМ: кликнуть по маркеру и двигать его, или с помощью стрелок в цифровом поле Pos, либо кликнуть SHIFT-ЛКМ и ввести значение расположения вручную.

Примечание

Если вы измените порядок цветовых маркеров, изменится и их номера. Номера маркеров начинаются всегда с 0, слева на право.

В самом низу пенели есть две кнопки, с выпадающим меню и слайдер, которые определяют работу Ramp Shaders (рамповых шейдеров):

Input (Ввод)

Рис 10.17. Меню Input.

Input popup menu.
  • Shader (Шейдер) - Вычисление цвета происходит по основной шейдерной формуле (как Lambert или Phong). В данном случае количество света не влияет на цвет, влияет только его направление.

  • Energy (Энергия) - Работает также как и Shader, но также в вычислении участвует значение количества энергии света, цвет и дистанция. Это заставляет материал изменять свой цвет с бОльшим попаданием на него света.

  • Normal (Нормаль) - Для Ramp Shader используются нормаль поверхности, относительно камеры.

  • Result (Результат) - Эта опция, делает вычисление после всех шейдерных расчетов. Это позволяет вам полностью контролировать все шейдеры, включая 'Toon'. С использованием значения alpha, можно очень тонко подстроить окончательный вид для Материала.

Method (Метод)

Рис 10.18. Меню Method.

Method popup menu.

Меню Method содержит опции для нескольких типов смешивания (блендинга): Mix (Смесь), Add (Плюс), Subtract (Минус), Multiply (Умножить), Screen (Экран), Divide (Разделить), Difference (Разность), Darken (Затемнение) и Lighten (Осветление).

Опцией Method вы можете выбрать метод смешивания (блендинга) между цветом из Input и цветом установленным самим Рамповым шейдером.

Factor (Фактор)

Рис 10.19. Слайдер Factor.

Factor slider.

Слайдер Factor определяет силу эффекта от Ramp Shader: значение 0 означает полное отсутствие эффекта, а значение 1.0 означает полный эффект.

Пример

Давайте сделаем что-нибудь простенькое с использованием Ramp Shaders (рамповых шейдеров).

1. Удалите из сцены куб (по умолчанию) и добавьте меш обезьянки! (SHIFT-A -> Add -> Mesh -> Monkey). Нажмите кнопку Subsurf и установите уровень подразделения для отображения и рендеринга на 2. Нажмите Set Smooth чтобы сгладить меш. Все эти опции в контексте Edit. (F9).

2. Теперь нажмите TAB чтобы выйти из Режима редактирования. Жмем F5 и заходим в контекст Material. На панели Material нажимаем Add New чтобы добавить новый материал. Настройте параметры во вкладке Shaders ка на Рис 10.20.

Рис 10.20. Настройка шейдеров.

Shader settings.

3. Перейдите во вкладку Ramps чтобы открыть панель Ramp Shader. Нажмите кнопку Colorband чтобы активировать настройки Ramp Shader. Теперь, попробуйте установить параметры как на Рис 10.21. Не забудьте установить опцию Input в Normal. Для второго цвета справа значение Alpha = 0, а сам цвет полностью черный!

Рис 10.21. Настройка шейдеров.

Ramp Shader settings.

4. Во вкладке Ramps нажмите кнопку Show Spec Ramp и попробуйте установить параметры как на Рис 10.22, 0. и Рис 10.23, 1.

Рис 10.22. Рамповый шейдер для отблеска 0.

Specular Ramp Shader color 0.

Рис 10.23. Рамповый шейдер для отблеска 1.

Specular Ramp Shader color 1.

Вот и результаты рендеринга с учетом тех настроек, которые мы только что сделали. На Рис 10.24 нет Ramp Shader . На Рис 10.25 активирован Рамповый шейдер для цвета и наконец на Рис 10.26 активированы оба эффекта для Рампового шейдера цвета и для Рампового шейдера отблеска!

Помните, это только простейшая демонстрация одного эффекта Ramp Shader. Можно получить на много больше, если попробовать изменить параметры Input и Method. Посмотрите на разницу между этим примером и в результатах которые вы получите.

Рис 10.24. Нет Ramp Shader.

No Ramp Shader.

Рис 10.25. Рамповый шейдер для цвета.

Color Ramp.

Рис 10.26. Оба эффекта: для Рампового шейдера отблеска и Рампового шейдера цвета.

Both Color and Specular Ramp.