Выбор конвейера отображения
Важно выбрать правильный Unity конвейер рендеринга для вашего проекта, когда вы находитесь на раннем этапе разработки.
Различные конвейеры рендеринга имеют разные возможности и работают по-разному, поэтому они лучше всего подходят для разных игр, приложений и платформ.
Переключение проекта из одного конвейера рендеринга в другой может быть очень длительным процессом, особенно если проект находится на очень позднем этапе разработки. Различные конвейеры рендеринга используют разные шейдеры и могут не иметь одинаковых функций.
В таблице показаны некоторые различия высокого уровня между конвейерами, чтобы помочь вам выбрать правильный конвейер для вашего проекта в начале.
Примечание: Вы не можете использовать Universal Render Pipeline и High Definition Render Pipeline (HDRP) одновременно. Они оба построены с Scriptable Render Pipeline (SRP), но их пути рендеринга и модели света разные.
| Особенности | Universal Render Pipeline (URP) | High Definition Render Pipeline (HDRP) | Встроенный Render Pipeline |
|---|---|---|---|
| Целевые виды применения | Проекты, требующие масштабируемости рендеринга на всех платформах, особенно на платформах с отложенным рендерингом на основе плиток (TBDR) и на платформах без связи VR. Проекты, требующие расширения и настройки конвейера рендеринга. 2D и 3D проекты. |
Проекты, требующие фотореализма и высокой точности рендеринга на высокотехнологичных платформах 3D проекты |
Проекты, требующие масштабируемости рендеринга на всех платформах. 2D и 3D проекты. |
| Поддержка платформы | Поддерживает все платформы, поддерживаемые Unity Фокусирует на эффективности на плитках, основанных на отсроченном рендеринге (TBDR) платформах, и не связанных VR платформах |
Поддерживает настольные, Xbox и PlayStation платформы Фокусирует на эффективном использовании расширенных возможностей GPU оборудования, таких как асинхронные вычислительные шейдеры и трассирование лучей, если оборудование поддерживает это. |
Поддерживает все Unity-поддерживаемые платформы |
| Доступ к исходному коду | В основном C# Публичный доступ к исходному коду URP на GitHub. Вы также можете создать собственный конвейер, используя URP в качестве базы Проще читать, изменять и расширять исходный код, чем Встроенный Render Pipeline |
В основном C# Публичный доступ к исходному коду HDRP на GitHub. Вы также можете создать собственный конвейер, используя HDRP в качестве базы Проще читать, изменять и расширять исходный код, чем Встроенный Render Pipeline |
В основном C++ Частный доступ через покупку доступа к исходному коду |
| Расширение конвейера | API и точки впрыскивания, предоставляемые конвейером, или вы можете модифицировать общедоступный исходный код Проще расширить, чем Встроенный Render Pipeline |
API и точки впрыскивания, предоставляемые конвейером, или вы можете изменить общедоступный исходный код Проще расширить, чем Встроенный Render Pipeline, но сложнее, чем URP, потому что HDRP сложнее и имеет продвинутые возможности |
API и точки впрыска, обеспечиваемые конвейером |
| Настройка с помощью инструментов художника | Shader Graph, который можно использовать для настройки тени, материалов и эффектов экранного пространства Встроенный Particle System, который можно использовать для настройки визуального effects.Limited настройки VFX График, который можно использовать для разработки визуальных эффектов, от простых обычных поведения частиц до сложных моделей, работающих на GPU. |
Shader Graph, который можно использовать для настройки тени, материалов и эффектов экранного пространства Встроенный Particle System, который можно использовать для настройки визуальных эффектов. Ограниченная настройка VFX График, который можно использовать для разработки визуальных эффектов, от простых обычных поведения частиц до сложных моделей, работающих на GPU. |
Shader Graph, который вы можете использовать для настройки тени, материалов и эффектов пространства экрана Shader Graph не получает обновлений для встроенной поддержки Render Pipeline, кроме исправлений ошибок для существующих функций Встроенный Particle System, который вы можете использовать для настройки визуальных эффектов. Ограниченная настройка |
| Настройка с помощью ручных шейдеров | HLSL шейдеры и URP шейдеры в исходном коде, которые можно настроить | HLSL шейдеры, и HDRP шейдеры в исходном коде, которые можно настроить Ручно закодированные шейдеры рекомендуются только для продвинутых пользователей, потому что HDRP шейдеры сложны и имеют продвинутые функции |
HLSL шейдеры и поверхностные шейдеры |
| Освещение | Предназначен как для реалистичного, так и для стилизованного освещения Basic PBR, и некоторые продвинутые PBR, такие как прозрачный лак Легче настроить для пользовательских моделей освещения, таких как затенение клеток |
Фокус на фотореализме и физически точном освещении с встроенной поддержкой физических световых модулей Базовый и продвинутый PBR. Например, прозрачный слой, кожа, волосы, глаза, подповерхностное рассеяние и вода Продвинутое пространство экрана и объемные эффекты Труднее настроить для пользовательских моделей освещения, таких как затенение клеток |
Предназначен как для реалистичного, так и для стилизованного освещения Базовое физические рендеринг (PBR) Легче настроить для индивидуальных моделей освещения, таких как затенение клеток |
| Результаты работы | Поддержка статического пакетирования и динамического пакетирования Расширенное пакетирование вызова рисунка с Scriptable Render Pipeline (SRP) Batcher Совместимость с BatchRenderer Group API и Организации |
Поддержка статического пакетирования Расширенное пакетирование вызовов рисования с Scriptable Render Pipeline (SRP) Batcher Совместимость с BatchRenderer Group API и Организации |
Поддержка статического пакетирования и динамического пакетирования |
См. Сравнение функций конвейера рендеринга для подробной информации о том, какие конвейеры совместимы с какими функциями, чтобы помочь вам выбрать правильный конвейер для вашего проекта.
Дополнительные ресурсы
- Universal Render Pipeline
- High Definition Render Pipeline
- Учебник по созданию визуальных эффектов для встроенного Render Pipeline
- Создание пользовательского конвейера рендеринга