Главная › Форумы › Уроки по Blender › Въезжаем в PBR
Помечено: PBR Ноды Материалы
Бывает, прочитал один раз не правильно, так и запомнил) К сожалению не могу править, а так хочется, что бы вы прочли)
Здравствуйте.
Как вы уже знаете Cycles предоставляет базовый набор нодов для создания сложных материалов. Основным недостатком данного подхода является сложность его освоения, ведь даже если изучить все ноды и шейдеры, узнать, что они делают, то это не прибавит умения создавать реалистичные материалы. Сам я в этой ситуации редко когда уходил дальше чего-то подобного:
Ведь для этого нужно понимание того как устроен данный материал, как от него отражается/преломляется/поглощается свет. Какими характеристиками обладает поверхность и т.д. Подобные знания не придут без опыта.
Плюсом хотелось бы отметить невероятную гибкость данного подхода, ведь нодами можно сделать практически все что угодно!
К чему же я вел — PBR — Physically-based rendering или физически корректный рендеринг — набор правил по которым осуществляется настройка материала. Не буду углубляться в описание, скажу лишь то, что эти правила помогают учесть все аспекты которыми должен обладать реалистичный материал. Сейчас разбирая по шагам каждый из них мы сделаем свою связку PBR для Cycles и применим ее на данной модельке:
Основные параметры:
Albedo
То, что мы привыкли называть Deffuse. Отвечает за цвет объекта, может быть как константой так и картой(Текстурой).
Градации серого:
Следовательно на начальном этапе создадим такую связку и обозначим нод RGB как Albedo:
Reflectivity
Зеркальность — то, что называется Glossy в Cycles. Количество света отражаемое объектом, регулирует силу отражений от тусклых и едва заметных до четко различимых вплоть до зеркальной поверхности. Тут важно отметить один важных из принципов PBR — все материалы условно можно поделить на металлы и неметаллы (диэлектрики), разница состоит в том, что неметаллы имеют определенный порог отражающей способности превысив который они становятся металлами, не могу сказать точно, но по моим наблюдениям, для нашего шейдера это 0.5-0.6, все, что выше — металл. Еще стоит отметить то, что не металлы отражают нейтральный — белый свет, металлы же окрашивают отражения (золото, латунь, бронза).
Albedo = 1.
Для управления этим параметром смешаем Glossy с Difusse и на вход mix подадим нод Value.
Fresnel
Очень важный параметр знакомый нам по Cycles, рассказывать о нем нет смысла, так как это уже было сделано в уроках на этом сайте
5 советов для создания лучших материалов
Создание реалистичных шейдеров в Cycles
Стоит только упомянуть, что в PBR этот параметр почти одинаков для всех объектов, отражающая способность же зависит и от шероховатости объекта.
Microsurface
Так же известный как Roughness — имитация микрошероховатостей, трещин и других не видимых глазом неровностей. Размывает отражения, в конечном счете заставляя свет не отражаться, а преломляться, то есть отскакивать в случайных направлениях.
Не регулирует силу отражений!!! А их размытие.
Albedo = 1 / Reflectivity = 1.
Для регулировки микроповерхности подключим нод Value ко входам Roughness шейдеров отвечающих за отражения.
Normal Map
Карта имитации неровностей и рельефа поверхности.
Создание карты нормалей в Blender
Добавим входной нод value для регулировки ее силы и нод RGB для связки со входом color. Для большей гибкости настроим контроль силы для Albedo и Reflectivity отдельными нодами.
Ambient occlussion
Необходима для создания эффекта самозатенения объекта, устанавливает тени в участках труднодоступных для проникновения света.
Для этого добавим RGB и смешаем его с Albedo через режим наложения Multiply, этот режим игнорирует белый цвет, таким образом на текстуру лягут только тени. Так же смешаем AO Map с Reflectivity что бы избежать ярких бликов в затененных местах меша.
Cavity
Тоже карта, содержит информацию о углублениях на поверхности в мелких трещинах и ямках. В таких местах не будет отражений. Наложим на Reflectivity.
На этом связка готова, однако нет предела совершенству) Поэтому ее необходимо доработать.
Доработка
Как я уже говорил, материалы делятся на металлы и неметаллы, таким образом нам понадобится какая то карта для их разграничения.
Первый способ с помощью Specular map — цветная карта регулирующая цвет отраженного света от поверхности объекта, честно сказать, я делал связку под себя и считаю этот способ не удобным, так как необходимо за ранее подобрать нужные цвета металлов и нанести их на карту, далее мы теряем возможность менять их на лету из редактора нодов.
Воторй — Metallnes map — черно-белая карта разделяющая металл и неметаллы. Работает как фактор смешивания, очень удобно и привычно.
Добавим вход для карты, value для регулировки отражений у металла и RGB для настройки его цвета. Свяжем ноды таким образом, что бы новые параметры не работали в отсутствии Metallness map.
Для начала свяжем Metallness и Reflectivity, Metallness пойдет в обход AO и Cavity.
Далее цвет металла, для этого разделим параметр Glossy за который отвечает Reflectivity на два нода, один будет все так же отвечать за отражения неметаллов, а другой за металлы. Так же подключим к нему отдельный контроллер параметра Microsurface и Normal Strenght.
В итоге получили такую связку:
Теперь когда мы подключим Metallness Map, мы сможем отдельно регулировать Normal strenght, microsurface, color для металлов (белых участков на карте), в отсутствии карты параметр Metallness Map должен быть равен 0, иначе мы пойдем в разрез с принципами PBR и рассчитывать на хороший результат не придется.
В случае если объект будет полностью из металла, то его показатели отражения будут так же регулироваться параметром Reflectivity, но при этом к нему нельзя подключать AO и Cavity, у металлов нет AO, а карты сработают как карты Microsurface и размоют отражения.
И так правила:
— Metallness и Metall color работают при наличии Metallness Map и идут в обход AO / Cavity (Об этом мы позаботились).
— Для металлического объекта (Reflectivity более 0.5) отключить AO / Cavity.
Если на объекте более одного металла придется мешать несколько PBR дополнительными масками.
Я упаковал материал в группу, так, что вам этого делать не придется. Ниже будут ссылки на скачивание.
Остался не решен один вопрос — для чего это все? Ниже покажу на примере.
Демонстрация
Значения в связке были выставлены мною за ранее, в данном примере покажу как меняется картинка от подключаемых карт.
1. Подключаем текстуру через вход Albedo
2. AO Map
3. Cavity
4. Normal map
5. Metallness Map
6. сделаем заточенный кончик лезвия обычным Anisotropic и маской
Аплодирую стоя :)
Теперь главное, чтобы этот пост не только я прочитал, а все те, кому он действительно нужен.
Если и дальше так будет продолжаться, нужно будет на главной баннер какой-то повесить, аля: «Уроки от доктора Банана» :)
Присоединяюсь к аплодисментам!
Спасибо))
Блин, урок наверн великолепный. Я его не дочитал после Альдебо. Которое в девичестве Альбедо всёж. Сочуствую, вам еще и скрины заменять… http://morgoth.ru/image/uUR
upd Ещё опечатка в картинке к Френелю., там R пропущена.
DrBanana
Я скопировал твой перепост и заменил оригинал. Думаю так будет лучше :)
В будущем, если нужно отредактировать подобный ответ — пиши мне на почту, я буду его править. Или, если это был не последний твой урок на форуме, я могу выдать тебе права редактора или что-то подобное и тогда будет еще проще.
Хорошо) думаю пока, что лучше писать на почту)
Выдающийся урок, и необычные шейдеры, и окаймление нод тож сильно. Такое наверное поясняется в уроке по OSL. Отдельный урок по развёртке и текстурированию под этот топор будет ? Когда одна текстура на весь меш — вроде понятно, проходил такие уроки. А вот как работать с разверткой, или даже развертками (видите, даже это непонятно), когда текстур несколько, и накладываются они на отдельные полигоны — вообще тёмный лес :) И да, тогда действительно придется создавать кафедру докторскую :) Отдельный раздел форума :)
Если честно считал, что развертку делать не так уж сложно для топора то) но могу дополнить еще одним постом)
Годнотища 999 лвл:)
Жду развертку и моделинг что бы сразу было — Создания фотореалистичной модели топора. Часть 1,2,3
еслиб еще и картинки не блочились на работе цены б статье не было.
Привет
Думаю будет интересно. Аддон PBR библиотеки материалов с привью и плюшками.
http://3dwolf.weebly.com/materials.html
Гляньте видео.
да, давно их использую.
Урок — супер. Автор пиши ещё!
Здравствуйте…очень нужна помощь…. Вопрос. нужно FBX + текстуры. (Albedo, metalnes у которого в альфаканале находиться raffnes, normal и AO. )
Fbx есть Albedo это diffuse(как запечь знаю), нормал ао тоже. Но как запечь metalnes? / и как запечь Albedo, metalnes у которого в Альфаканале находиться raffnes, normal и AO? и что такое рафнес? и как эго добить? зарание …ОЧЕНЬ большое спасибо.