Сделайте GameObject совместимым с 2D огнями в URP
Сделать граф шейдера или визуального эффекта совместимым с 2D источниками света в Universal Render Pipeline (URP).
По умолчанию, спрайты и плитки, которые вы перетаскиваете в представление Scene, используют шейдер Sprite-Lit-Default, который уже совместим с освещением 2D.
Чтобы вручную настроить спрайт на использование шейдера Sprite-Lit-Default, выполните следующие действия:
- Выберите спрайт GameObject в окне Hierarchy.
- В окне Inspector в компоненте Спрайт-рендер выберите Материал picker (⊙).
- Выберите материал Sprite-Lit-Default.
Создать пользовательский шейдер, который реагирует на свет 2D
Чтобы создать пользовательский шейдер, реагирующий на 2D свет, используйте Shader Graph.
Выполните следующие действия:
В меню Ассеты перейдите в Создать > Shader Graph > URP > Sprite Lit Shader Graph.
Откройте вновь созданный ассет графа шейдера.
Добавить три узла Sample Texture 2D в граф шейдера.
Установите Тип одного из новых узлов на Нормальный.
-
Подключите выходы узлов к следующим слотам ввода контекста Фрагмента:
- Первый узел типа По умолчанию: Подключите RGBA к Базовому цвету, затем подключите A к Альфа.
- Вторая По умолчанию тип узла: Connect RGBA до Маска спрайта.
- Нормальный узел типа: Соедините RGBA с Нормальный (Тангенсное пространство).
- Создать три Текстура 2D свойства путем выбора Добавить (+) на Доска, затем выбор Текстура 2D:
- Основная Текстура
MainTex: Определяет базовый цвет и прозрачность (альфа) спрайта. - Mask Texture
MaskTex: Определяет области спрайта, которые должны быть видимыми или скрытыми с помощью пользовательской маски. - Нормальная карта
NormalMap: Добавляет детали поверхности путем имитации изгибов и канавок, улучшая эффекты освещения на спрайте.
- Основная Текстура
Перетащите каждое свойство в рабочее пространство графа шейдера и подключите их к Текстура входные слоты в соответствующих Образец текстуры 2D узлов.
-
Выберите Save Asset для сохранения шейдера.
Граф шейдера, который позволяет спрайтам 2D реагировать на освещение. Три текстуры связаны с тремя узлами Образца Текстуры 2D. Третий узел имеет тип Нормальный. Узлы связаны с входами контекста Фрагмент.
Теперь вы можете применить граф шейдера к материалу и использовать его на спрайтах в сцене, позволяя спрайтам взаимодействовать с 2D источниками света.
Создайте график визуального эффекта, который реагирует на 2D свет
Чтобы создать график визуального эффекта, который реагирует на свет 2D, выполните следующие действия:
- Создайте график визуального эффекта и выберите шаблон Simple Loop.
- В графе визуального эффекта замените узел Output Particle Unlit узлом Output Particle Shader Graph Quad.
- В течение Выходная часть Shader Graph Квад узел, выберите Shader Graph подборщик (⊙).
- В окне Select Shader Graph Vfx Asset выберите иконку глаза, чтобы показать скрытые пакеты.
- Выберите шейдер VFXSpriteLit.
Дополнительные сведения см. в Использование Shader Graph в визуальном эффекте.
Дополнительные ресурсы
- Создание и назначение материала
- Unity Shader Graph документация
- Доска в Shader Graph