Создание пользовательского эффекта после обработки с поддержкой объема в URP
На этой странице описано, как создать пользовательский эффект пост-обработки с поддержкой Volume.
URP предоставляет шаблон для настраиваемых эффектов пост-обработки. Реализация в шаблоне состоит из Renderer Feature, куда можно вставить код для настраиваемого эффекта, и скрипт, который реализует код для взаимодействия с компонентом Volume.
Чтобы создать эффект с помощью шаблона, выберите следующий пункт меню:
- Активы > Создание > Сценариев > URP Послепроцессорные томовые сценарии.
Unity создает два новых скрипта в папке Assets: скрипт, содержащий шаблон Renderer Feature, и скрипт компонента Volume.
Шаблон содержит пример реализации эффекта, который инвертирует цвета на экране.
В Особенности Renderer, в методе Create вы определяете пользовательский Материал для пользовательского эффекта или проход рендеринга, который реализует логику эффекта.
Скрипт Renderer Feature содержит реализацию ScriptableRenderPass.
Вы устанавливаете свойства шейдера для пользовательского эффекта в следующей области в коде прохода рендеринга:
#region PASS_SHARED_RENDERING_CODE
Чтобы установить свойства эффекта на компоненте громкости, измените следующую строку в методе AddRenderPasses:
NewPostProcessEffectVolumeComponent myVolume = VolumeManager.instance.stack?.GetComponent<NewPostProcessEffectVolumeComponent>();
if (myVolume == null || !myVolume.IsActive())
s_SharedPropertyBlock.SetFloat("_Intensity", myVolume.intensity.value);