Shader

Быстрые фейковые отражения для toon- шейдеров

Для некоторых toon- шейдеров бывает сложно настроить качественные отражения т.к. сам принцип нереалистичного шейдинга препятствует правильной обработке освещения в сцене.

Однако в рендер-движке EEVEE можно настроить фейковые отражения для toon- шейдеров, которые будут хорошо выглядеть и быстро просчитываться.

Подборка шейдеров от Эриндейла Вудфорта с Nodevember 2020

Эриндейл Вудфорт, автор очень сложных и продвинутых шейдеров, выложил в открытый доступ все свои шейдеры с эвента Nodevember 2020.

Пак из 30 шейдеров можно скачать с Gumroad

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

Проблемы с OSL шейдером, использующим node_texture.h

Если в теле OSL шейдера есть обращение к модулю “node_texture.h”, в последних версиях Blender такой шейдер не выполняется.

При попытке исполнения такого шейдера Blender выдает ошибку вида:

Нодвембер 2020

“Нодвембер 2020” (Nodevember 2020) – с 1 по 30 ноября наступает очередной челлендж для любителей и фанатов процедурного (нодового) моделирования и создания материалов.. Задачи челленджа очень просты – каждый участник каждый день создает на заданную тему один процедурный материал/объект в Blender исключительно при помощи нод. Создавать можно все, что угодно – модели, меши, материалы, шейдеры и даже музыку, лишь бы они были процедурными. Созданный объект публикуется автором в соц-сетях с хеш-тегом #nodevember.

Сайт-визитка: nodevember.io

Режимы прозрачности EEVEE Blend Mode – Multiply и Additive

В Blender 2.83 среди возможных режимов наложения прозрачности в рендер-движке EEVEE отсутствуют режимы “Additive” и “Multiply”, которые присутствовали в Blender 2.80.

При необходимости использования этих режимов наложения прозрачности в Blender 2.83, их можно воссоздать при помощи нодов.

Оптимизация настроек материала стекла под Cycles

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

Random Per Island

В Blender 2.82 появилась возможность использовать в шейдерах случайный индекс отдельных островов развертки (UV Island). Случайный индекс островов можно получить из нода Geometry.

Только для рендер-движка cycles.

Глобальная замена материалов в сцене для рендер-движка EEVEE

Часто бывает нужно получить рендер всей сцены с одним материалом. Например для “глиняных” рендеров (clay render) или рендеров сетки (wireframe render). Если для рендер-движка Cycles в настройках View Layer Properties – Override предусмотрена возможность глобально заменить все материалы на один, то для рендер-движка EEVEE такой возможности нет.

Быстрое переопределение материалов для рендер-движка EEVEE можно сделать с помощью небольшого скрипта, как это показано в следующем видео:

Автор скрипта и видео Виталий Сокол

Базовая схема PBR-материала

Базовая схема построения PBR (физически корректного) шейдера на нодах в Blender выглядит следующим образом:

Обратите внимание, все ImageTexture ноды, кроме ноды для базового цвета (Base Color), используют NonColor цветовое пространство.

Нодвембер

“Нодвембер” (Nodevember) – месячный челлендж, в ходе которого участникам предлагается каждый день создавать один процедурный объект для Blender. Это может быть материал, шейдер, объект,  все, что угодно, лишь бы оно было процедурным. “Все, что состоит из нодов, все это – нодвембер”.

Сайт-визитка: nodevember.io

Преобразование индекса IOR в индекс Specular отражений

В официальной документации Blender приводится способ получения величины Specular, если известна величина IOR для отражений PBR-материалов. Для того чтобы получить значение Specular из значения IOR нужно воспользоваться формулой:

Эту формулу не сложно создать через ноды:

Процедурные градиенты

Градиент, помимо ноды “Gradient Texture”, можно получить с помощью достаточно простых формул. Рассмотрим математику на примере сферического градиента.

  1. Равномерный градиент

Создается на основе формулы конуса, направленного вершиной вниз.