суббота, 1 июля 2017 г.

Базовый урок Shader Mixer

Эта урок покажет, как создать базовый шейдер, позволяющий синхронизировать тайлинг из diffuse, specular, opacity, bump и displacement каналов. Также Вы узнаете, как сохранять пресеты шейдера.

Обзор:

Шейдер, который мы будем создавать в Shader Mixer, будет похож на тот, что на рисунке ниже, после завершения. Это - уменьшенное изображение для получения всей структуры шейдера. Изображения крупным планом будут предоставлены ниже.




Это - базовый шейдер, предоставляемый Daz. Вкладка Shader Mixer создаст эту группу блоков по умолчанию, после открытия. Если Вы выбираете поверхность в DS3A с шейдером по умолчанию (например, нового примитива) и использование меню File-> From Scene..., это шейдер, который будет загружен.

Это дополнительные кирпичики, позволяющие изображению быть определенным в Diffuse Color, Specular Strength и Opacity Strength каналах. Они не будут сгенерированны в Shader Mixer-е по умолчанию, но если Вы добавите карту изображения к этим каналам на поверхности по умолчанию и, затем, загрузите эту поверхность из сцена в Shader Mixer, эти блоки будут автоматически добавлены. Обратите внимание на то, что мы не добавили кирпичики изображения ко всем возможным каналам, например, Specular Color. Вы можете добавить их позже. Я отредактировал заголовки у блоков изображения чтобы их можно было легче идентифицировать (см. ниже).

Это блоки Refraction и Reflection. Если Reflection или Refraction установлены на ненулевые значения, и карте изображения присваивается Reflection Strength и Refraction Strength на шейдере по умолчанию, эти блоки будут сгенерированы Shader Mixer-ом, когда поверхность загрузится. По умолчанию, они рисуют их изображение для сцены самостоятельно. Также возможно передать в изображении используя кирпичик Image и этот кирпичик сгенерируется, если изображение присвоить каналам Reflection или Refraction. Существует ошибка в обработке Shader Mixer-ом изображения Reflection, который предотвращает надлежащее мозаичное размещение этих изображений [см. https://bugs.daz3d.com/view.php? id=37757 для деталей], таким образом, они не включены в эту сеть шейдера.

Это блоки, управляющие Bump и Displacement. Снова, они будут сгенерированный Shader Mixer-ом, если только каналам Bump и  Displacement будет присвоено изображение. Обратите внимание на то, что Bump и Displacement управляются отдельным кирпичиком Root. По умолчанию, Bump и Displacement не размещаются рядом. Мы исправим это ниже.

Последние два кирпичика, показанные здесь, соединяют мозаичное размещение всех других каналов. Первый кирпичик - стандартный Tiler. Кирпичик Rotation является пользовательским, создаваемый путем сборки других кирпичиков и использованием функцией Group (см. ниже). Этот кирпичик может сохраняться в Вашей области User и использоваться в других сетях Shader Mixer-а.


Шаг 1 - Генерация базового шейдера:

Несмотря на то, что Shader Mixer может использоваться для создания пользовательских шейдеров «с нуля», нам будет удобнее использовать ярлык для запуска нашей сети шейдера. Shader Mixer автоматически сгенерирует сеть, содержащую кирпичики для любых ненулевых значений введенный шейдер по умолчанию появляется, когда та поверхность загружается в Shader Mixer из сцены. Любое нулевое или пустое значение на поверхности не генерирует кирпичики. Таким образом для создания стартовой сети, поддерживающей все значения шейдера Daz Default Shader - ненулевые, непустые значения во всех каналах. В этом примере мы сгенерируем шейдер, включающую Diffuse Color, Specular Strength, Opacity Strength, Bump Strength и Displacement Strength. Мы также кратко рассмотрим как включить карты Normal в наш шейдер.

A - Создайте новый примитив



B - Выберите примитив и поверхность. Откройте вкладку Scene и выберите объект, затем откройте вкладку Surfaces и выберите поверхность или используйте инструментами Object Selection и Surface Selection (Доступные в меню Tools)




C - Посмотрите на вкладку Surfaces: View->Tabs->Surfaces. Во вкладке Surfaces, нужно быть уверенным, что Вы щелкнули по подвкладке Advanced. Во Вкладка Surfaces Advanced,  присвойте изображение и значение к каждому каналу, который Вы хотите включить в сеть  шейдера, кликая по указывающему вниз треугольнику рядом с параметром файла. Определенное изображение не имеют значения. Здесь, я использую изображение no_pattern.jpg включенное в этот урок, которая является просто небольшим белым квадратом. Я присвоил его к Diffuse Color, Specular Strength, Opacity Strength, Bump Strength, и Displacement Strength. Я  установил Bump Strength, Displacement Strength, и Reflection Strength на 100%. Я также включил файл no_pattern.jpg в Normal Map, хотя мы не будем делать с ним в этом примере.



D - Откройте вкладку Shader Mixer. (View->Tabs->Shader Mixer[BETA]). На вкладке откроется сеть шейдера Daz Default Material. Вы вероятно, захотите «прикрепить» эту вкладку и развернуть ее таким образом, она занимала как можно больше экрана, чтобы дать себе простор для работы.

E - На вкладке Shader Mixer используйте команду меню File->From Scene...


Примечание: Это не стандартное Меню файла приложения. Вкладка Shader Mixer имеет свое собственное меню File. В раскрывающийся, который появляется, Материал будет выбран значение по умолчанию. Нажмите «OK».



Полученная сеть будет выглядеть примерно так:



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

Это выглядит сложно, но все здесь довольно логично. Когда мы исследуем первые несколько кирпичиков, мы увидим, что для каждого канала, которому мы присвоили изображение, был создан кирпичик Image, и все эти кирпичики изображения были соединены назад к кирпичику Tiler за исключением Bump и Displacement Image и Normal Map.


Поскольку мы устанавливаем значение Reflection Strength, но не устанавили изображение для Reflection Strength, Shader Mixer создает кирпичик Trace, чтобы управлять reflection. Он необходим для генерации карт reflection. Если Вы захотите связать силу reflection с основным кирпичиком Tiler, например для создания определенной части мозаичного размещения, что-то отражающей, Вы можете сделать это как путем вставки кирпичика «Image» для «Reflection Strength» и перетаскивающий от параметра inputs S и T этого кирпичика изображения к outputs S и T основного кирпичика Tiler , но это переопределит возможность этого шейдер для принятия отражений из сцены.

Вы должны будете создать карту изображения для использования отражений в этом случае (или использовать no_pattern.jpg).

Отметьте столбец слева основного Shader Mixer View. Мы можем вывести на экран «Brickyard», выбирая компоненты, которые могут использоваться для создания шейдеров, или мы увидим предварительный просмотр вкладки Surfaces Advanced, как то, когда мы возвращаемся к редактированию нашей сцены.



Шаг 2 - Редактирование базового шейдера:

A - кирпичики Image, создаваемые Shader Mixer-ом не имеют уникальные имена. Это не влияет на функции шейдера, но может сделать сеть, запутывающей для работы.



Вы можете дать каждому кирпичику Image более понятные имена при помощи выпадающее меню на кирпичиках.

:
B - Это - раздел сети Displacement, немного для ясности отредактированный.



Снова, это требует своего собственного Корневого кирпичика Displacement. Два кирпичика Displace-Standard построены последовательно, и они принимают input от кирпичиков Image. (По умолчанию, кирпичики Displace-Standard и Image загружаются поверх друг друга, что мешает понимать эту часть сети шейдера. Я изменил местоположение кирпичиков и переименовал кирпичики Image в «Bump Image» и «Displacement Image» для их большей очевидности.) Bump Image питается от параметра «Displace»  первого кирпичика Displace-Standard, влияющего на то, как тени вычисляются на поверхности, но фактически. не изменяет точку позиции на  поверхности. (Значение N используется для интерпретации, в каком направлении точка «обращена» во время рендеринга, влияющее на освещение.)

Изображения Displacement и Normal питаются от второго кирпичика Displace-Standard, который, в свою очередь, питается от параметра P, влияющего на расположение точек на поверхности в заключительном рендеринге. Displacement и Normal также питаются от первого кирпичика Displace-Standard и влияют на тени.

Напоминание: Bump, Displacement, и Normal не видны в режиме предварительного просмотра. Они вычисляются во время рендеринга. По умолчанию, уровень яркости в Displacement Image измененяют исходящий или входящий перпендикуляр этой точки на поверхности объекта в эту точка, но этим можно управлять дополнительными узлами.

Ни один из кирпичиков в секции displacement не подключен, по умолчанию, с кирпичиком Tiler в остальной части шейдера, но это можно исправить. Сделайте так, чтобы параметры «S» и «T»  были видны в кирпичиках Image (если они уже не видимы) путем щелчка по меню кирпичика и выбора «Show Advanced». Затем перетащите от входного кирпичика Image, параметры S и T назад к outputs Tiler S и T, соответственно.


Примечание: Если Вы устанавливаете изображение normal прежде, чем сгенерировать шейдер, a кирпичик Normal будет сгенерирован с его собственный параметр изображения и это, также, может быть подключен к Tiler кирпичик при помощи «Show Advanced» выведите на экран S и параметры T. Вы можете удалить этот кирпичик если Вы не планируйте использовать карты Normal в этом шейдере. Карты Normal - специальные изображения, использующее цвета для представления различных направлений displacement на поверхности. Они могут использоваться для генерирования более подробных и сложных поверхностей, в отличии от карт displacement, но для их создания необходимо особенное программное обеспечение.



C - Вы можете сохранить свою сеть шейдера кликом по значку «Disk» окна Shader Mixer. Может быть полезным сохранить этот путь при работе над сетью. шейдера.

Примечание: сохранение Вашей сети шейдера не применяет шейдер к Вашей сцене и не делает его доступным во вкладке Content. См. Шаг 3.



Шаг 3 - Применение базового шейдера:

A - Для применения новой шейдера к объекту в текущей сцене сначала выберите поверхность объекта в правом окне предварительного просмотра (инструмент Surface Selection будет автоматически установлен), затем нажмите кнопку «Apply» на вкладке Shader Mixer:



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

Шаг 4 - Корректировка базового шейдер:


A - Наш текущий шейдер не выглядит очень захватывающим, потому что у нас все еще используется «no_pattern.jpg» графический выбранный для всех изображений. Давайте добавим некоторые изображения к нескольким каналам. Здесь, я имею добавленные изображения в каналы: Diffuse Color, Specularity Strength, Bump Strength и Displacement Strength. Я также установил значения Bump Strength и Displacement Strength на 100%. Я переключил изображение Opacity Strength на «none» для создания куба проще посмотрите в окне предварительного просмотра, и я установил значение Reflection Strength на 0 для ускорения рендеринга.



Изображения содержатся в этой обучающей программе, в Runtime/Textures/zigraphix.

Обратите внимание на то, что, так как мы не присоединяли кирпичики изображения к Diffuse Strength, для примера, можете не надолго взять любой параметр изображения.

B - Демонстрационный рендеринг - Попытка, экспериментирующая с настройками тайлинга («Горизонтальный Тайлинг» и «Вертикальный Тайлинг»). Вы будете видеть, что можете изменять размеры образца в заключительного рендеринга, включая все компоненты текстуры, но Вы не увидете изменения перед рендерингом. Масштабирующиеся изменения не выводятся на экран в предварительном просмотре
окно.

 


Шаг 5 - сохранение пресета шейдера:


L - В этот момент, Ваша работа может быть сохранен как пресет шейдера  (который
автоматически включает в себя: всю сеть Shader Mixer-а, все выбранные изображения и числовые настройки).


 


Сейчас Вы можете настроить пресет шейдера для включения только определенных настроек, например, параметры масштабирования, что является самым простым записать все параметры. Вы можете сохранить скрипт .dsa где угодно, но это имеет большую часть смысла сохранить его в подпапку a
папке Content определяется в Daz Studio Preferences. Тогда  он появится во вкладке Content.

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


Здесь, я создал и применил несколько различных пресетов с помощью скоординированных diffuse, bump и карт displacement в ресурсах текстур Dark Designs от Laurie_S и Moyra.



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

Обратите внимание на то, что в то время как Пресеты шейдера можно примениться к любая зоне материала любого объекта, Пресеты Материалов являются определенными для конкретного объекта (предмета или персонажа).


Шаг 6 - Добавления к базовому шейдеру:

Давайте добавим еще одну опцию к нашему шейдеру. Поскольку это теперь, наша шейдер может применить любой тайлинговый узор, размещенный рядом через зону материала и кирпичик tiler, включая функциональность, что позволяет нам масштабировать по осям горизонтали и вертикали (u и v) , но узор всегда находится в том же направлении. Мы хотим иметь возможность поворачивать узор в сцене. Для этого мы будем использовать специальный кирпичик «Rotator», включенный в этот урок.

Кирпичик Rotator является по-настоящему «сгруппированным» набором кирпичиков, использующих тригонометрические вычисления в каждой точке в тайле для определения ее позиций вращения:



К счастью, Вам не надо понимать вычисления для использования кирпичика. Просто загрузитесь его в Ваш шейдер путем клика правой кнопкой (Кликните при нажатой клавише Ctrl в OSX, если у Вас однокнопочная мышь) в сети шейдера:



Щелкнуть правой кнопкой

Примечание: установщик урока должен был добавить этот кирпичик в Вашем меню  Insert Brick->User context. Вы можете также установить его вручную путем копирования файла rotator.dcb в надлежащий каталог. На MAC OSX Shader Mixer сохраняет кирпичики здесь, по умолчанию:

/Users/[username]/Library/Application Support/DAZ 3D/Studio3/ShaderMixer/Menus

На Windows XP расположение, по умолчанию, здесь:

c:\documents and settings\[username]\Application Data\DAZ 3D\Studio 3\ShaderMixer\Menus

И на Vista/Windows 7, расположение, по умолчанию, здесь:

c:\users\[username]\AppData\Roaming\DAZ3D\Studio3\ShaderMixer\Menus

Удостоверьтесь, что параметры «S» и «T» видны в Вашем кирпичике Tiler (если они не уже видимый) путем щелчка по меню кирпичика и выбора «Show Advanced»:



Теперь включите кирпичик Rotator в кирпичик Tiler как показано:



Примените измененный шейдер к поверхности на Вашей сцене как в Шаге 3, выше.

Вы теперь будете видеть новый параметр «Pattern Angle» на вкладке Surfaces.



Этот параметр позволит Вам определять число на которое узор должен быть повернут, в градусах (т.е. от 0 до 360).

Примечание: Как и с масштабированием узора, Вы не увидете вращение в окне предварительного просмотра. Во время рендеринга оно будет вычислено.

Поздравляю! Вы теперь создали гибкий тайлинг, вращающийся шейдер к которому Вы можете легко применить любые текстуры и скоординированные bump, specularity, и displacement отображающиеся на любой поверхности. Как дополнительная премия, несколько демонстрационных наборов текстур с пресетами шейдера предоставлены в этом пакете для экспериментов. Наслаждайтесь!

Вот несколько дополнительных экспериментов, которые Вы захотели бы попробовать:

Удалите все различные кирпичики Image за исключением одного и подключите этот один кирпичик Image ко всем image inputs в Вашем шейдере. Выберите черный цвет и белый или полутоновое изображение для этого кирпичика, и примените шейдер к поверхности в Вашей сцене. Рендеринг.



Инвертируйте некоторые изображения путем размещения кирпичика «Math2» между кирпичиком изображения и input одного из других узлов, например, Diffuse или Specular Strength. Поместите значение 1 в первый параметр и input узла Image во второй параметр, и выбирают «Subtract» из выпадающей меню Operation.



Смешайте два изображения вместе с помощью  кирпичика Math Mix установите Layer Multiply.



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

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

Примечание. Отправлять комментарии могут только участники этого блога.