IPB   poser.su 
ГЛАВНАЯ ФОРУМЫ ИЗБРАННОЕ ГАЛЕРЕЯ УРОКИ ССЫЛКИ ПОИСК ПОЛЬЗОВАТЕЛИ   НАГРАДЫ ПРАВИЛА  
  Тема закрытаОткрыть новую тему
> перевод Basic Shader Mixer Tutorial
« Предыдущая тема | Следующая тема » Подписка на тему | Сообщить другу | Версия для печати
   
Admin
Пользователь в офлайне сообщение 5.3.2012, 20:04 Сообщение #1 Данные пользователяОтправить личное сообщениеОтветить с цитированием данного сообщения



Group Icon

Бот Админ
Сообщений: 1
Репутация:
  0  


Перевод left-handed





Daz Studio 3 Advanced:


Basic Shader Mixer Tutorial


В этом уроке речь пойдет о том, как создать основной шейдер, который позволяет синхронизировать каналы diffuse, specular, opacity, bump и displacement. Также Вы узнаете, как сохранить пресеты шейдеров.


Краткий обзор:


Сам шейдер мы создадим пошагово с помощью Shader Mixer. Вы увидите как можно сделать полную структуру шейдера.

Ниже представлен шейдер крупным планом.



























Это сновной блок шейдера в DAZ Студии. Вкладка Shader Mixer создает эту группу блоков по умолчанию при открытии. Если вы выбираете поверхность в DAZ Студии у которой имеется шейдер по умолчанию (например, новый примитив) и используете команду меню File-> From Scene..., то загружается этот шейдер.
Это дополнительные блоки, которые определяют изображения в каналах Diffuse Color, Specular Strength и Opacity Strength. Они не генерируются Shader Mixer по умолчанию, но если у Вас в изображении поверхности имеются эти каналы, то при загрузке поверхности из сцены в Shader Mixer эти блоки будут добавлены автоматически. Заметьте, что мы не стали добавлять блоки по всем возможным каналам, например, Specular Color. Их можно добавить позже. Я отредактировал заголовки блоков, чтобы их было легче идентифицировать (см. ниже).
Это блоки Reflection и Refraction. Если у 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 не затайливаются. Ниже мы исправим это.
Последние два блока, показанные здесь, соединяют затайливание всех других каналов. Первый блок является стандартным блоком Tiler. Блок Rotation является пользовательским блоком, и создается путем сборки из других блоков и используется как Групповая функция (см. ниже). Этот блок может быть сохранен Вами и в дальнейшем может использоваться в других блоках Shader Mixer.

Шаг 1 - генерирование основного шейдера.


Не смотря на то, что Shader Mixer может создавать пользовательские шейдеры "с нуля," сейчас для создания шейдера мы пойдем более легким путем. При загрузке материала из сцены в Shader Mixer, он автоматически сгенерирует шейдер, в котором будут содержаться блоки для всех каналов, имеющих ненулевые значения параметров. При нулевом или пустом значении параметров блок сгенерирован не будет. Для того, чтобы построить необходимый Вам шейдер сделайте в DAZСтудии в нужных каналах значения параметров, отличные от нулевых. В этом примере мы сгенерируем шейдер, который включает в себя Diffuse Color, Specular Strength, Opacity Strength, Bump Strength и Displacement Strength. Также мы кратко рассмотрим, как подключить Normal maps в наш шейдер.


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




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












C - посмотрите на вкладку View-> Tabs-> Surfaces. Во вкладке 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 по умолчанию, а не новым. Вероятно, вы захотите "закрепить" эту вкладку, и развернуть ее на весь экран насколько это возможно, для удобства работы.

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

Примечание: Это не стандартное меню File программы. У вкладки Shader Mixer есть свое собственное меню File. В появившемся раскрывающемся меню, материал будет выбран по умолчанию. Щелкните по "OK".



В результате Вы должны увидеть примерно следующее:



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









Поскольку мы установили значение Reflection Strength , но не устанавливали изображение для него, Shader Mixer создал блок Trace для управления отражением. Для генерирования карты отражения он пользуется содержанием сцены. Если Вы хотите связать силу отражения с основным блоком Tiler, например сделать определенные части выборочно отражающими, то должны вставить блок "Image" для "Reflection Strength" и перетащить вводы параметров S и T блока изображения к выводам S и T основного блока Tiler, но это переопределит возможность этого шейдера принимать отражения от сцены. В этом случае Вы должны будете создать карту изображения, чтобы использовать ее для отражений (или использовать no_pattern.jpg).


Обратите внимание на столбец слева от основного Вида Shader Mixer. Здесь мы можем отобразить "Brickyard", выбрать компоненты, которые могут использоваться для создания шейдера или посмотреть превью материала, похожее на имеющуюся во вкладке Surfaces Advanced.


Шаг 2 - редактирование основного шейдера.







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


B - Это - часть шейдера состощая из блоков, обрабатывающих Displacement, подредактированная немного для более ясного восприятия.




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



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


Ни один из блока в разделе Displacement не соединяется по умолчанию с блоком Tiler в остальной части шейдера, но это можно исправить. Откройте меню блока изображения и перейдите в режим "Show Advanced" для отображения параметров "S" и "T" (если они не отображены). Затем соедините вводы параметров S и T блока изображения с выводами S и T блока Tiler, соответственно.













Примечание: Если Вы установите изображение карты нормалей прежде, чем сгенерируете шейдер, то блок нормалей будет сгенерирован с его собственным параметром изображения, и его также можно соединить с блоком Tiler с использованием режима "Show Advanced" для вывода на экран параметров S и T. Можно удалить этот блок, если Вы не планируете использовать карты нормалей со своим шейдером. Карты нормалей являются специальными изображениями в которых используют цвета для представления различных направлений смещения поверхности. Они могут использоваться для генерирования более подробных сложных поверхностей, чем карты дисплейсмента, но для их воспроизведения необходимо специальное программное обеспечение.
B - Для сохранения шейдера нажмите на "Disk" в окне Shader Mixer. Полезно в процессе работы периодически сохранять шейдер. Примечание: сохранение шейдера не применяет его к сцене и не делает доступным к Вашей вкладке контента. См. Шаг 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, то к нему больше нельзя применить этот параметр.



A - Пример рендера - Попытка экспериментирования с настройками тайлинга ("Horizontal Tiles" и "Vertical Tiles"). Вы можете видеть, что можно изменить размер образца в заключительном рендере, включая все компоненты текстуры, но Вы не увидите эти изменения перед рендером. Изменения масштаба не выводятся на экран в окне предварительного просмотра.




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








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



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







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



.Можно также сохранить Material Presets для пропса или фигуры, в которых применить определенные пресеты шейдера к каждой зоне материала. Заметьте что, в то время как пресеты шейдера могут быть применены к любой зоне материала любого объекта, пресеты материала являются определенными только для конкретного объекта (пропса или фигура).


Шаг 6 - добавление основного шейдера.


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

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





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




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


/Users/[username]/Library/Application Support/DAZ3D/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 (см. выше).



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



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


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


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




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






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





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






 Назад в Уроки Подписка на тему | Сообщить другу | Версия для печати
  Тема закрытаОткрыть новую тему
 

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 Текстовая версия главная | форум | галерея | избранное | ссылки | уроки | пользователи | поиск |
Внимание! На сайте присутствуют и обсуждаются материалы, не желательные для прочтения несовершеннолетними. Заходя на сайт, Вы, тем самым подтверждаете, что Вам больше 18 лет.