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

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

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

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

  1. Названия файлов следующих шейдеров Shader Graph были переименованы. Новые имена файлов не содержат пробелов:
    Autodesk Interactive
    Autodesk Interactive Masked
    Autodesk Interactive Transparent

    Если ваш код использует метод Shader.Find() для поиска шейдеров, удалите пробелы из имен шейдеров, например, Shader.Find("AutodeskInteractive).

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

  1. URP 11.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 для расчетов освещения.

Нормальный смещение тени

В 11.0.x формула, используемая для применения Shadow Normal Bias, была немного изменена, чтобы лучше работать с точечным освещением. В результате, чтобы точно соответствовать контурам тени из предыдущих ревизий, параметр может быть скорректирован в некоторых сценах. Как правило, использование 1.4 вместо 1.0 для Направленного освещения обычно достаточно.

Обновление с 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, сначала перенесите эффекты, использующие этот пакет.