Unity 6.3
0 онлайн 53 гостей 3 в системе
Вход

Создание пользовательского эффекта после обработки с поддержкой объема в 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);

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