Добавить карту нормалей или карту маски к спрайту в URP
Чтобы добавить детали поверхности, такие как изгибы, канавки и царапины, к спрайту 2D в Universal Render Pipeline (URP), добавьте следующие текстурные карты:
- Нормальное отображение для того, чтобы детали ловили свет от 2D света, как если бы они представляли реальную геометрию. Для более подробной информации, см. Введение в нормальные отображения.
- Маска для управления тем, какие области спрайта получают свет, для создания ярких точек, освещения края и теней.
Примечание: Добавление карты нормалей означает Unity добавляет глубину предварительного прохождения для каждой батча слоев, которая отображает текстуру рендеринга полного размера, что может снизить производительность.
В проектах 2D обычные отображения и отображения маски называются вторичными текстурами спрайта. Вы добавляете их, используя накладку Secondary Textures в окне Редактор спрайтов.
Примечание: Текстура карты маски, которую вы добавляете в качестве вторичной текстуры, отличается от маски спрайта вы используете для сокрытия или отображения частей спрайта.
Импорт текстурной карты
Чтобы импортировать карту текстуры, выполните следующие действия:
- Перетащите карту текстуры в окно Project, чтобы импортировать ее в проект.
- В окне Inspector установите Тип Текстуры на Нормальное Отображение для нормального отображения, или По умолчанию для отображения маски.
- Отключить sRGB (Цвет текстуры).
Чтобы убедиться, что освещение работает правильно, убедитесь, что ваша карта текстуры выравнивается с текстурой спрайта. Unity семплирует карты текстуры, используя те же ультрафиолетовые координаты, которые она использует для семплирования текстуры спрайта.
Добавить карту текстуры к спрайту
Добавить карту нормалей или карту маскировки в качестве Вторичной Текстуры в спрайт. Выполните следующие действия:
Убедитесь, что компонент Sprite Renderer спрайта использует материал, который поддерживает текстурные карты, например, материал по умолчанию
Sprite-Lit-Default. Для получения дополнительной информации см. Создание GameObject, совместимого с 2D в URP.Выберите оригинальную текстуру спрайта в окне Project, затем выберите Открыть редактор спрайтов.
-
Выберите вкладку Вторичные текстуры из раскрывающегося списка.
Unity отображает накладку Вторичные Тексты в правом нижнем углу окна Редактора Спрайтов.
В накладке Вторичные текстуры выберите кнопку Добавить (+) для добавления новой вторичной текстуры.
-
Выберите в раскрывающемся списке Имя, затем выберите _NormalMap для обычного сопоставления или _MaskTex для сопоставления с маской.
Примечание: В раскрывающемся списке могут быть также названия, используемые другими установленными вами пакетами Unity, даже если вы удалили эти пакеты.
Чтобы выбрать карту нормалей или карту маскировки, перетащите ее из окна Project в поле Текстура или выберите выборщик (⊙).
Выберите Применить.
Чтобы отобразить вторичную текстуру в окне Редактора спрайтов, выберите ее в накладке Вторичные текстуры. Чтобы снова отобразить текстуру спрайта, выберите любое место за пределами накладки.
Настроить свет 2D для использования карты текстуры
Чтобы проверить эффект отображения текстуры на текстуре спрайта под 2D светом, выполните следующие действия:
- Добавить 2D свет в сцену.
- Выберите светильник в окне Hierarchy, чтобы открыть его окно Inspector.
- Чтобы включить карту нормалей, в разделе Нормальные карты установите Использовать Нормальную карту на Быстрый или Точный.
- Чтобы включить карту маски, в разделе Слияние установите Стиль Слияния на Умножение с Маской (R) или Добавление с Маской (R).
Настройка освещения карты нормалей
Чтобы настроить качество эффекта обычной карты или изменить расстояние между светом и освещенным спрайтом, см. Свет 2D компонента для URP.
Следующие примеры показывают последствия изменения значений Расстояние.
Дополнительные ресурсы
- Вторичные текстуры — Светящиеся спрайты и 2D VFX урок на канале Unity YouTube
- 2D освещение для пиксельного искусства на сайте Unity Learn