среда, 7 июня 2017 г.

Шейдеры!

Вам кажутся ноды в Cycles немного запутанным? Вы не одиноки. Несмотря на то, что они предоставляют практически безграничный контроль над материалами, многие пользователи с трудом понимаю, что делать с этим лабиринтом вариантов. Именно поэтому эта статья осмеливается сделать невозможное: объяснить действие каждого шейдера простым русским языком.



Diffuse BSDF
Что он делает: Получает свет и распространяет его без видимых отражений.
Используйте его для: Не отражающих поверхностей, таких как бумага или стены. Или для смешивания с другими шейдерами.
Свойства
Шероховатость (Roughness)
Вы, возможно, регулировали этот слайдер уставившись на экран и были в замешательстве, потому как не могли заметить практически никаких изменений. На самом то деле изменения происходят, но они незначительны:
Шероховатость добавляет очень тонкие, микроскопические уровни шероховатости поверхности. Где это использовать? Везде, где нужен очень мелкий уровень шероховатости, который едва виден на глаз. Это могут быть такие объекты как ткань, необработанные лесоматериалы или песок:


Glossy BSDF

Что он делает: Отражает свет и окружающюю среду.
Используйте его для: Добавления отражения к любому объекту.
Это очень распространенный шейдер, который часто используется в сочетании с диффузным шейдером (с использованием Mix Shader, обсудим позже), чтобы создать некоторые общие материалы, такие как пластик, металл, керамика и дерево:
Свойства
Функция распределения
Проще говоря, это математика. Это способ рассчета «размытости». Какой Вы должны использовать? Ну, это зависит от ситуации, а также Ваших предпочтений. Я думаю, что Beckmann хорошо работает для металлов, а GGX хорош для всего остального. Ashikhmin-Shirley был добавлен сравнительно недавно и, кажется, это своего рода что-то среднее между ними. Стоит отметить, что Вы не увидите никаких изменений при значении шероховатости равным 0.
Шероховатость (Roughness)
Управляет тем, как размывается отражение, имитируя микроскопические неровности на поверхности:

Anisotropic BSDF
Что он делает: Ведет себя точно также же, как и шейдер Glossy, но искажает отражение в одном направлении.
Используйте его для: Полированных металлов или материалов, где свет должен отражаться равномерно, как на сковородке.
Свойства
Функция распределения
Тоже самое, что и для шейдера Glossy, только разница между ними в данном случае более заметна:



 Анизотропия (Anisotropy)
Значение от -1,0 до 1,0 контролирует степень растяжения. Отрицательные значения растягивают отражения по горизонтали, а положительные по вертикали. При значении 0 результат будет таким же, как если бы Вы просто использовали шейдер Glossy.
Вращение (Rotation)
Используется для поворота направления отражений. Диапазаон от 0 до 1 вращает от 0 до 360 градусов. Обычно регулируют данный параметр в диапазоне от 0 до 0,5, потому как при значении 180 отражение такое же как и при 360.
Тангенс (Tangent)
Tangent контролирует в направлении какой из осей использовать искажение отражения.

Z
Y
UV
Glass BSDF
Что он делает: Ведет себя как стекло. Искажает и отражает свет от поверхности в соответствии с индеком преломлления (IOR).
Используйте его для: Стекла, воды или любые другие отражающие и преломляющие свет 
материалы, такие как драгоценные камни.


Свойства

Функция распределения
Опять же, данная функция просто контролирует, какой алгоритм используется для вычисления внешнего вида отражений и преломлений, но в данном случае вариант Ashikhmin-Shirley недоступен.

Beckmann
GGX

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


Шероховатость 0
Шероховатость 0.2


IOR
Индекс преломления света контролирует насколько свет преломляется, как он проходит через поверхность, а также, насколько хорошо видны отражения.

Вы можете найти несколько списков значений индекса преломления для различных материалов в Интернете. Большинство из них немного отличаются, потому что IOR на самом деле изменяется в зависимости от того, насколько горячий материал. Вот список самых распространеных значений:
  • Вода: 1.33
  • Стекло: 1.5
  • Алмаз: 2.4
Refraction BSDF
Что он делает: Ведет себя точно так же, как шейдер Glass, но без компонента отражения.
Используйте его для: Особых случаев, когда Вам нужно преломлять свет, но не отражать его. Используется для создания тепловой деформации и черных дыр.


Transparent BSDF


Что он делает: Полностью прозрачный когда белый, окрашивает когда цветной.
Используйте его для: Сочетания с другими материалами, чтобы создать прозрачные части объекта.

Сам по себе он невидим и довольно бесполезен, но в сочетании с изображениями с альфа каналом он может быть использован для создания сложных объектов, таких как листья или волосы





Translucent BSDF


Что он делает: Позволяет свету проходить сквозь объект.
Используйте его для: Создания тонких объектов, таких как трава или бумага. Смешивают его с шейдером Diffuse для достижения более реалистичного результата/


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


Обратите внимание на то, как плоскость светится только тогда, когда свет попадает на нее сзади. Что здесь действительно важно, так это количество отскоков света. После того как свет попадает внутрь и мы позволяем ему «скакать» внутри объекта, часть света в последствии покинет объект и подсветит его передние грани:


Еще раз, он не особо полезен само по себе, но если сочетать его с диффузным шейдером, мы можем создать действительно интересные материалы.


Только Diffuse
Diffuse и Translucent
Только Translucent

Не следует путать его с Sub-Surface Scatting (рассмотрим ниже).
Используйте полупрозрачный шейдер только тогда, когда материал тонкий (бумага, трава, листья…).
Velvet BSDF

Что он делает: Изгибает свет вокруг объекта как настоящий бархат. Используйте для одежды и ткани.
Используйте его для: Одежды и ткани.
Вы можете думать о нем, как о шейдере Diffuse, но с большим темным пятном в середине:


Diffuse
Velvet

Свойства


Сигма (Sigma)
Контролирует значение шероховатости, тем самым изменяя размер темного пятна. Чем выше значения, тем меньше черное пятно.




Toon BSDF 

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


Компонент
Выбор между Diffuse и Glossy — разница в том, что диффузный вид независимая составляющая (появление определенной точки на поверхности не меняется, когда камера движется вокруг), а глянцевая зависит от вида.


Diffuse
Glossy

Размер (Size)
Настраивает размер формы круга. Обычно большой размер, используется для Diffuse, и поменьше для Glossy.




Diffuse с большим/маленьким размером круга
Glossy с большим/маленьким размером круга
Сглаживание (Smooth)
При использовании Glossy работает как контроль шероховатости и размывает отражения. Для Diffuse составляющей смягчает/размывает очертания круга.


Diffuse с большим/маленьким размытием
Glossy с большим/маленьким размытием
Subsurface Scattering


Что он делает: Имитация рассеивания света под поверхностью объекта.
Используйте его для: Кожи, воска, молока и многих видов продуктов питания.


Свойства


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




Масштаб (Scale)
Управляет тем, насколько далеко свет может рассеиваться сквозь поверхность.


Радиус (Radius)
Еще один способ контролировать рассеивание света, только на этот раз с отдельными значениями для красного, зеленого и синего каналов. Это означает, что мы можем подкрасить рассеянный света определенным цветом, например, как кожа рассеивает более красный свет. Обратите внимание, что Вы можете подключить изображения к данному разъему.


Справа радиус для красного канала больше
Четкость (Sharpness)
Данная опция доступна только при использовании Cubic Falloff. Она не делает острые края слишком мягкими, но может уменьшить количество темных кромок.


Размытие текстуры (Texture Blur)
Очевидно, что это используется, чтобы размыть текстуру (все что подключено к входу цвет), но это, вероятно, не то, что вы ожидаете. Радиус размытия остается постоянным, так же, как и на входе Scale. Этот ползунок контролирует, сколько размытия смешивается с исходной текстурой. При значении 0,0 у Вас обычная чистая текстура, а при 0,5 у Вас половина чистой текстуры и половина размытой исчезающей на вершине объекта. При 1,0 Вы можете видеть только размытую текстуру. Это означает, что цвета текстуры будут размытыми под поверхностью объекта. Скорее всего Вам не придется часто использовать этот параметр так, как кожа создается с помощью фотографий, которые уже включают в себя эффект размытия.


Emission


Что он делает: Излучает свет и бросает его на окружающие предметы.
Используйте его для: Объектов которые должны излучать свет. Такие как: лампочки, искры, огонь или просто в качестве источника света.
Свойства


Сила (Strength)
Интенсивность/яркость излучаемого света.



Background


Одна и та же сцена с разными HDR


Этот шейдер доступен только при выборе нодов мира и используется, чтобы излучать свет окружающей среды. Вы можете использовать его, чтобы добавить текстуру неба или HDR-изображение для освещения сцены.
Hair BSDF



Что он делает: Поглощает и отражает свет, но специфическим образом.
Используйте его для: Волос и меха.
Этот шейдер как смесь диффузного, полупрозрачного и анизотропного шейдеров. Вообще, волосы головная боль в CG. Их очень трудно создать и уложить должным образом, а также трудно отрендерить так, чтобы они выглядели естественно. Происходит это все из-за того, что это слишком маленький геометрический объект и их слишком много.Данный шейдер не волнует тот факт, как должна выглядеть отдельная прядь. Он занимается визуализацией всего объема волос одновременно и добивается общего реалистичного результата. Да, Вы можете создать довольно хороший материал для волос с помощью диффузного, глянцевого и прозрачного или SSS шейдеров, но на это потребуется очень много времени во время рендеринга. Вместо этого, этот шейдер делает некоторые очень умные приближения того, как каждая прядь выглядит издалека. При близком расстоянии пряди волос выглядят ужасно, поэтому даже не думайте об использовании его на нормальной геометрией, но при использовании на большом количестве волос он работает очень хорошо.
Свойства


Компонент
Компонент Reflection отражает свет от поверхности волос. Transmission пропускает свет который проходит через волосы и выходит с другой стороны. Большую часть времени вы будете использовать два узла Hair BSDF: один с Reflection, другой с Transmission и смешать их вместе.


Transmission
Reflection
Смещение (Offset)
Помните свойство Rotation анизотропного шейдера? Это тоже самое, но с другим именем и измеряется в градусах. Волосы по своей природе являются направленной вещью. И таким образом отражение/пропускание света будет искажено в одном направлении. Смещение позволяет нам контролировать вращение этого направления.


Вверху Reflection с увеличенным смещением
Внизу Transmission с увеличенным смещением
Шероховатость U/V (Roughness U/V)
Другое несоответствие с шейдером Anisotropic — эти два свойства контролируют шероховатости в направлении перекоса света и перпендикулярно к нему. Инвертирование данных значений будет иметь тот же эффект, что и установка смещения на 90 градусов. Но, конечно, это также позволяет нам сделать волосы более или менее блестящая и контролировать силу эффекта анизотропии.
Ambient Occlusion


Что он делает: Рассчитывает темное затенение в углах и щелях.
Используйте его для: Подчеркивания точек соприкосновения и фальсификации освещения.
AO означает Ambient Occlusion и обычно используется для целых сцен с использованием прохода рендера. Но вы также можете использовать его лишь для какого-то одного объекта.



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



Цвет (Color)
Это цвет светлой части AO (затенение всегда черное).


Holdout



Что он делает: Создает прозрачную дыру в Вашем рендере.
Используйте его для: Используется в композитинге. Например создать объект, который отбрасывает тень, но при этом не блокирует остальные 3D-объекты за ним.
Чтобы объект бросал тень, но оставался при это прозрачным, необходимо отметить пункт Transparent на вкладке рендера в меню Film.
Volume Absorption

Что он делает: Влияет на объем материала постепенно поглощая освещение (чем глубже, тем темнее).
Используйте его для: Грязной воды, окрашенной жидкости или стекла.
В отличие от предыдущих шейдеров, этот не влияет на поверхность объектов, а лишь на их объем. И в данном конкретном случае он медленно поглощает свет, чем глубже тот проходит сквозь объект.
Свойства


Плотность (Density)
Управляет толщиной объема. Чем выше плотность, тем больше света поглощается и тем темнее и насыщеннее цвет.


Volume Scatter


Что он делает: Рассеивает свет который проходит через объект.
Используйте его для: Облаков, дыма и тумана.
Как и в предыдущем случае, данный шейдер влияет не на поверхность, а на объем. Подключив данный шейдер к Вашему объекту Вы превратите его в облако и свет будет проходить сквозь него и вокруг него. Но будьте осторожны с ним. Он значительно увеличивает время рендеринга :)


Свойства


Плотность (Density)
Данная опция контролирует плотность объема. Чем выше значение, тем меньше света будет проходить сквозь объект.



При очень высоких значениях объект будет выглядеть практически как с диффузным шейдером.
Анизотропия (Anisotropy)
Это свойство управляет видимостью объема в зависимости от положения камеры и источника света. Отрицательные значения рассеивают свет позади объекта, а положительные в его передней части. Это означает, что если свет и камера находятся в одном месте (например, оба спереди), то объем будет лучше заметен с отрицательными значениями. Если свет и камера находятся в разных местах (как если бы Вы смотрели на солнце), объем будет более заметен с положительными значениями. Это легче понять визуально:



Mix Shader


Что он делает: Объединяет два шейдера вместе.
Используйте его для: Почти всего. Он смешивает свойства двух шейдеров вместе, что имеет важное значение в реальном мире.
В реальном мире практически не существует материалов обладающих свойствами одного шейдера. Всегда присутствуют различные свойства. Например, керамическая кружка помимо рассеивания света (diffuse), также его отражает (glossy


Тоже самое применимо и к дереву. В основном оно состоит из диффузного шейдера, но также присутствует отражение.


Даже кусок стекла не только отражает и пропускает свет, но немного поглощает его (volume absorption).



Add Shader
Что он делает: Сочетает в себе шейдеры вместе + добавляет их значения света (фактически нарушая законы физики).
Используйте его для: Специальных материалов, в которых необходимо объединить два световых значения и они не должны быть фотореалистичными.
В реальном мире, количество света, которое отражается от поверхности не может быть больше, чем количество света, которое попало на поверхность. Но с помощью Add Shader мы можем добиться этого. Если мы соединим Diffuse и Glossy шейдеры вместе, мы в два раза увеличим количество энергии, что физически невозможно, но полезно для некоторых материалов. Например, если Вы хотите объединить красные, зеленые и синие шейдеры стекла для создания эффект дисперсии.


Add Shader: Diffuse + Glossy (нереалистично)
Mix Shader: Diffuse + Glossy
Он может быть использован в некоторых случаях, но только там, где Вы знаете, что Вы делаете или, если намеренно хотите нарушить правила для творческой свободы. Случаи в которых необходимо использовать Add Shader:
  • Чтобы придать цвет шейдеру Volume Scatter с помощью Volume Absorption.
  • Для двух шейдеров, которые излучают свет, такие как Emission и Background.
  • Там где энергия должна сохраняться, как в случае с дисперсией света.
Ну вот и все! Надеюсь теперь у Вас есть четкое понимание того, что делают шейдеры в Cycles.

































Комментариев нет:

Отправить комментарий