Unity 6.3
0 онлайн 102 гостей 3 в системе
Вход
2D разработка игр Шаг 183 из 198

Добавить карту нормалей или карту маски к спрайту в URP

Чтобы добавить детали поверхности, такие как изгибы, канавки и царапины, к спрайту 2D в Universal Render Pipeline (URP), добавьте следующие текстурные карты:

  • Нормальное отображение для того, чтобы детали ловили свет от 2D света, как если бы они представляли реальную геометрию. Для более подробной информации, см. Введение в нормальные отображения.
  • Маска для управления тем, какие области спрайта получают свет, для создания ярких точек, освещения края и теней.

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

В проектах 2D обычные отображения и отображения маски называются вторичными текстурами спрайта. Вы добавляете их, используя накладку Secondary Textures в окне Редактор спрайтов.

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

Примечание: Текстура карты маски, которую вы добавляете в качестве вторичной текстуры, отличается от маски спрайта вы используете для сокрытия или отображения частей спрайта.

Импорт текстурной карты

Чтобы импортировать карту текстуры, выполните следующие действия:

  1. Перетащите карту текстуры в окно Project, чтобы импортировать ее в проект.
  2. В окне Inspector установите Тип Текстуры на Нормальное Отображение для нормального отображения, или По умолчанию для отображения маски.
  3. Отключить sRGB (Цвет текстуры).

Чтобы убедиться, что освещение работает правильно, убедитесь, что ваша карта текстуры выравнивается с текстурой спрайта. Unity семплирует карты текстуры, используя те же ультрафиолетовые координаты, которые она использует для семплирования текстуры спрайта.

Текстура спрайта камня и его карта нормалей с тем же положением и выравниванием.
Текстура спрайта камня и его карта нормалей с тем же положением и выравниванием.

Добавить карту текстуры к спрайту

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

  1. Убедитесь, что компонент Sprite Renderer спрайта использует материал, который поддерживает текстурные карты, например, материал по умолчанию Sprite-Lit-Default. Для получения дополнительной информации см. Создание GameObject, совместимого с 2D в URP.

  2. Выберите оригинальную текстуру спрайта в окне Project, затем выберите Открыть редактор спрайтов.

  3. Выберите вкладку Вторичные текстуры из раскрывающегося списка.

    Unity отображает накладку Вторичные Тексты в правом нижнем углу окна Редактора Спрайтов.

  4. В накладке Вторичные текстуры выберите кнопку Добавить (+) для добавления новой вторичной текстуры.

  5. Выберите в раскрывающемся списке Имя, затем выберите _NormalMap для обычного сопоставления или _MaskTex для сопоставления с маской.

    Примечание: В раскрывающемся списке могут быть также названия, используемые другими установленными вами пакетами Unity, даже если вы удалили эти пакеты.

  6. Чтобы выбрать карту нормалей или карту маскировки, перетащите ее из окна Project в поле Текстура или выберите выборщик ().

  7. Выберите Применить.

Чтобы отобразить вторичную текстуру в окне Редактора спрайтов, выберите ее в накладке Вторичные текстуры. Чтобы снова отобразить текстуру спрайта, выберите любое место за пределами накладки.

Настроить свет 2D для использования карты текстуры

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

  1. Добавить 2D свет в сцену.
  2. Выберите светильник в окне Hierarchy, чтобы открыть его окно Inspector.
  3. Чтобы включить карту нормалей, в разделе Нормальные карты установите Использовать Нормальную карту на Быстрый или Точный.
  4. Чтобы включить карту маски, в разделе Слияние установите Стиль Слияния на Умножение с Маской (R) или Добавление с Маской (R).

Настройка освещения карты нормалей

Чтобы настроить качество эффекта обычной карты или изменить расстояние между светом и освещенным спрайтом, см. Свет 2D компонента для URP.

Следующие примеры показывают последствия изменения значений Расстояние.

Грубая карта нормалей на трех круглых текстурах, все освещенные с правого нижнего угла. Расстояние установлено на 0.5, 2 и 8. Когда значение Расстояния меньше, свет выглядит ближе и выделяет детали карты нормалей под более резким углом.
Грубая карта нормалей на трех круглых текстурах, все освещенные с правого нижнего угла. Расстояние установлено на 0.5, 2 и 8. Когда значение Расстояния меньше, свет выглядит ближе и выделяет детали карты нормалей под более резким углом.

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

  • Вторичные текстуры — Светящиеся спрайты и 2D VFX урок на канале Unity YouTube
  • 2D освещение для пиксельного искусства на сайте Unity Learn