Unity 6.3
0 онлайн 102 гостей 3 в системе
Вход
Освещение Шаг 47 из 173

Устранение неполадок, связанных с отсутствием глобальной подсветки в сцене

Исправлены проблемы, которые приводят к сбоям в глобальном освещении сцены.

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

Симптомы

Запеченное глобальное освещение не отображается в сцене, в результате чего в сцене меньше света и тени и общее изображение выглядят темнее, чем предполагалось.

Причина

Если некоторые предварительные условия не выполнены, Progressive Lightmapper может не генерировать освещение в вашей сцене. Эти обычно включают, но не ограничиваются:

  • Нет объектов, помеченных как Global Illumination (GI) Вкладчики.
  • Никаких выпеченных или смешанных огней в сцене.
  • Проблемы с шейдерами.

Резолюция — Отметить GameObjects как GI участников

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

  1. Выберите GameObject.
  2. В вашем GameObject’s Inspector окно, перейти к Компонент отображения сетки.
  3. В соответствии Освещение заголовок, включить Вклад в глобальное освещение. Это также автоматически позволяет Получить глобальное освещение свойство, обеспечивающее, что объект может получать выпеченное освещение во время создания lightmap.

Получить глобальное освещение содержит два варианта:

  • Карты освещения: выберите этот вариант, если GameObject является статическим объектом, который следует запекать непосредственно в карты освещения. Это оптимально для крупных объектов или объектов окружения — стен, полов, больших пропсов. Такой GameObject будет получать и вносить глобальное освещение (GI) непосредственно в карты освещения.

  • Световые зонды: Используйте эту опцию для небольших, динамических или детализированных объектов, которые не нуждаются в прямом выпекании в lightmaps. GameObject вместо этого будет получать GI от близлежащих Light Probes, в то время как GI будет вноситься в окружающие lightmaps. Это помогает оптимизировать использование lightmaps и снижает затраты на запекание для объектов, таких как небольшие реквизиты или движущиеся предметы.

Когда объект GameObject помечен как вкладчик GI, он может как принимать свет, так и отражать его на другие поверхности. Чтобы убедиться, что освещение на отражающих поверхностях правильно, включите объекты в зонды отражения для получения информации об отражении света:

  1. Выбрав GameObject, перейдите к заголовку GameObject в окне Inspector и найдите Статические Флаги Редактора.
  2. Разверните выпадающее меню Статическое, чтобы увидеть дополнительные параметры.
  3. Включить Отражающий зонд Статический. Это гарантирует, что GameObject считается статическим для зондов отражений, то есть попадёт в кубическую карту, снимаемую зондами отражений.

Разрешение — Проверка свойств освещения сцены

Проверьте свойства освещения сцены, чтобы убедиться, что они правильно настроены, чтобы способствовать глобальному освещению (GI).

Только смешанные и запеченные огни могут способствовать запеканию GI. Чтобы убедиться, что огни в вашей сцене находятся в правильном режиме, выберите огонь и проверьте его компонент Света. Их Режим должен быть установлен на Смешанные или Запечённый.

Проверьте другие свойства на предмет других проблем, которые могут повлиять на способность освещения сцены вносить вклад в GI:

  • Цвет: Темные цвета будут иметь низкое или нулевое влияние GI. Выберите яркие цвета для освещения и используйте свойство Intensity, чтобы увеличить или уменьшить их.
  • Интенсивность: Чем выше интенсивность, тем ярче свет. Убедитесь, что ваши огни достаточно яркие для значимого GI вклада.
  • Косвенный множитель: Это свойство контролирует интенсивность косвенного отскока. Убедитесь, что оно не установлено на нуль. В противном случае свет не будет иметь никакого вклада в GI вообще. Обратите внимание, что установка этого значения выше одного сделает освещение в вашей сцене несовместимым со стандартом Physically Based Rendering (PBR).

Разрешение — Проверьте свойства объекта Настройка освещения

В течение Освещение окно (Окно > Рендеринг > Освещение), убедитесь, что Настройки освещения Если не назначено никакого ассета, нажмите на кнопку «Выполнить». Новые настройки освещения Это создает и назначает ассет, так что вы можете редактировать свойства в Освещение окно.

После этого проверьте следующие вопросы:

  • Убедитесь, что флажок Запеченное глобальное освещение установлен. Это позволяет выполнять вычисления GI. Этот флажок также откроет раскрывающееся меню Режим освещения.
  • Проверьте, что значение Max Bounces не установлено на нуль. Чем выше это значение, тем больше свет будет отражаться от окружающей среды.
  • Убедитесь, что ползунок Косвенная интенсивность не установлен на нуль. Установка этого ползуна на нуль уменьшит все косвенное освещение в сцене.

Разрешение — Проверка шейдеров и материалов

Пользовательские шейдеры могут привести к сбоям в вычислениях GI. Чтобы определить, являются ли причиной пользовательские шейдеры, используйте встроенные шейдеры Редактора для отладки проблемы.

Выберите один из встроенных шейдеров:

  • Стандартный шейдер: Доступен во встроенном конвейере рендеринга.
  • Подсветка шейдера: Доступна в Universal Render Pipeline.
  • Подсветка шейдера: Доступна в высоком разрешении Render Pipeline.

Если Unity может генерировать освещение после переключения на один из вышеуказанных шейдеров, то ваши собственные шейдеры могут быть причиной проблемы. Убедитесь, что ваши поверхностные шейдеры содержат ключевое слово LIGHTMAP_ON shader, прежде чем снова проверить вычисления GI.

Более подробную информацию о том, как настроить вывод GI с использованием шейдеров, см. в Настройка способа ввода данных в lightmap шейдерами во Встроенном Render Pipeline.

Разрешение — другие потенциальные исправления

Если предыдущие шаги не решили проблему, пожалуйста, выполните дополнительные шаги и советы:

  • Убедитесь, что светильники не расположены внутри геометрии сцены.
  • Включите Смешанное освещение в Universal Render Pipeline активе.
  • Выберите другой backend lightmapping в окне Освещение. Если освещение не запекается при использовании Progressive GPU, но успешно при использовании Progressive CPU, это может быть результатом проблемы с оборудованием или драйвером.
  • Обновите драйверы GPU. См. страницу производителя GPU для правильных драйверов для вашей системы. Для Linux машин, см. инструкции по установке драйвера Linux.
  • Убедитесь, что ваш GPU соответствует минимальным требованиям, см. это обсуждение для дополнительной информации.
  • Очистить GI Кэш. Чтобы очистить его, перейдите в Предпочтения > GI Кэш и выберите Очистка кэша кнопка. Примечание: Это удалит все данные освещения, присутствующие в сцене, требуя от вас регенерировать освещение.