Hero background image
Трассировка лучей и эффекты постобработки для компьютерных и консольных игр

Это пятая статья из серии, в которой рассказывается о том, как разработчики и технические художники могут настроить и использовать конвейер рендеринга высокого разрешения (HDRP) в Unity для достижения высокого уровня графической реалистичности. HDRP представляет собой технологический скачок в рендеринге Unity в реальном времени, поэтому вы можете работать со светом так, как он ведет себя в реальном мире.

Обязательно прочитайте другие статьи из нашей серии "Как сделать освещение высокого класса":

Постобработка Переопределяет интерфейс
Постобработка

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

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

Постобработка Переопределения для управления цветом и контрастом иногда дублируют друг друга по функциональности. Для поиска правильных сочетаний может потребоваться несколько проб и ошибок. Вам не понадобятся все имеющиеся эффекты; просто добавьте необходимые переопределения для создания желаемого вида и игнорируйте остальные. Примеры использования томов см. в разделе " Тома в образце сцены ".

ACES против нейтрального тонального отображения
Тональное картирование

Tonemapping - это техника отображения цветов с высоким динамическим диапазоном на более ограниченный динамический диапазон вашего экрана. Он может повысить контрастность и детализацию ваших рендеров.

Если вам нужен кинематографический вид, установите режим тонального отображения на промышленный стандарт ACES(Academy Color Encoding System). Чтобы получить менее насыщенное и контрастное изображение, выберите "Нейтральный". Опытные пользователи также могут выбрать Custom, чтобы самостоятельно определить кривую тонального отображения.

Выбор цвета теней, полутонов и бликов
Тени, полутона, блики

Параметр Shadows, Midtones, Highlights Override управляет тональным и цветовым диапазоном для теней, полутонов и бликов рендера. Активируйте каждый трекбол, чтобы воздействовать на соответствующую часть изображения. Затем воспользуйтесь параметрами Shadow и Highlight Limits, чтобы предотвратить обрезку или слишком сильную коррекцию цвета.

Переопределение интерфейса Bloom
Блум

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

Настройте Интенсивность и Разброс, чтобы изменить размер и яркость блума. Используйте порог, чтобы сохранить резкость на тусклых или неярких пикселях.

Lens Dirt, в свою очередь, накладывает текстуру пятен или пыли для дифракции эффекта Bloom.

Интерфейс переопределения глубины резкости
Глубина резкости

Depth of Field (Глубина резкости ) имитирует фокусировочные свойства объектива реальной камеры.

Объекты, расположенные ближе или дальше расстояния фокусировки камеры, кажутся размытыми. Вы можете установить расстояние фокусировки в диапазоне от:

  • Громкость перекрывается ручным режимом фокусировки: В этом случае фокусным расстоянием управляет сама громкость. Например, с его помощью можно сделать камеру намеренно размытой в зависимости от местоположения (например, при съемке подводных сцен).
  • Камера Cinemachine с расширением Расширение настроек громкости: Используйте его для слежения и автофокусировки на цели.
  • Свойства физической камеры в режиме фокусировки физической камеры: Используйте этот параметр для анимирования параметра Focus Distance компонента Camera.

Когда функция "Глубина резкости" активна, вокруг любой яркой области изображения может появиться эффект размытия вне фокуса, называемый " боке". Измените форму диафрагмы камеры, чтобы изменить вид боке. Сглаживание, объем и экспозицию см. в разделе о дополнительных параметрах физической камеры на этой странице руководства.

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

Интерфейс баланса белого
Баланс белого

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

В образце сцены HDRP локальные тома включают переопределения баланса белого для каждой комнаты.

Интерфейс цветовых кривых
Кривые цвета

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

Ползунки регулировки цвета
Регулировка цвета

Используйте опции Color Adjustments, чтобы настроить общий тон, оттенок, насыщенность и контраст конечного изображения.

Ползунки микшера каналов
Микшер каналов

Микшер каналов позволяет одному цветовому каналу влиять на "микс" другого. Выберите выход RGB, затем настройте его влияние. Например, если увеличить влияние зеленого цвета в канале Red Output Channel, все зеленые области изображения приобретут красноватый оттенок.

Демонстрация искажения объектива
Искажение объектива

Lens Distortion имитирует радиальные узоры, возникающие из-за несовершенства изготовления реальных линз. В результате прямые линии выглядят слегка изогнутыми, особенно при использовании зум- или широкоугольных объективов.

Демонстрация виньетки
Виньетка

Виньетка имитирует эффект из практической фотографии, когда углы изображения затемняются и/или обесцвечиваются. Этот эффект может возникнуть при использовании широкоугольных объективов или в результате блокировки света каким-либо приспособлением (например, блендой или сложенными кольцами фильтров). Он также может использоваться для привлечения внимания зрителя к центру экрана.

Размытие движения

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

Для имитации этого эффекта используйте функцию Motion Blur Override. Чтобы минимизировать затраты на производительность, уменьшите количество проб, увеличьте минимальную скорость и уменьшите максимальную скорость. Вы также можете уменьшить параметры режима зажима камеры в разделе Дополнительные свойства.

Образцы бликов на объективе
Блики на объективе

Как правило, блики появляются, когда на объектив камеры попадает яркий свет. Он может иметь вид одиночного яркого блика или нескольких цветных многоугольных вспышек, соответствующих диафрагме камеры. В реальной жизни блики дают нежелательный эффект, но их можно использовать в повествовательных или художественных целях. Например, сильный блик на объективе может привлечь внимание игрока или изменить настроение обстановки или сцены.

В HDRP используйте Lens Flare в качестве эффекта постобработки на поздних этапах процесса рендеринга.

Ассет отблеска линзы
Ассет отблеска линзы

Внешний вид блика указан в ассете Flare Asset, но для визуализации эффекта необходимо добавить компонент Lens Flare (SRP)к объекту в режиме просмотра сцены, например к источнику света или другому объекту, который будет генерировать блик.

Компонент управляет общими параметрами интенсивности, масштаба и окклюзии эффекта. Он также предоставляет возможность работать вне экрана, когда блик находится за пределами обзора камеры (хотя он все равно должен проецировать некоторые эффекты блика в сцене, особенно если блик исходит от статичного источника).

Чтобы поближе познакомиться с Lens Flares, установите образцы из менеджера пакетов. Это добавит набор предопределенных объектов Flare Assets и изменит сцену HDRP Sample Scene, чтобы включить эффекты Lens Flare. Вы также найдете тестовую сцену, где можно посмотреть Lens Flares и создать свою собственную.

Например, если вы выберете в проекте Directional Light Sun, вы найдете компонент Lens Flare (SRP), прикрепленный к свету, а также актив данных. Измените актив, чтобы наблюдать различные эффекты бликов.

Lens Flares создаются из элементов Lens Flare Elements. Каждый элемент представляет собой отдельный артефакт, который может создать вспышка. Форма элемента может быть многоугольником, кругом или другим пользовательским изображением. Параметры элемента позволяют настраивать цвет, положение трансформирования и масштаб.

Прикрепленные к источнику света, элементы Flare Elements могут использовать Tint для повторного использования одного и того же объекта Flare Asset с различными источниками света.

Посмотрите эту презентацию, чтобы узнать больше о том, как работают блики объектива.

Интерфейс отладчика рендеринга
Отладчик рендеринга

Окно Rendering Debugger(Window > Analysis > Rendering Debugger) содержит инструменты отладки и визуализации, специфичные для Scriptable Render Pipeline (SRP). Левая сторона организована по категориям. Каждая панель позволяет изолировать любые проблемы освещения, материалов, объемов, камер и так далее.

Отладчик рендеринга также доступен во время выполнения в режиме Game view в Play Mode или в сборке Player в Development build. Открыть его меню можно с помощью комбинации клавиш Ctrl+Backspace или нажатием двух стиков игрового контроллера.

Образцы освещения
Полноэкранный режим отладки

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

Этот режим позволяет сыграть в "пиксельного детектива" и определить источник конкретной проблемы с освещением или затенением. Панели слева показывают, как жизненно важная статистика камер, материалов, объемов и так далее может оптимизировать ваш рендер.

При активном полноэкранном режиме отладки виды "Сцена" и "Игра" переключаются на временную визуализацию определенной функции. Это может послужить полезной диагностикой.

Вы также можете отладить несколько общих свойств материала в меню Material screen > Common Material Properties, включая Albedo, Normal, Smoothness и Specular.

Чтобы отладить производительность, перейдите в окно Rendering Debugger, находясь в режиме Play Mode. Там вы можете получить доступ к панели статистики.

Подробные сведения см. в документации по отладчику.

Трассировка лучей в мастере конвейера рендеринга
Трассировка лучей (предварительная версия)

Трассировка лучей - это техника, которая позволяет создавать более убедительные рендеры, чем традиционная растеризация. Хотя исторически вычисления были дорогими, последние разработки в области аппаратного ускорения пересечения лучей (или трассировки) сделали трассировку лучей возможной для приложений реального времени.

Трассировка лучей в HDRP - это гибридная система, которая по-прежнему полагается на растровый рендеринг в качестве запасного варианта и включает поддержку трассировки лучей в Preview с подмножеством избранного оборудования GPU и API DirectX 12. Список системных требований см. в разделе Начало работы с трассировкой лучей.

Чтобы включить трассировку лучей (в Preview), необходимо изменить графический API по умолчанию в проекте HDRP на DirectX 12. Откройте мастер конвейера рендеринга(Window > Render Pipeline > HD Render Pipeline Wizard).¹ Нажмите Fix All на вкладке HDRP + DXR , затем перезапустите редактор. Следуйте подсказкам мастера Pipeline Wizard, чтобы активировать все отключенные функции.

Трассировку лучей можно настроить и вручную.

После включения трассировки лучей в проекте проверьте, что в глобальных настройках HDRP и настройках кадра камеры также активирована трассировка лучей. Убедитесь, что вы используете совместимую 64-битную архитектуру в настройках сборки, и проверьте объекты сцены в меню Edit > Rendering > Check Scene Content for HDRP Ray Tracing.

_____________

¹ В Unity 2021 найдите мастер HDRP Wizard в разделе Window > Rendering > HDRP Wizard.

Screen Space Ambient Occlusion против Ray-Traced Ambient Occlusion
Переопределения: Окружающее пространство с трассировкой лучей

Трассировка лучей добавляет несколько новых переопределений объема и улучшает многие из существующих в HDRP. В следующих разделах подробно описаны все переопределения.

Окружающая окклюзия

Ray-Traced Ambient Occlusion заменяет свой аналог в пространстве экрана. В отличие от Screen Space Ambient Occlusion (SSAO), Ray-Traced Ambient Occlusion позволяет использовать внеэкранную геометрию для создания окклюзии. Таким образом, эффект не исчезнет и не станет неточным к краю кадра.

Трассировка световых скоплений в режиме отладки
Световые кластеры

HDRP делит вашу сцену на сетку, выровненную по оси, с центром вокруг камеры. Она использует эту структуру для определения набора локальных засветок, которые могут внести свой вклад в освещение при попадании луча на поверхность. Затем он может рассчитать отражение света для некоторых эффектов, таких как Ray-Traced Reflections и Ray-Traced Global Illumination.

Используйте параметр Camera Cluster Range Volume Override, чтобы изменить диапазон этой структуры и убедиться, что она охватывает объекты GameObjects и освещение, которые необходимо учитывать.

Вы можете использовать режим отладки HDRP, доступный через Windows > Analysis > Rendering Debugger > Lighting > Fullscreen Debug Mode. Это помогает визуализировать ячейки кластера света (выделены красным цветом), указывающие на то, что количество света достигло максимального значения на ячейку в HDRP Asset. Настройте этот параметр, чтобы уменьшить нежелательные утечки света и другие подобные артефакты.

Глобальное освещение с трассировкой лучей в реальном времени
Глобальное освещение с трассировкой лучей

Ray-Traced Global Illumination - это альтернатива Screen Space Global Illumination (SSGI) и Light Probes, используемая для симуляции отраженного, непрямого освещения. Он производит расчеты в режиме реального времени и позволяет избежать длительного автономного процесса запекания лайтмапов, получая при этом сопоставимые результаты.

Используйте настройки качества для сложных внутренних помещений, в которых выгодно использовать несколько отскоков и образцов. Режим Performance Mode (ограниченный одним сэмплом и одним отраженным светом) хорошо подходит для экстерьеров, где освещение в основном исходит от основного направленного света.

Отражения с трассировкой лучей
Отражения с трассировкой лучей

Использование технологии Ray-Traced Reflection позволяет добиться более высокого качества отражений по сравнению с датчиками отражений или отражениями в пространстве экрана. Внеэкранные сетки корректно отображаются в результирующих отражениях.

Настройте значения Minimum Smoothness и Smoothness Fade Start, чтобы изменить порог, при котором гладкие поверхности начинают получать отражения от лучей. При необходимости увеличьте количество отражений (например, два зеркала, отражающие друг друга), но не забывайте о стоимости производительности.

Тени с прорисовкой лучей
Тени с прорисовкой лучей

Используйте тени с трассировкой лучей для направленного, точечного, точечного и прямоугольного освещения. Они могут заменить карты теней от любого непрозрачного игрового объекта. Направленный свет также может отбрасывать тени от прозрачных или полупрозрачных игровых объектов.

Трассировка лучей создает естественные тени, которые смягчаются по мере удаления от мастера, как в реальной жизни. Направленный, точечный и точечный свет может аналогичным образом создавать полупрозрачные тени.

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

Дополнительные ресурсы

Смотрите раздел Активация трассировки лучей с помощью HDRP, чтобы узнать о возможностях трассировки лучей в High Definition Render Pipeline в Preview. Дополнительные сведения см. в документации по трассировке лучей.

Было ли это содержание полезным?