Настройка окклюзии окружающего пространства экрана в URP
Свойства URP’s экран пространства окружающей окклюзии (SSAO) функция рендерера позволяет настроить его так, чтобы он наилучшим образом соответствовал графическим и производительным потребностям проекта.
Свойства
В этом разделе описываются свойства функции SSAO Renderer Feature.
Метод
Это свойство определяет тип шума, используемый эффектом SSAO.
Доступные варианты:
- Градиентный шум: использует чередующийся градиентный шум для формирования статического SSAO.
- Blue Noise: Использует выбор текстур синего шума для создания динамического SSAO. Это создает анимационный эффект, поскольку текстура изменяется с каждым кадром, в результате эффект SSAO более тонкий, когда камера в движении.
Влияние на производительность: незначительное.
Интенсивность
Это свойство определяет интенсивность эффекта затемнения.
Влияние на производительность: незначительное.
Радиус
Когда Unity рассчитывает значение Ambient Occlusion, эффект SSAO берет образцы нормальной текстуры в пределах этого радиуса от текущего пикселя.
Влияние на производительность: высокое.
Более низкое значение Радиус повышает производительность, потому что SSAO Renderer Feature выбирает пиксели ближе к исходному пикселю. Это делает кэширование более эффективным.
Вычисление Ambient Occlusion Pass на объектах ближе к Camera занимает больше времени, чем на объектах дальше от Camera. Это потому, что свойство Радиус масштабируется с объектом.
Расстояние падения
SSAO не применяется к объектам, находящимся дальше этого расстояния от Camera.
Более низкое значение повышает производительность в сценах, содержащих много удаленных объектов. Улучшение производительности меньше в небольших сценах с меньшим количеством объектов.
Влияние на производительность: зависит от применения.
Сила прямого освещения
Это свойство определяет, насколько заметен эффект в зонах, подверженных прямому освещению.
Эти изображения показывают, как значение Сила прямого освещения изменяет эффект SSAO в зависимости от того, находятся ли они в тени или нет.
A. Показывает влияние прямой силы освещения на эффект SSAO в освещенных областях.
B. Показывает влияние прямой силы освещения на эффект SSAO в областях, покрытых одной или несколькими теней.
Влияние на производительность: незначительное.
Качество
Источник
Выберите источник нормальных векторных значений. Функция SSAO использует нормальные векторы для расчета того, насколько каждая точка на поверхности подвержена воздействию окружающего освещения.
Доступные варианты:
- Нормы глубины: SSAO использует обычную текстуру, созданную
DepthNormalsЭта опция позволяет Unity использовать более точную нормальную текстуру. - Глубина: SSAO не использует
DepthNormalsPass для создания нормальной текстуры. SSAO восстанавливает нормальные векторы, используя текстуру глубины. Используйте эту опцию только в том случае, если вы не хотите использовать блокDepthNormalsPass в своих пользовательских шейдерах. Выбор этой опции включает свойство Нормальное качество.
Влияние на производительность: зависит от применения.
При переключении между параметрами Depth Normals и Глубинаможет возникнуть разница в производительности, которая зависит от целевой платформы и приложения. В широком диапазоне приложений разница в производительности небольшая. В большинстве случаев Depth Normals создают лучший визуальный вид.
Дополнительные сведения о свойстве Source см. в Сведения о реализации.
Нормальное качество
Это свойство становится активным, когда вы выбираете параметр Глубина в свойстве Источник.
Более высокое качество нормальных векторов приводит к более гладкому эффекту SSAO.
Доступные варианты:
- Низкий
- Средний
- Высокая
Влияние на производительность: Среднее.
В некоторых случаях параметр Глубина дает результаты, сопоставимые с параметром Depth Normals. Но в некоторых случаях параметр Depth Normals обеспечивает значительное повышение качества. На следующих изображениях показан пример такого случая.
Дополнительные сведения см. в Детали реализации.
Дискретизация
При установке этого флажка разрешение пропуска, который рассчитывает эффект окклюзии окружающей среды, уменьшается в два раза.
Уменьшение разрешения Ambient Occlusion Pass в два раза уменьшает количество пикселей, которые нужно обработать, в четыре раза. Это значительно снижает нагрузку на GPU, но делает эффект менее детализированным.
Влияние на производительность: очень высокое.
После непрозрачного
Когда вы включаете После непрозрачного, Unity рассчитывает и применяет SSAO эффект после прохождения непрозрачного рендеринга. Это может повысить производительность при использовании с Глубина как Источник для нормальных векторных значений как Unity не выполняет предварительного прохождения глубины для расчета SSAO и вместо этого использует существующие значения глубины. Однако это может привести к чрезмерному затемнению областей, которые получают печеную окклюзию и окклюзию в реальном времени.
После непрозрачного может также повысить производительность на мобильных устройствах, которые используют рендеринг, основанный на плитках.
Влияние на производительность: Среднее.
Качество размытия
Это свойство определяет качество размытия, которое Unity применяет к эффекту SSAO. Более высокое качество размытия создает более гладкий, более достоверный эффект, но требует большей мощности обработки.
Доступные варианты:
- Высокая (Двусторонняя): Двусторонняя размытость, требует трех проходов для обработки.
- Средний (Гауссовский): Гауссовский размытие, занимает два прохода для обработки.
- Низкий (Kawase): Kawase размытие, занимает один проход для обработки.
Влияние на производительность: очень высокое.
Образцы
Для каждого пикселя, SSAO Render Feature берет выбранное количество проб в пределах указанного радиуса, чтобы рассчитать значение Ambient Occlusion. Более высокое значение делает эффект более плавным и более подробным, но также снижает производительность.
Доступные варианты:
- Высокая: 12 образцов
- Средний: 8 образцов
- Низкий: 4 образца
Влияние на производительность: высокое.
Увеличение значения Sample Count с 4 до 8 удваивает вычислительную нагрузку на GPU.