Unity 6.3
0 онлайн 25 гостей 3 в системе
Вход

Сделайте GameObject совместимым с 2D огнями в URP

Сделать граф шейдера или визуального эффекта совместимым с 2D источниками света в Universal Render Pipeline (URP).

По умолчанию, спрайты и плитки, которые вы перетаскиваете в представление Scene, используют шейдер Sprite-Lit-Default, который уже совместим с освещением 2D.

Чтобы вручную настроить спрайт на использование шейдера Sprite-Lit-Default, выполните следующие действия:

  1. Выберите спрайт GameObject в окне Hierarchy.
  2. В окне Inspector в компоненте Спрайт-рендер выберите Материал picker ().
  3. Выберите материал Sprite-Lit-Default.

Создать пользовательский шейдер, который реагирует на свет 2D

Чтобы создать пользовательский шейдер, реагирующий на 2D свет, используйте Shader Graph.

Выполните следующие действия:

  1. В меню Ассеты перейдите в Создать > Shader Graph > URP > Sprite Lit Shader Graph.

  2. Откройте вновь созданный ассет графа шейдера.

  3. Добавить три узла Sample Texture 2D в граф шейдера.

  4. Установите Тип одного из новых узлов на Нормальный.

  5. Подключите выходы узлов к следующим слотам ввода контекста Фрагмента:

    • Первый узел типа По умолчанию: Подключите RGBA к Базовому цвету, затем подключите A к Альфа.
    • Вторая По умолчанию тип узла: Connect RGBA до Маска спрайта.
    • Нормальный узел типа: Соедините RGBA с Нормальный (Тангенсное пространство).
  6. Создать три Текстура 2D свойства путем выбора Добавить (+) на Доска, затем выбор Текстура 2D:
    • Основная Текстура MainTex: Определяет базовый цвет и прозрачность (альфа) спрайта.
    • Mask Texture MaskTex: Определяет области спрайта, которые должны быть видимыми или скрытыми с помощью пользовательской маски.
    • Нормальная карта NormalMap: Добавляет детали поверхности путем имитации изгибов и канавок, улучшая эффекты освещения на спрайте.
  7. Перетащите каждое свойство в рабочее пространство графа шейдера и подключите их к Текстура входные слоты в соответствующих Образец текстуры 2D узлов.

  8. Выберите Save Asset для сохранения шейдера.

    Граф шейдера, который позволяет спрайтам 2D реагировать на освещение. Три текстуры связаны с тремя узлами Образца Текстуры 2D. Третий узел имеет тип Нормальный. Узлы связаны с входами контекста Фрагмент.
    Граф шейдера, который позволяет спрайтам 2D реагировать на освещение. Три текстуры связаны с тремя узлами Образца Текстуры 2D. Третий узел имеет тип Нормальный. Узлы связаны с входами контекста Фрагмент.

Теперь вы можете применить граф шейдера к материалу и использовать его на спрайтах в сцене, позволяя спрайтам взаимодействовать с 2D источниками света.

Создайте график визуального эффекта, который реагирует на 2D свет

Чтобы создать график визуального эффекта, который реагирует на свет 2D, выполните следующие действия:

  1. Создайте график визуального эффекта и выберите шаблон Simple Loop.
  2. В графе визуального эффекта замените узел Output Particle Unlit узлом Output Particle Shader Graph Quad.
  3. В течение Выходная часть Shader Graph Квад узел, выберите Shader Graph подборщик ().
  4. В окне Select Shader Graph Vfx Asset выберите иконку глаза, чтобы показать скрытые пакеты.
  5. Выберите шейдер VFXSpriteLit.

Дополнительные сведения см. в Использование Shader Graph в визуальном эффекте.

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