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

Обновление до версии 10.0.x из Universal Render Pipeline

На этой странице описано, как обновить старую версию Universal Render Pipeline (URP) до версии 10.0.x.

Обновление с URP 7.2.x и более поздних выпусков

  1. URP 10.x.x не поддерживает пакет Post-Processing Stack v2. Если ваш Project использует пакет Post-Processing Stack v2, сначала перенесите эффекты, использующие этот пакет.

DepthNormals Пропуск

Начиная с версии 10.0.x, URP может генерировать обычную текстуру под названием _CameraNormalsTexture. Чтобы отобразить эту текстуру в вашем пользовательском шейдере, добавьте Pass с именем DepthNormals. Для примера, проверьте реализацию в Lit.shader.

Экран пространства окружающей окклюзии (SSAO)

URP 10.0.x реализует эффект окклюзии окружающего пространства экрана (SSAO).

Если вы собираетесь использовать эффект SSAO с вашими пользовательскими шейдерами, рассмотрите следующие объекты, связанные с SSAO:

  • Ключевое слово _SCREEN_SPACE_OCCLUSION.

  • Input.hlsl содержит новую декларацию float2 normalizedScreenSpaceUV в 2000 году InputData struct.

  • Lighting.hlsl содержит AmbientOcclusionFactor структура с переменными для расчёта непрямого и прямого затенения:

    struct AmbientOcclusionFactor
    {
        half indirectAmbientOcclusion;
        half directAmbientOcclusion;
    };
    
  • Lighting.hlsl содержит следующую функцию для семплирования текстуры SSAO:

    half SampleAmbientOcclusion(float2 normalizedScreenSpaceUV)
    
  • Lighting.hlsl содержит следующую функцию:

    AmbientOcclusionFactor GetScreenSpaceAmbientOcclusion(float2
    normalizedScreenSpaceUV)
    

Чтобы поддержать SSAO в пользовательском шейдере, добавьте DepthNormals Pass и _SCREEN_SPACE_OCCLUSION ключевое слово в шейдер. Например, проверьте Lit.shader.

Если ваш пользовательский шейдер реализует пользовательские функции освещения, используйте функцию GetScreenSpaceAmbientOcclusion(float2 normalizedScreenSpaceUV) для получения значения AmbientOcclusionFactor для расчетов освещения.

Обновление с URP 7.0.x–7.1.x

  1. Сначала обновите до URP 7.2.0. См. Обновление до версии 7.2.0 Universal Render Pipeline.

  2. URP 8.x.x не поддерживает пакет Post-Processing Stack v2. Если ваш Project использует пакет Post-Processing Stack v2, сначала перенесите эффекты, использующие этот пакет.