Что такое ior в блендере

Обновлено: 18.05.2024

Итак, у нас есть объект с материалом и наложенной текстурой – пора, наконец-то, отрендерить его! Рендерингом (или визуализацией) в компьютерной графике называют процесс перевода математической модели объектов в графическое представление. В Blender это делается путем проецирования вершин, составляющих объекты, на экранную плоскость и вычисления пикселей между ними путем растеризации полигонов.

Существует также другой подход – расчет траекторий лучей (или, как говорят специалисты, трассировка лучей). Для каждой точки растрового изображения проводится луч в некоем известном направлении (это может быть, например, вектор от позиции наблюдателя). Затем происходит перебор всех объектов-примитивов трехмерной сцены. Трассировщик проверяет луч на пересечение с примитивом и получает координаты точки пересечения. Если на сцене присутствуют источники света, проводятся дополнительные лучи от полученной точки к источникам света. На основании полученной информации (а также заранее определенных констант), вычисляется цвет пикселя в данной точке.

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

Камеру можно перемещать и поворачивать, как и любой другой объект. Чтобы понаблюдать, как сцена видна через камеру, можно сменить вид: выберите в меню View → Camera. Теперь нажмите клавишу N и в появившейся левой панели инструментов найдите вкладку View. Поставьте галочку напротив Lock Camera to View. Рамка паспарту теперь станет красной, а камера будет привязана к точке наблюдения навигации. То есть, если вы повернете точку наблюдения средней кнопкой мыши, камера тоже повернется соответствующим образом – это позволяет быстро настроить камеру наилучшим для вас образом. Не забудьте только отключить этот режим привязки, когда закончите позиционировать камеру.

Настройки рендеринга находятся на той же панели свойств, в первой группе – Render. На вкладке Dimensions можно изменить разрешение финального изображения, а также указать процент масштаба финального изображения – это необходимо для быстрой визуализации маленьких промежуточных картинок. Сделав рендер клавишей F12 , вы можете сохранить его: выберите в меню Image → Save As Image… В диалоге выбора файла вы можете указать формат сохранения (PNG, JPEG, Targa, OpenEXR, HDR, TIFF и др.), коэффициент сжатия и другие параметры.

Добавим, что любое отрендеренное изображение можно не только сохранить, но и использовать внутри Blender для дальнейшей работы – в качестве текстуры для объекта или где-нибудь еще.

feat_fres2

Шейдинг (процесс создания материалов)-является самым частым шагом в CG пайплайне. Я привык просто играть с материалом до тех пор, пока он не приобретал тот вид, который меня устроит, а потом переходил на текстурирование.

5tips-1


Т екстура дерева налеплена на диффузный шейдер. Буээ.

Однако, в моем нескончаемом поиске реализма я понял, что шейдинг-это по сути самый важный шаг в создании чего-то правдоподобно.
Конечно моделирование, текстурирование, освещение и все остальное тоже очень важно, но шейдинг определяет то, из чего состоит объект- дает понять аудитории, каков он на ощупь, насколько он мягкий, липкий или гибкий, определяет чем бы он мог быть в этой новой, созданной вами визуализации.

Now that


Вот эта поверхность гораздо интереснее!

Шейдинг-это микс математики, правил и художественного простора, но в данном уроке я сфокусирую внимание на практике, а не на теории.

1. Поймите, как это сделано.

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

The original Utah Teapot


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

Diffuse + Glossy = Ceramic?



Диффузное покрытие+глянец=керамика?

(source)

Уверен, Вам подошло бы и так. Но если Вы действительно хотите добиться реализма, давайте разложим на составляющие.
"Керамика” - это довольно широкая категория материалов, которая включает в себя посуду, кирпичи, стекло, и даже термостойкие плиты на космических шатлах. Но нас интересуют только чайники, поэтому давайте поговорим о том, как делается фарфоровый чайник.
Фарфор получают смешиванием некоторых порошковых минералов вместе с водой, для получения своего рода глины. Художник создает из глины определенную форму и запекает в печь при температуре около 1000 градусов Цельсия. При такой температуре испаряется влага и остается лишь затвердевший минерал.

minerals

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

Каолин/ Кварц/ Полевой шпат

ceramic_translucent

Кварц почти полностью прозрачен, как стекло (на самом деле кварц используется для создания стекла), поэтому, при смешивании порошка с каолином и полевым шпатом, мы получаем немного полупрозрачный диффузный материал.

ceramic_tut_01_r

После первой обработки огнем объект покрывают эмалью, чтобы сгладить неровности и дать ему защитное глянцевое покрытие и подвергают второму этапу обработки огнем. Это и делает поверхность светоотражающей.
Итак, давайте переведем все это в материал Блендера…
Я всегда начинаю с диффузной составляющей. Так как фарфор в основном образуется из порошка, то его поверхность довольно грубая и лишь затем наносится эмальное покрытие. Поэтому мы создадим этот эффект увеличением шероховатости шейдера Diffuse:

А для прозрачности будем использовать Subsurface Scattering (подповерхностное рассеивание), так как это более точно отражает суть. Только вместо одного шейдера будем использовать два. Один с большим масштабом, чтобы сделать спад немного мягче:

ceramic_tut_02

ceramic_tut_02_r


Сейчас он выглядит красивее и мягче, и не такой скучный:)

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

ceramic_tut_03

ceramic_tut_03_r

Как вы могли заметить, я использовал нод Layer Weight в качестве фактора смешивания. Это очень важно для достижения реалистичного результата…

2. Отражения Френеля.

5tips-15.jpg

Нельзя написать статью о создании материалов по крайней мере без упоминания об отражениях Френеля. На мой взгляд это самое важное и фундаментально правило после сохранение энергии.
Так что же это? Это простое правило гласящее о том, что отражения будет больше на углах объекта, чем в остальной его части.
Слишком часто я вижу рендеры без использования отражения Френеля и сразу же чувствуется подделка.

Вот как выглядит данная функция:

fresnel

Чтобы правильно его использовать, просто подключите нод Fresnel или Layer Weight в Factor вашего Mix Shader:

ceramic_simple_nodes

Ноды Fresnel и Layer Weight дают на выходе одинаковые результаты. Разница лишь в том, что нод Fresnel позволяет устанавливать IOR (показатель преломления), что бывает крайне полезно, если вы знаете этот показатель для материала который создаете. А нод Layer Weight просто позволяет вам на глаз устанавливать желаемое отражение в диапазоне от 0 до 1.

3. Убедитесь, что есть что-то, что можно отразить.

Я часто вижу людей пытающихся создать материал металла с использованием лампы (тип Солнце) и серого фона.
Металлы одни из наиболее отражающих материалов. У вас не получится заставить их отражать что-то, если отражать нечего.

helm


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

Поэтому, было бы неплохо убедится, что в вашей сцене присутствует что-то, что металл сможет отразить.
Самый простой (и самый эффективный, как оказалось) способ, это использовать HDR-изображение в качестве окружающей среды. Я обычно рекомендую использовать их для освещения, потому что они дают вам точную копию освещения из реального мира (если они были сфотографированы правильно).

4. Следите за тем, что вы делаете.

Вы когда-нибудь пытались моделировать с закрытыми глазами? Я думаю, что нет ;) Тогда почему вы в процессе работы не проверяете, как это выглядит на модели?

science-dog

Одной из первых вещей, которые я добавил в аддон Node Wrangler был Emission Viewer (предпросмотр). Суть такая же как и у нода для пост-обработки, только для шейдеров.
Кликнув по любому ноду с зажатым Ctrl + Shift вы подключите просмотр (который по сути является шейдером Emission). При наличии окна 3D-вида вы быстро сможете узнать, что получаете на выходе любого нода.

5tips-20.jpg


5. Используйте несколько световых предустановок.

Много раз я проводил часы за настройкой материалов, но когда я импортировал результат в основной проект, я долго думал, что за ужас я сделал. А все потому, что освещение в сценах было настроено по разному.
Если вы работаете над чем-то статичным и в результате у вас будет одно изображение с одного угла — в таком случае все отлично. Но если вы работаете над объектом для анимации, кино или игры, то вам нужно убедится, что материал хорошо выглядит при различных типах освещения.
Для этого я собрал коллекцию из различных HDR-карт в отдельный blend-файл с различными настройками ламп. В процессе работы над материалом я несколько раз меняю освещение. В итоге я знаю, что мой материал будет выглядеть хорошо при любом освещении.

A model by Chris Kuhn, lit using 9 different HDRIs

P.S. Если идея использования множества HDR-карт звучит устрашающе, спешу вас успокоить. В июле мы выпустим новый аддон HDR library, который позволит быстро и легко переключаться между десятками HDR-карт. Следите за обновлениями;)

Вот и все! Надеюсь, здесь не слишком много теории и вы не забудете эти советы, когда в следующий раз приступите к созданию собственного материала :)

Blender2017.jpg

Карта смещения - обычная черно-белая текстура. Чем белее цвет в данной точке, тем сильнее в данной точке имитируется смещение.

NodeLimitedArea22.jpg

нет свойств

NodeLimitedArea23.jpg

  1. Image - цвет или изображение, которое будет разбито на составляющие

NodeLimitedArea24.jpg

  1. R - компонент R
  2. G - компонент G
  3. B - компонент B

NodeLimitedArea25.jpg

NodeLimitedArea26.jpg

Image - вектор или группа векторов, которая будет разбита на составляющие

NodeLimitedArea27.jpg

NodeLimitedArea28.jpg

  1. Fac - управляет смешиванием (если больше 0.5, то больше будет нижнего шейдера; если меньше 0.5, то больше будет верхнего шейдера)

NodeLimitedArea29.jpg

нет свойств

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

MainBlender 7.jpg

  1. Чтобы поместить ноды в него переместите ноды над ним, или (если они уже над ним), то подвигайте ноды, чтобы они были помещены в фрейм.

MainBlender 8.jpg

Окно настройки внешнего вида нодов находится справа.

  1. Name - идентификатор нода для Blender.
  2. Label - отображаемый пользователю заголовок вверху нода.
  3. Чтобы у нода был специфический цвет следует установить галочку рядом с Color, а ниже выбрать ему цвет фона.
  4. Label Size - размер текста в пунктах.
  5. Shrink (только для фрейма) - подгонять ли его размер под положение крайних нодов (чтобы у фрейма был всегда минимальный размер).
  1. Серые сокеты передают числовую информацию.
  2. Фиолетовые сокеты передают векторную информацию.
  3. Желтые сокеты передают цветовую информацию.
  4. Зеленые сокеты предназначены для подключения нодов как результирующих для проведения с ними некоторых операций как с готовыми.
  5. При соединении сокетов разных цветов данные преобразуются из одного формата в другой.
  1. Если необходимо из одной кривой (соединяющей ноды) вывести другую, то используйте точку Reroute (из точки можно будет тянуть еще кривую к нодам).

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

MainBlender 32.jpg

  1. Для группировки нодов с Shift выделите нужные ноды, затем нажав Shift+A из меню выберите Group -> Make Group.
  2. Далее Вы сразу переместитесь в режим редактирования группы.

MainBlender 33.jpg

  1. В режиме редактирования группы фон становится зеленоватым и появляются специальные ноды Group Input и Group Output.
    1. Нод Group Input содержит все сокеты, с помощью которых Вы сможете менять результат, который будет получаться при взаимодействии нодов в группе. Кратко говоря, этот нод предоставляет возможность указать параметры, которые пользователь сможет задавать выйдя из режима редактирования группы.
    2. Group Output - нод, который указывает какие параметры вернет группа, то есть какие параметры сможет пользователь использовать после того, как в группе обработались входные данные и получились выходные.

    MainBlender 34.jpg

    4.Обратите внимание, группы тоже можно группировать до бесконечности.

    MainBlender 35.jpg

    Настроить входные сокеты (параметры) группы можно в окне Interface слева.

    Все параметры сокетов настраиваются в окне Interface.

    MainBlender 36.jpg

    У цветового сокета (передающего цветовые данные) есть только один изначальный параметр - цвет.

    MainBlender 37.jpg

    У сокета передающего векторные данные есть изначальное значение в виде вектора - его трех координат.

    MainBlender 38.jpg

    У сокета передающего числовые данные изначальным значением является число.

    1. А параметры Minimum и Maximim позволяют указать в каком диапазоне могут быть установлены числа у данного сокета.

    У сокета передающего шейдер нет параметров.

    Blender предоставляет возможность настройки видимости лучей для каждого из объектов индивидуально в окне Cycles Settings.

    Привет, меня зовут Сергей Мингулин, я — 3D-художник и преподаватель курса по созданию стилизованных 3D-персонажей в XYZ. Посмотреть на мои проекты можно здесь . Это — первая статья из цикла о визуализации в Blender.

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

    Дополнительные программы для удобства

    Substance Painter — программа для текстурирования 3D-моделей или создания текстур/текстурных карт для них. По ходу работы мы будем импортировать текстуры отсюда.

    Node Wrangler — аддон, который содержит разнообразные инструменты для улучшения и ускорения воркфлоу, основанного на нодах (node-based workflow).

    Активируется он следующим образом:

    Как работать в Material Editor

    После того как портировали нужную модель в Blender, находим вверху вкладку Editor Type и выбираем Shader Editor. Нас перебрасывает в меню.

    Material Editor имеет 2 режима:

    Здесь есть две настройки:

    Surface (поверхность) — сюда можем подключить обычный background (включен по умолчанию) и поменять его цвет или же добавить HDRI текстуру (удалить нод background и добавить Environment texture через Shift+A ). Я остановился на обычном бэкграунде.

    2. Редактирование объектов , с которым мы и будем сегодня работать.

    Пример создания пустого материала

    Важно: не забываем активировать Node Wrangler.

    Выделяем базовый шейдер и нажимаем Shift+Control+T. Комбинация откроет нам меню выбора файлов. Выделяем нужные нам текстуры и подгружаем.

    Если по умолчанию в названии файла текстуры есть приписка с её назначением, прога сама привязывает соответствующие файлы к параметрам.

    Редактировать эти приписки (или суффиксы/тэги) можно в меню:

    Если значение определилось неверно, изменить привязку можно самостоятельно, соединив мышкой output нода и input шейдера.

    Кроме того, текстуру можно так же вручную перетянуть из окна в программу и прилинковать.

    Настройка материала высокополигональной модели

    Стоит оговориться, что речь пойдёт о модели хайполи с высокой плотностью сетки, которая призвана проиллюстрировать навык дизайнера в рамках портфолио.

    В связи с этим, геометрия позволяет нам не использовать отдельную карту под Subsurface scattering, а просто выставить реальное значение рассеивания в соответствующем параметре, исходя из габаритов модели.

    Metallic, Transmission и Transmission Roughness мы не используем на теле вообще.

    Дальнейший процесс можно разделить условно на 2 этапа: работу над материалами для тела и зубов и настройку иллициев.

    Тело и зубы

    Для настройки материала тела мы используем обычный PBR-материал с Metal-Rough workflow или пайплайном. Карты экспортируем из упомянутого в начале статьи Substance Painter.

    Наш материал состоит из следующих нодов: Albedo или Base Color, Roughness и Normal Map. Последний используется для мелкой детализации.

    Что нужно знать при работе с материалом?

    Текстурные карты, которые не передают цвет материала, должны быть в линейном пространстве. Поэтому в Color Space текстур мы ставим:

    sRGB — для Albedo

    Non color , либо Liner — для Roughness, Normal и т.д. в зависимости от вашей сборки

    Эту конструкцию мы затем подключаем к Normal в Principled BSDF. Roughness (чёрно-белая карта, не требует манипуляций с каналами) подключается в соответствующий слот шейдера, так же как и Albedo (Base Color).

    Вот так выгладит готовая сборка материала:

    В случае с зубами настройки всё те же. Также флипаем при необходимости зелёный канал в нормалке.

    Пошаговое создание светящихся иллициев

    Рассмотрим, как распределить свечение по всей длине иллициев, — от наибольшей интенсивности к наименьшей.

    нижнего слоя — овалы внутри, дающие основное свечение на концах;

    среднего слоя — так же светящиеся трубки;

    верхнего слоя — внешняя оболочка иллициев.

    a) Нижний слой

    Как настроить свечение?

    Читайте также: