Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Исправление наложения карты освещения UV

Каждая карта освещенияпредварительно обработанная текстура, содержащая эффекты источников света на статических объектах сцены. Карты освещения накладываются поверх геометрии сцены для создания эффекта освещения. Подробнее
См. в Словарь
содержит ряд диаграмм . Во время выполнения Unity сопоставляет эти диаграммы с сеткойосновным графическим примитивом Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
Посмотреть в Словарь
лица и использовать данные освещения диаграмм для расчета окончательного внешность. Из-за того, как работает выборка графического процессора, данные с одной диаграммы могут накладываться на другую, если они расположены слишком близко друг к другу. Обычно это приводит к непреднамеренным артефактам, таким как псевдонимы, пикселизация и т. д.

Пример графических артефактов из-за растекания диаграммы
Пример графических артефактов из-за растекания диаграммы

Во избежание легкого размытия между диаграммами должно быть достаточно места. Когда GPU производит выборку карты освещения, система освещения вычисляет окончательное значение выборки из четырех текселей, ближайших к точке выборки (при условии, что используется билинейная фильтрация). Эти четыре тексела называются билинейной «окрестностью» точки выборки. Диаграммы располагаются слишком близко друг к другу, если они перекрываются, то есть если окрестности любой точки внутри диаграммы перекрываются с окрестностями любой точки на другой диаграмме. На изображении ниже белые пикселинаименьшие единицы компьютерного изображения. Размер пикселя зависит от разрешения вашего экрана. Пиксельное освещение рассчитывается для каждого пикселя экрана. Подробнее
См. в Словарь
 – это окрестности диаграммы, а красные пиксели — перекрывающиеся окрестности.

Красные пиксели обозначают перекрывающиеся окрестности диаграммы
Красные пиксели обозначают перекрывающиеся окрестности диаграммы

Определить оптимальное расположение и расстояние между диаграммами может быть сложно, так как это зависит от нескольких параметров (таких как разрешение карты освещения, UV сетки и настройки Importer). По этой причине Unity позволяет легко выявлять такие проблемы, как описано в следующем разделе.

Идентификация

Есть три способа определить перекрытия:

  • Следите за консолью Unity. Если Unity обнаруживает перекрывающиеся UV-развертки, она печатает предупреждающее сообщение со списком затронутых GameObjectsОсновной объект в сценах Unity, который может представлять персонажи, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
    См. в Словарь
    .

  • Используйте режим рисования UV Overlap в СценеСцена содержит среды и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
    См. в виде Словарь
    (см. GI-визуализации в представлении "Сцена" для получения дополнительной информации). Когда этот режим включен, Unity добавляет красную подсветку к текселям диаграммы, которые находятся слишком близко к текселям других диаграмм. Это особенно полезно, если вы обнаружили артефакт в виде сценыинтерактивном представлении мира, который вы создаете. Вы используете Scene View для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Подробнее
    Посмотрите в Словарь
    и хотите быстро проверить, не вызывает ли это перекрытие УФ-излучения.

Просмотр сцены с использованием режима рисования UV Overlap (см. раскрывающийся список в левом верхнем углу)
Просмотр сцены с использованием режима рисования UV Overlap (см. раскрывающийся список в левом верхнем углу)Просмотр сцены с использованием режима UV Overlap (раскрывающийся список в левом углу обзора)
  • Используйте Предварительный просмотр запеченных карт освещения. Выберите GameObject и перейдите в окно Освещение, а затем выберите вкладку Baked Lightmaps. Дважды щелкните выделенную карту освещения, перейдите в окно предварительного просмотра и выберите Baked UV Overlap (см. раскрывающийся список в правом верхнем углу). В этом представлении окно предварительного просмотра окрашивает проблемные тексели в красный цвет.
Предварительный просмотр запеченных карт освещения на вкладке «Запеченные карты освещения» в окне «Освещение».
Предварительный просмотр запеченных карт освещения на вкладке «Запеченные карты освещения» в окне «Освещение».

Решения

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

  • Если вы предоставляете UV-карты освещения самостоятельно, добавьте поля с помощью пакета моделирования.
  • Если Unity автоматически генерирует UV-карты освещения для модели, вы можете указать Unity увеличить запас упаковки. Самый простой способ сделать это — установить для параметра Метод поля значение Рассчитать и установить соответствующие Минимальное разрешение карты освещения и Минимальный масштаб объекта. . Если вы предпочитаете установить для параметра Метод маржи значение Вручную, вы можете напрямую настроить значение Упаковать маржу. Дополнительную информацию об этих настройках см. в документации по Создание карт освещения UV.
  • Увеличить разрешение всей карты освещения. Это увеличит количество пикселей между диаграммами и, следовательно, уменьшит вероятность протечки. Недостатком является то, что ваша карта освещения может стать слишком большой. Это можно сделать на вкладке Освещение в разделе Настройки Lightmapper.
  • Увеличить разрешение одного игрового объекта. Это позволяет увеличить разрешение карты освещения только для игровых объектов с перекрывающимися UV-развертками. Хотя это менее вероятно, это также может увеличить размер карты освещения. Вы можете изменить разрешение карты освещения GameObject внутри его Mesh Rendererкомпонента сетки, который берет геометрию из Mesh Filter и визуализирует ее в положение, определяемое компонентом Transform объекта. Подробнее
    См. в Словарь
    в разделе Настройки карты освещения.
Та же сетка, что и раньше, но без артефактов кровотечения
Та же сетка, что и раньше, но без артефактов кровотечения
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3