Engine & platform

Новые примеры функций Shader Graph в 2022 LTS

BEN CLOWARD Senior Technical Artist
Mar 19, 2024|5 Мин
Новые примеры функций Shader Graph в 2022 LTS
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Команда Shader Graph с радостью сообщает о выходе нашего нового набора образцов, которые теперь доступны для импорта в 2022 LTS и Unity 6 Preview (2023.3).

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

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

Вот полный список категорий образцов.

Смешивание масок: Этот набор подграфов маски смешивания включает в себя смешивание высоты, смешивание угла, смешивание расстояния до камеры и смешивание высоты.

Категория образцов Blend Masks

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

Категория образцов с условным ветвлением

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

Категория образцов пользовательского интерполятора

Индивидуальное освещение: Многие из вас просили дать возможность настроить работу освещения в Shader Graph, чтобы удешевить рендеринг или добиться уникального художественного стиля проекта. Эти примеры показывают, как это можно сделать, и включают в себя пример освещения PBR, простого освещения и шейдера cel.

Категория образцов освещения на заказ

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

Подробные карты категории образцов

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

Категория образцов "Процедурные шумы и фигуры

Примеры функций шейдерного графика: В Shader Graph есть несколько функций, которые могут оказаться сложными для освоения, например, выпадающие подграфы и ветвление на основе входного соединения. В этом разделе приведены примеры того, как можно использовать эти возможности для повышения полезности подграфов.

Категория примеров примеров Shader Graph Feature

Ультрафиолетовая проекция: Большой набор функций основан на работе с УФ-координатами, включая наложение флипбука, отображение потока, отображение внутреннего куба, проекцию широты и долготы, проекцию маткапа или сферы, отображение параллакса и трипланарное проецирование. В этом разделе представлены все эти эффекты.

Категория образцов для ультрафиолетовой проекции

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

Категория образцов вершинной анимации
Как установить примеры активов

Установите новые образцы активов с помощью менеджера пакетов.

В редакторе откройте Менеджер пакетов.

В меню "Окно" отображается пункт "Менеджер пакетов

2. В окне менеджера пакетов выберите пакет Shader Graph.

Окно менеджера пакетов с выбранным пакетом Shader Graph

3. Выберите вкладку Образцы.

Кнопка импорта

4. Наконец, нажмите кнопку Import в разделе Feature Examples, чтобы перенести новый набор примеров в ваш проект.

После выполнения этих шагов активы Feature Examples появятся в вашем проекте в разделе Assets/Samples/Shader Graph/<ваша версия>/Feature Examples.

Расположение эталонных образцов узлов в окне проекта

После импорта образцов откройте сцену, соответствующую используемому конвейеру рендеринга (High Definition Render Pipeline, или HDRP, Universal Render Pipeline, или URP, или Built-in Render Pipeline) в папке Scenes.

Выбор нужной сцены для открытия в окне проекта

После открытия сцены выберите актив Shader Graph Feature Samples Showcase на панели Hierarchy, а затем следуйте инструкциям в Инспекторе.

Выбор актива "Витрина" в верхней части панели иерархии
Панель гида, которая появляется при выборе актива "Витрина".

Вы можете использовать выпадающее окно Samples, чтобы выбрать образец и перейти к этому месту в сцене.

Что нового в Shader Graph

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

Дополнительные ресурсы

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

Мы будем рады услышать ваши мысли и впечатления об этих образцах - расскажите нам о них на форуме Shader Graph.