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

Обновление с Lightweight Render Pipeline на Universal Render Pipeline

Universal Render Pipeline (URP) заменяет Lightweight Render Pipeline (LWRP) в Unity 2019.3. Если ваш Project использует LWRP, вы должны обновить его, чтобы использовать URP, чтобы использовать Unity 2019.3.

Unity обновляет некоторые вещи автоматически, и вы должны внести некоторые изменения вручную. Следуйте шагам в этом руководстве для перехода от использования LWRP к использованию URP.

Перед модернизацией

Обновление ассетов определения сборки

URP использования GUIDs Если вы используете Ассигнования определения сборки (Assembly Definition Assets),ASMDefs) в вашем Project, вы должны обеспечить, чтобы Использование GUIDs на каждом из них.

Unity автоматически обновляет любые существующие строковые ссылки до LWRP в процессе обновления, но рекомендуется использовать GUIDs в ассетах определения сборки для проверки в будущем.

Для каждого ассета определения сборки в вашем Project:

  • Выберите ресурс определения сборки
  • В Inspector включите Используйте GUIDs

Информацию об использовании файлов определения сборки см. в документации по определениям сборки.

Процесс модернизации

Обновление вашей версии LWRP

Чтобы начать процесс обновления:

  • Откройте Project вы хотите обновить в Unity 2019.3

Unity автоматически обновляет LWRP до версии 7.x.x и загружает пакет URP в качестве зависимости от обновленного пакета LWRP. Обновитель скриптов Unity автоматически обновляет файлы скриптов. Когда обновитель скриптов закончится, все ваши скрипты должны компилироваться правильно.

Обновление пути поиска Shader

Если ваш LWRP Project использует Shader.Find для поиска LWRP Shaders, вам нужно изменить путь поиска.

Для этого:

  • Измените все экземпляры Shader.Find, которые ищут Lightweight, на поиск Universal.

Обновление пользовательских шейдеров

Обновление тегов

URP использует свои собственные скриптовые теги. Если ваши шейдеры используют LWRP LightMode теги, они будут работать в вашем проекте URP, поскольку Unity использует для них внутренний псевдоним. Тем не менее теги стоит поменять вручную, чтобы проект был готов к будущим версиям.

Для этого:

  • Измените все экземпляры тега Lightweight2D на Universal2D.
  • Измените все экземпляры тега LightweightForward на UniversalForward.

В дополнение к этому, URP также использует другой тег RenderPipeline, чем LWRP. Если ваши собственные Шейдеры включают этот тег, вам нужно изменить его вручную, чтобы Шейдеры работали:

  • Измените все экземпляры тега LightweightPipeline на UniversalPipeline.

Обновление имен шейдеров

Для URP были изменены следующие имена шейдеров, поэтому вам необходимо обновить файлы шейдеров вручную:

  • Изменить все экземпляры UsePass 'Lightweight Render Pipeline/...' на UsePass 'Universal Render Pipeline/...'

Обновление путей включения

URP использует различные пути включения к LWRP. LWRP 7.x.x содержит перенаправление включений, поэтому ваши пользовательские Shaders будут обновлены с LWRP до URP. Однако, URP 7.x.x не содержит перенаправления включений, поэтому вы должны вручную обновить пути включения.

  • Изменить все экземпляры #include 'Packages/com.unity.render-pipelines.lightweight/xxx' на #include 'Packages/com.unity.render-pipelines.universal/xxx'

Обновление пространств имен

В файлах .cs в вашем Project найдите и замените ссылки на пространство имен LWRP на новое универсальное пространство имен.

  • Изменить все экземпляры UnityEditor.Rendering.LWRP.xxx на UnityEditor.Rendering.Universal.xxx

Улучшение эффектов после обработки

URP версия 7.x поддерживает как Post Processing Stack v2 (PPv2), так и собственное интегрированное решение для пост-обработки. Если у вас установлен пакет Post Processing Version 2 на вашем Project и вы хотите использовать интегрированное решение для пост-обработки URP, вам нужно удалить пакет Post Processing Stack v2 перед установкой URP на вашем Project. После установки URP вы можете воссоздать эффекты пост-обработки.

Обновление эффектов пост-обработки с LWRP на URP является ручным процессом. Вы должны вручную воссоздать каждый Профиль пост-обработки в вашем Project, используя реализацию пост-обработки URP.

Интегрированное решение пост-обработки URP в настоящее время не поддерживает пользовательские эффекты пост-обработки. Если ваш Project использует пользовательские эффекты пост-обработки, они не могут быть воссозданы в интегрированном решении пост-обработки URP. Пользовательские эффекты пост-обработки будут поддерживаться в предстоящем выпуске URP.

Установка URP и удаление LWRP

В рамках процесса автоматического обновления Unity установил URP как зависимость от LWRP.. Теперь вы должны установить URP как зависимость от самого Project, чтобы при удалении LWRP Unity не удалял автоматически URP.

Чтобы установить URP в качестве зависимости от Project:

  • Перейти в меню: Окно > Управление пакетами > Package Manager.
  • Найдите пакет Universal RP и обратите внимание на номер версии справа от его имени. Это версия URP, которая была добавлена к вашему Project.
  • Закрыть Unity.
  • В просмотрщике файлов откройте корневую папку вашего Unity Project.
  • Откройте папку Packages и найдите manifest.json. Это твоя Project’s Project Файл манифеста.
  • Откройте файл манифеста Project в текстовом редакторе.
  • В верхней части раздела зависимостей добавьте следующую запись:
"com.unity.render-pipelines.universal": "[Version number you noted earlier]"

Так, например, если версия URP была 7.1.1, то раздел зависимостей будет выглядеть следующим образом:

"dependencies": {
    "com.unity.render-pipelines.universal": "7.1.1",
    ...
}

Это обозначает версию URP, которую вы установили как зависимость от Project. Теперь вы можете безопасно удалить LWRP.

  • Откройте Project в Unity.
  • Откройте окно Package Manager.
  • Найдите Lightweight RP и выберите его.
  • В правом нижнем углу окна Package Manager нажмите кнопку Удалить. Unity полностью удаляет пакет LWRP из Project.