Нодовый шейдинг

Главные вкладки

4

Исторически в MODO, вся существенная штриховка для поверхности была определена через Shader Tree, исключительно используя парадигму упорядочивания стека.

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

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

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

Shematic View, используемая чаще всего для риггинга и частиц, является интерфейсом управления, где определены графики штриховки. Важно понять сначала, что узловая штриховка не является заменой Shader Tree, а используется чтобы применить штриховку к фактическим поверхностям для рендеринга. Каждый график должен содержать по крайней мере один определенный элемент в Shader Tree. Таким образом, основной поток операций при определении узловой штриховки сводился бы к добавлению элемента в Shader Tree (помещен в целевую Material Group) и затем к нему был бы добавлен слой текстуры в Shematic View для дальнейшей настройки шейдера.

Основы построения графика

Работа с графиком узла становится более эффективной, только имея в наличии сразу несколько областей просмотра. Пользователи могут легко переключаться между Shader Tree, Schematic viewport и Channels list в рабочей области 'Render'. Это доступно в строке меню при "Layout > Layouts > Render" (или просто нажать вкладку 'Render' в рабочей области). Панель Schematic по умолчанию скрыта, она расположена внизу окна Preview на закладке 'Schematic'.

В рабочей области графика должно быть минимум два узла. Так как необходимо иметь по крайней мере один элемент в Shader Tree - является самым простым действием, чтобы создать любой новый график штриховки, добавляя туда начальный элемент. Как только элемент был добавлен (и, если необходимо, расположен соответственно по иерархии), то этот элемент может быть помещен в Shematic Viewport. Это можно сделать несколькими способами: либо используя технику Drag-and-drop, либо сделав левый клик по нужному слою в Shader Tree и удерживая кнопку мыши, перетащить элемент в Shematic Viewport, а затем отпустить кнопку мыши, чтобы непосредственно разместить элемент в Shematic Viewport, или просто выбирая нужный слой элемента в Shader Tree и используя кнопку 'Add Selected', которая расположена в Shematic Viewport.

Дополнительные узлы могут быть добавлены непосредственно в Shematic Viewport, используя кнопку 'Add'. Левый клик открывает всплывающее меню, где расположены все узлы, хотя пользователи будут главным образом придерживаться 'Channel Modifiers', пунктов меню 'Shading Inputs' и 'Shader Nodes' при работе с Nodal Shading. Выбор любого элемента в меню добавит его к Shematic Viewport. Созданный узел может быть легко перемещен при помощи левого клика по нему и не отпуская клавишу мыши медленным движением заголовка узла в новое расположение и затем отпускания кнопки мыши. Поток данных работает слева направо, поэтому при добавлении нескольких узлов в Shematic Viewport, лучше располагать их в порядке, с узлом конечного места назначения, перемещенным на самую далекую правую сторону области просмотра.

Недавно добавленный узел войдет или с его общими неповрежденными каналами или он мог бы войти без каналов вообще, в зависимости от свойства элемента. Каналы - фактические операторы в графике Узла и которые зависят от желаемого результата. Когда требуется определенный канал, то он может быть добавлен к узлу первым, выбрав целевой узел в Shematic Viewport, а затем выбрав один или несколько связанных с ним каналов в области просмотра ''Channels'. Используя метод Drag-and-Drop, присоединяя их к связанному элементу.

Последним шагом при создании графика узла является соединение каналов. Это действие создает фактический поток данных между элементами. Есть два типа основных соединений: ввод и вывод. У некоторых каналов будет только ввод или только вывод, или и то и другое. Каналы соединяются с правой стороны узла выводом к левой стороне другого узла, вводом. Соединение канала обозначается маленьким кругом на сторонах узла. Левый клик и перемещение произведут линию, которая визуально отображает соединение, перетаскивание линии от вывода до ввода (или наоборот) и отпускание кнопки мыши определяют фактическое соединение, фиксируя эту линию между каналами. Даже если узел будет перемещен, то линии будут корректироваться, обеспечивая сохранность соединения.

http://content.luxology.com.s3.amazonaws.com/docs/shading/NodalShadingBa...

http://content.luxology.com.s3.amazonaws.com/docs/shading/NodalShadingBa...

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

 

Основы нодового шейдинга

Знание основ графического соединения является простой частью, но не приносит много хорошего, если нет никакого знания базовой архитектуры. На его наиболее базовом уровне Nodal Shading - управление значениями на основе выбора. Чтобы понять его лучше, нужно мысленно разбить его в его две части: сначала "driving values". Значение (value) - просто числовое значение. У каждого элемента в Shader Tree есть несколько атрибутов - это параметры настройки, которые появляются в панели 'Properties' для каждого выбранного элемента. Таким образом, для элемента 'Material', это было быть средством управления 'Diffuse Color' или 'Reflection Amount'. Каждые из этих средств управления - фактический канал в элементе, где 'Channel' - просто любой атрибут, который может быть анимирован или как в нашем случае - контроллер.

В схематическом контексте, беря вывод RGB-цвета одного узла и соединяя его с вводом RGB другого цвета, сообщает каналу 'Diffuse color' канал, что входящее значение теперь управляет каналом. Цвет, определенный в Материале, перезаписываются значениями из входящего соединения. Так, в основном, любой канал, который соединен его вводом, управляется входящим значением. Управляемые каналы показаны в области просмотра Channels маленьким значком шестеренки со стрелкой.

Вторая часть отвечает за 'per sample'. Что такое выборка? При рендеринге изображения, если мы фокусируемся на единственном пикселе в данный момент, то этот пиксель составлен из нескольких значений выборок, чтобы достигнуть окончательного значения. Например, единственная работа хода луча запустит луч из камеры в сцену по прямой линии. Если луч достигает поверхность в 3D пространстве, то поверхность считается определенной, а чтобы узнать, на что это похоже, отвечая на такие вопросы, как например: каков цвет поверхностей?, действительно ли это блестящее?, отражающее?, а он в тени? Все эти различные свойства - отдельные выборки. Nodal Shading предоставляет пользователям доступ к демонстрационному механизму на этом субпиксельном уровне.

Обычно, эти все выборки получены непосредственно из параметров настройки, определенных в Shader Tree, но при помощи Nodal Shading вещи становятся действительно интересными, потому что пользователи могут использовать информацию из тех выборок непосредственно, могут воздействовать на их конечные результаты и затем применять эти результаты к различным атрибутам в целом. Выборки могут быть из нескольких источников и это то место, где Shader Inputs играют с настройками. Shader Inputs - информационные узлы сбора, выводят результаты из различных взятых выборок. Каждый, позволяет пользователям собирать определенную информацию о сцене и использовать то, что собрано, чтобы управлять чем-то еще.

Illuminate node оценивает, сияет ли свет на поверхности и насколько. Узел Ray Cast позволяет пользователям создавать лучи выборки, которые собирают информацию о поверхностях, с которыми взаимодействуют лучи. Узел Ray Tipe отделяет информацию о штриховке на основе фактического типа луча, вычисленного ранее, а Shader Inputs предоставляют фактическую информацию о шейдинге, т.е. является ли это поверхностью, частицей, объемным или текстурой.

Nodal Shading не должен быть графически сложным в лучах или выборках. Иногда простые операции - все, что требуется. В одном только Shader Tree пользователи ограничены доступными параметрами настройки 'Effects', которые могут быть присвоены для каждого слоя. Если бы каждая возможная перестановка эффекта была доступна, то получающимся списком было бы невозможно управлять. Намного больше контроля доступно с Nodal Shading. Просто, например, модулируйте сетки 'Line Width' текстурой, или даже углом наклона поверхностей или суммой освещения. Управление значениями за per sample, является довольно простым понятием, но также и невероятно мощным, когда используется максимально.

http://content.luxology.com.s3.amazonaws.com/docs/shading/ProceduralTex.mp4

4 Комментария

#

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

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

#

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

Автор

alexdesign

с mymodo 2131 день
769 7