Unity 6.3
0 онлайн 95 гостей 3 в системе
Вход
Конвейеры отображения Шаг 53 из 129

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

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

Обновление с URP 10.0.x

  1. URP 10.1.x не имеет значительных изменений по сравнению с URP 10.0.x. Чтобы обновить URP до версии 10.1.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, сначала перенесите эффекты, использующие этот пакет.