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

Обновление света с неба во время выполнения с окклюзией неба

Вы можете включить окклюзию неба, когда используете Adaptive Probe Volumes. Окклюзия неба означает, что когда GameObject пробует цвет неба, Unity затмевает цвет, если свет не может достичь GameObject.

Окклюзия неба в Unity использует цвет неба из окружающего зонда, который обновляется во время выполнения. Это означает, что вы можете динамически освещать GameObjects по мере изменения цвета неба. Например, вы можете изменять цвет неба от светлого до темного, чтобы симулировать эффект цикла дня и ночи.

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

Как работает окклюзия неба

Когда вы включаете затенение неба, Unity запекает в каждый зонд Adaptive Probe Volume дополнительное статическое значение затенения неба. Это значение показывает, сколько непрямого света зонд получает от неба, включая свет, отражённый от статических GameObject.

Во время выполнения, когда статический или динамический GameObject считывает зонд Adaptive Probe Volume, Unity приближённо оценивает свет от неба по двум значениям:

  • Цвет неба от зонда окружающей среды, который обновляется при изменении цвета неба.
  • Значение затенения неба, которое является статическим.

Ограничения

Когда Unity рассчитывает значения окклюзии неба, Unity рассматривает поверхности GameObjects как непрозрачные и серого цвета. В результате прозрачный или полупрозрачный GameObjects выглядит как окно или отражает свет, а не пропускает его через себя. Кроме того, темные стены отражают столько же света, сколько и светлые стены. Чтобы минимизировать проблемы освещения, отключите Contribute GI в свойстве Флаги статического редактора свойство для прозрачного или полупрозрачного GameObjects.

Чтобы переопределить серый цвет, используемый Unity, перейдите в Настройки окклюзии неба в 2000 году Панель Адаптивные тома зонда и корректировать Переопределение альбедо.

Включить окклюзию неба

Сначала включите GPU lightmapper. Unity не поддерживает окклюзию неба, если вы используете Прогрессивный CPU вместо этого.

  1. Перейти к Окно > Рендирование > Освещение.
  2. Перейдите в панель Scene.
  3. Установить Lightmapper на Прогрессивный GPU.

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

  1. Перейдите в панель Адаптивные тома зонда.
  2. Включить Закрытие неба.

Чтобы обновить данные освещения, вы также должны запечь Adaptive Probe Volume после включения или отключения окклюзии неба.

Свет обновления во время выполнения

Чтобы обновить свет с неба во время выполнения, вы должны использовать цвета для окружающего света в вашей сцене, а не skybox. Чтобы использовать цвета, выполните следующие действия:

  1. Перейти к Окно > Рендирование > Освещение.

  2. Перейдите в панель Среда.

  3. Установите Источник на Градиент или Цвет.

    Вы также можете установить Источник на Skybox, но вы должны обновлять зонд окружающей среды самостоятельно каждый раз, когда обновляете skybox. Для обновления зонда окружающей среды, используйте DynamicGI.UpdateEnvironment API. Это имеет очень большое влияние на производительность.

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

  • Используйте свойства в RenderSettings API для изменения цветов неба, например ambientSkyColor.
  • Используйте Animation окно.

Включить более точные данные о направлении неба

Когда объект пробует зонд окружающей среды, по умолчанию Unity использует поверхностную норму объекта в качестве направления к небу. Это направление может не совпадать с направлением света, например, если объект находится внутри и свет неба отражается от других объектов, чтобы достичь его.

Unity может вместо этого рассчитывать, хранить и использовать точное направление от каждого зонда Adaptive Probe Volume и учитывать отражённое освещение. Это делает окклюзию неба более точной, особенно в таких местах, как пещеры, где зонды не имеют прямой линии обзора неба, или когда небо имеет контрастные цвета и свет идёт из определенного направления, например через окно.

Чтобы включить эту функцию, в Адаптивном зонде Объемы окна Освещение включите Направление неба.

Если вы включаете Направление неба, то применяется следующее:

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

Чтобы переопределить направления, используемые Unity, применяйте Компонент объема.

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