Unity 6.3
0 онлайн 106 гостей 3 в системе
Вход
XR Шаг 29 из 36

Области рендеринга Multiview

Понимание функции Multiview Render Regions для устройств XR.

Функция Multiview Render Regions является методом оптимизации для предотвращения обработки в областях экрана, не видимых для пользователя (носовая область гарнитуры VR).

О регионах отображения Multiview

Multiview Render Regions — это функция, специфичная для Vulkan, которая устанавливает несколько ножниц, окон и зон рендеринга на гарнитуру для снижения нагрузки на рендеринг. На устройствах VR Multiview Render Regions устанавливает конкретные значения для каждого глаза, чтобы не обрабатывались области вне поля зрения пользователя. На Head-Mounted Devices (HMD) это носовая область гарнитуры.

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

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

Предварительные условия

Для использования областей рендеринга Multiview ваш проект должен отвечать следующим требованиям:

Поддерживаемые плагины

Следующие плагины поддерживают регионы рендеринга Multiview:

  • Окулус 4.6 и более новый
  • OpenXR 1.14 и более новые

Настройка параметров проекта

Настройте следующие параметры в разделе XR Plug-in Management вашего Project Настройки (меню: Изменить > Project Настройки > XR Plug-in Management):

  • Режим стерео рендеринга установлен на Мультивид.
  • Включить Симметричную Проекцию (Vulkan).

Последующая обработка и промежуточные текстуры

В Unity 6.2 и более поздних версиях с OpenXR 1.15 и более поздними версиями вы можете выбрать, к каким проходам рендеринга Unity применяет Multiview Render Regions. Чтобы узнать о доступных параметрах для Multiview Render Regions Optimizations в OpenXR 1.15, см. документацию по OpenXR Области рендеринга Multiview.

Если вы выберете Final Pass в OpenXR 1.15, или включите Optimize Multiview Render Regions в OpenXR 1.14 или Oculus, Multiview Render Regions применяются только к последнему проходу рендеринга. Это означает, что Multiview Render Regions применяются только к проходам рендеринга, которые выводят текстуры глаз. Таким образом, при использовании промежуточных текстур или последующей обработки с включенной этой функцией не ожидается повышения производительности. Если вы используете промежуточные текстуры или последующую обработку в своем проекте, профилируйте свой проект, чтобы проверить, приведут ли Multiview Render Regions к повышению производительности, прежде чем включить эту функцию.

Примечание: Unity рекомендует избегать последующей обработки, если ваш проект предназначен для автономных устройств XR. См. Оптимизация для неподключенных устройств XR в URP для получения дополнительной информации об оптимизации графики в XR.

Включить график отображения

В Unity 6.3 Multiview Render Regions требует, чтобы ваш проект использовал отображение графа для обоих Финальный проход и Все пропуска Режимы. Рендер граф помогает предотвратить некоторые артефакты, которые произошли, когда вы выбираете Все пропуска в предыдущих версиях Unity.

Граф отображения MultiviewRenderRegionsCompatible флаговые знаки совместимые пропуска чтобы включить Multiview Render Regions только на совместимых проходах. Это предотвращает артефакты рендеринга, наблюдаемые в более ранних версиях Unity, где Multiview Render Regions применяется к пропускам, которые несовместимы.

Чтобы убедиться, что ваш проект использует график рендеринга, отключите Режим совместимости (график рендеринга отключен) в настройках Графики.

Управление совместимостью проходов отображения

В Unity 6.3 и более поздних версиях с графом рендеринга, Unity включает Multiview Render Regions только в тех проходах, где это повышает производительность и не приводит к артефактам рендеринга. Совместимые проходы помечены флагом MultiviewRenderRegionsCompatible.

Следующие проходы хорошо работают с Multiview Render Regions и не вызывают никаких артефактов рендеринга:

  • CopyDepthPass
  • DecalScreenSpaceRenderPass
  • DepthNormalOnlyPass
  • DepthOnlyPass
  • DrawObjectsPass
  • DrawSkyboxPass
  • FinalBlitPass
  • MotionVectorRenderPass
  • PostProcessPassRenderGraph
  • RenderObjectsPass
  • TemporalAA
  • XRDepthMotionPass
  • XROcclusionMeshPass

Чтобы добавить дополнительные проходы графика отображения для использования с функцией Multiview Render Regions, используйте метод графика отображения SetExtendedFeatureFlags(ExtendedFeatureFlags) для установки флага MultiviewRenderRegionsCompatible для применимых растровых проходов.

Включить отображение областей с несколькими представлениями

Если выбранный вами плагин поддерживает Multiview Render Regions, то для включения Multiview Render Regions:

  1. Перейдите в раздел XR Plug-in Management ваших Project Настроек (меню: Изменить > Project Настройки).
  2. либо:
    • Включить Оптимизация областей рендеринга Multiview (Oculus или OpenXR 1.14).
    • Выберите режим Multiview Render Regions Optimizations (OpenXR 1.15). Информацию о доступных параметрах см. в OpenXR Области рендеринга Multiview.

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

  • Оптимизировать для не связанных XR устройств в URP
  • Стерео