Последнее обновление: февраль 2020 г., текст на 10 минут чтения.

Начало работы с High Definition Render Pipeline (HDRP) для игр

Что вы узнаете на этой странице: информацию об оценке целесообразности High Definition Render Pipeline (HDRP) и сведения о том, как начать использовать его в разработке. Материал подготовлен на основе доклада Дженнифер С. Рож-Десландес, представленного на Unite Copenhagen 2019.

Проверочный список для High Definition Render Pipeline

Among the most frequent questions Unity engineers get from creators are “What is HDRP?” and “How can I use it in my project?” So we put together this list of considerations to help you understand how you can use the High Definition Render Pipeline (HDRP) in your projects to get the most out of it. 

Let’s start by answering a few questions to assess if your project is ready for HDRP: 

  1. Are you on the right target platform? 

The first question you need to ask yourself is if you are shipping on a supported platform. If you’re planning to ship on consoles such as Xbox One and PlayStation 4, Windows (DirectX 11, DirectX 12 and Vulkan), Mac (Metal), and VR headsets (PlayStation VR, Oculus Rift, OpenVR, Windows Mixed Reality), then we’ve got you covered. There’s currently very little support for Linux, and no support for Nintendo Switch, OpenGL, and mobile platforms. 

  1. Are you in the right production cycle? 

HDRP will be out of preview with the Unity 2019.3 release. We strongly recommend you use HDRP with that version onwards; with Unity 2019.3 Long-Term Support (LTS) and above, you will have full support. If you use HDRP with any previous Unity versions, you’ll have to do all of the maintenance yourself.  

  1. Do you have technical pillars that are compatible with HDRP and production skill sets?

Working with HDRP requires a lot of upgrade and maintenance. To move from the Built-in rendering pipeline or the Universal Render Pipeline, you’ll also have to ramp up on technical knowledge for HDRP. Make sure that you and your team allocate some time to learn this tech.

  1. Is it the right tech for your artistic vision? 

HDRP is grounded in physically based rendering and offers a unified lighting pipeline. Also, it comes with several tools for your artistic needs: Visual Effect Graph, Look Dev, and post-processes. For characters and environment, HDRP offers skin, hair, and eye shaders, as well as subsurface scattering and some support for terrain. 

If you’re still deciding what render pipeline to use, here are a few things to consider. HDRP is supported with Unity 2019 LTS and above, and it comes with its own high-definition post-processing stack. It also comes with ray tracing support, VFX Graph support, Shader Graph support, and state-of-the-art graphics features.

If your project contains complex scenes, HDRP will scale better than with the built-in rendering pipeline. However, if you're planning to ship on both mobile and consoles, HDRP might not be the right tech for you.

Какую проблему решает HDRP?

Одно из направлений HDRP — единое и логичное освещение. Другое направление — производительность и, разумеется, современные технологии. 

Единое и логичное освещение 

HDRP — это процесс физического рендеринга, что позволяет вам использовать параметры реального мира для разработки сцен. Например, световой поток здесь измеряется в люменах или в люксах. 

Теперь художники могут разрабатывать ассеты независимо от контекста. При изменении контекста графические элементы проекта не потеряют визуальную однородность. 

Производительность с самого начала 

Функции HDRP способны обеспечивать высокое качество на всех поддерживаемых платформах. Мы хотим, чтобы у вас была возможность реализовать творческие идеи без оглядки на производительность. 

Самые современные технологии 

HDRP использует технологии, ставшие стандартом в игровой индустрии: физический рендеринг, физические единицы измерения свойств света, физические компоненты и дружелюбный инструментарий.

Начало: разработка первого проекта с использованием HDRP

Чтобы использовать HDRP в проекте, мы рекомендуем выполнить следующее. 

  1. Подробно изучите технологию по демонстрациям и примерам.

Все созданные в Unity демонстрации разработаны с использованием тех же технологий, которые вы будете использовать после загрузки пакета HDRP. Вот два проекта для изучения: Fontainebleau и Spaceship. Обе демонстрации отлично документированы, по ним подготовлены статьи, объясняющие процесс разработки. 

Каждый выпуск пакета HDRP сопровождается примерами. 

  1. Создайте новый проект, выбрав шаблон HDRP в Unity Hub.

Если вы готовы приступить, то вот как можно создать проект с поддержкой HDRP в Unity: откройте Unity Hub, создайте новый проект, выберите шаблон High Definition Render Pipleline и готово! Вы сможете начать свои эксперименты, как только откроется Editor. 

  1. Используйте Render Pipeline Wizard. 

Если что-то идет не так, то Render Pipeline Wizard поможет вам выявить проблемы вашего проекта. Он находится в меню Window > Analysis > Render Pipeline Wizard.

От встроенного процесса рендеринга до HDRP

Перенос проекта: от встроенного процесса рендеринга до HDRP

Если вы уже работаете над проектом с использованием встроенного процесса рендеринга и хотите перевести проекта на HDRP, мы рекомендуем следующее. 

Для начала убедитесь, что вы используете нужную версию Unity. Принимая решение, сверяйтесь с документацией. Откройте Package Manager и выберите пакет High Definition RP, чтобы увидеть его версию. Ниже есть несколько ссылок, и самые важные из них — документация и список изменений. 

Обратите внимание, что крупные выпуски пакета выходят вместе с новыми совместимыми выпусками Unity. Эту информацию можно найти в менеджере пакетов. Например, версия HDRP 5.0.1 совместима с Unity 2019.1. Поняв, какой выпуск Unity и соответствующий ей пакет HDRP вам подходит лучше, вы можете приступать к обновлению вашего проекта.

процесс рендеринга высокого разрешения — настройки рендеринга проекта

Как провести обновление проекта?

Во-первых, нужно удалить текущий используемый стек постобработки, поскольку в HDRP есть собственный стек. Для этого выберите пакет Post Processing в менеджере пакетов и нажмите кнопку Remove.

После этого нужно проверить, используется ли в вашем проекте линейное цветовое пространство. Откройте настройки по адресу Edit > Project Settings > выберите пункт Player > перейдите в раздел Other Settings, чтобы увидеть настройки цветового пространства (Color Space Settings). Измените значение Gamma на Linear

После этого загрузите пакет HDRP. В Package Manager выберите пакет High Definition RP и нажмите на кнопку Install. Обновите пакет до последней версии, актуальной для вашего выпуска Unity.

Ассет High Definition Render Pipeline

Для использования HDRP в проекте нужно использовать High-Definition Render Pipeline Asset. В окне Project щелкните правой кнопкой мыши в папке Assets и выберите пункт Create > Rendering, а затем — High Definition Render Pipeline Asset. Назначьте его проекту: выберите Edit > Project Settings > Graphics, а затем High Definition Render Pipeline Asset.

процесс рендеринга высокого разрешения — мастер настройки процесса рендеринга высокого разрешения

Render Pipeline Wizard

Если что-то пошло не так, то возможно дело в том, что ваши материалы несовместимы с HDRP. Используйте Render Pipeline Wizard чтобы проверить настройки, материалы и освещение на совместимость с HDRP. 

Render Pipeline Wizard (Window > Analysis > Render Pipeline Wizard) формирует полный список потенциальных проблем проекта. Вы можете решать каждую проблему по отдельности или исправить все разом, нажав на кнопку Fix All

процесс рендеринга высокого разрешения — обновление материалов проекта

Конвертируйте материалы

После устранения неполадок приступайте к конвертированию материалов. Для этого выберите пункт Edit > Render Pipeline > Upgrade Project Materials to High Definition Materials; все шейдеры Standard Lit/Unlit в проекте будут преобразованы в материалы HDRP Lit/Unlit.

После этого измените настройки освещения, выбрав физически точные единицы. После конвертации материалов и настройки освещения вам нужно будет заново настроить постобработку.

Постобработка в HDRP

Постобработка уже включена для вашего проекта по умолчанию. Убедиться в этом можно по адресу Project Settings > HDRP Default Settings > Volume Components. Например, эффекты Tonemapping и Bloom включаются по умолчанию, но это можно изменить в разделе Volume Components. В этом разделе вы также можете создать собственный объем для сцены и добавить новый профиль.

Как использовать HDRP с максимальной пользой

Проверьте настройки HDRP. Их можно найти в разных местах: 

  • Настройки всего проекта задаются в двух местах:

    • HDRP Default Settings, где можно настроить отображение теней в проекте. 
    • HDRenderPipelineAsset тоже имеет несколько параметров, например, декали и постобработка. 
  • Компоненты Volume содержат параметры для текущей сцены, включая постобработку и небо. Эти настройки могут быть локальными или глобальными, для всей сцены. 
  • Настройки камеры позволяют изменить маски, фон, проекцию, поле зрения и многое другое. 

Настроив проект, можно переходить к более тонким параметрам. 

Есть несколько способов настройки процесса рендеринга в пакете HDRP.

  • Собственные проходы: для отрисовки выбранного списка объектов сцены второй раз, другим материалом. 
  • Собственные полноэкранные проходы: для отрисовки прямоугольника экранного пространства особым материалом. 
  • Собственные пост-процессы: для отрисовки собственных эффектов постобработки. 

Исходный код HDRP доступен GitHub — вы можете менять его в соответствии со своими потребностями. Но мы настоятельно рекомендуем вам создать ответвление и регулярно интегрировать все исправления от Unity.

Где можно узнать дополнительную информацию об HDRP?

Если вы хотите узнать больше о том, как начать работу с High Definition RP в проекте, обратите внимание на обзорное руководство по HDRP, ознакомьтесь с нашей недавней статьей в блоге и присоединяйтесь к обсуждениям на форуме.

Мы используем cookie-файлы, чтобы вам было удобнее работать с нашим веб-сайтом. Подробнее об этом можно узнать на странице, посвященной политике использования cookie-файлов.

Согласен