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

Создание виртуальной локации осуществляется в игровом движке Unreal Engine 5.4.4.

Создание проекта: plugins, post process

Проект создается через Film, так как здесь уже автоматически включены некоторые нужные плагины. Далее надо проверить и подключить остальные: live link (система передачи данных из внешних устройств на площадке в Unreal Engine), nDisplay (система синхронизированного вывода изображения на все части экрана), camera calibration (калибровка между реальной и виртуальной камерой), ICVFX (набор инструментов для интеграции виртуального фона на площадке), Multi-User Editing (для корректного редактирования контента на съемочной площадке), DMX (если используется), OpenColorIO (корректная цветопередача между физической камерой, LED-экраном и локацией в Unreal Engine).

big
Исходный размер 2200x1500

Unreal Engine: Plugins

big
Исходный размер 2200x1000

Unreal Engine: Plugins

В сцену добавляется Post Process Volume, в Details с правой стороны необходимо прожать галочку infinite Extent Unbound (чтобы настройки пост процесса распространялись на всю сцену). Экспозиция в сцене будет настраиваться вручную: для этого нужно отключить галочку «Physical Camera», чтобы контент не имитировал экспозицию, как на стандартной виртуальной камере. Сама экспозиция устанавливается на 0, что даёт нейтральную точку отсчёта.

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

Исходный размер 2000x600

Unreal Engine: Details Post Process Volume

В разделе Color Grading необходимо сбросить первые три параметра в категории Misc на 0. Tone Curve Amount, Blue Correction, Expand Gamut, они управляют гамма-кривыми, которые обычно используются для художественной тональной коррекции внутри движка. Для виртуального продакшена это важно, так как контент, предназначенный для LED-экранов, должен выводиться в линейной гамме. Использование встроенных гамма-кривых в дополнение к гамме, присущей самой камере, приведёт к двойной гамма-коррекции, что исказит освещение и цветопередачу.

Исходный размер 1800x600

Unreal Engine: Details Post Process Volume

Система LUT для цветокоррекции также не используется, так как может привести к браку. Если наложить этот цветовой фильтр внутри Unreal Engine, а затем наложить еще один LUT на финальный съёмочный материал, это приведёт к искажению цветового пространства, неправильному контрасту и гамме.

Screen Space Effect (экранные эффекты), такие как Bloom, Grain, Vignette, Chromatic Aberration, Depth of Field, Motion Blur, Ambient Occlusion не включают.

Причины, по которым отключают экранные эффекты:

Создание стыков между нодами. В системе nDisplay каждая нода рендерит свою часть изображения. Экранные эффекты (screen space effects) могут создавать видимые стыки на LED-экране между этими частями. Расчёты эффекта не выходят за пределы каждой ноды, поэтому на стыках могут возникать визуальные швы, полосы или несовпадение освещения.

Некорректная имитация оптики. Эффекты вроде Bloom имитируют реальные оптические явления, но в виртуальной среде они создают некорректное освещение. В виртуальном продакшене такой способ не будет воссоздан правильно и не перекроет актера с декорациями, что приведет к браку.

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

В Project Settings также стоит установить следующие галочки:

  1. В Working Color Space выбирается линейное цветовое пространство (ACEScg) или другое, подходящее под LED-экран.
  2. В разделе Rendering, Anti-Aliasing сейчас часто используют либо Temporal Super Resolution, либо Deep Learning Super Sampling от NVIDIA.
Исходный размер 1900x200

Unreal Engine: Project Settings

Temporal Super Resolution — метод сглаживания и масштабирования изображения, который использует данные из нескольких последних кадров для создания высококачественного финального изображения с разрешением, значительно превышающим фактическое разрешение, в котором изначально был отрендерен кадр. В виртуальном продакшене при быстром движении объектов перед контрастным фоном эти методы могут вызывать эффект "двоения".

Еще один метод, который используют чаще — Deep Learning Super Sampling. Это технология нейронного рендеринга от NVIDIA, которая работает на видеокарте NVIDIA RTX. Как правило, обеспечивает лучшее качество изображения, особенно при прорисовке тонких линий, листвы и мелких деталей на расстоянии и обеспечивает большую производительность. Для ее включения требуется установка с официального сайта и включение плагина в настройках Unreal Engine.

Локация 1. Ландшафт, растительность

Так как для подготовки сцен в виртуальном продакшене часто сжатые сроки, нередко берутся готовые ассеты и перерабатываются под референсы художника-постановщика и технических требований виртуального продакшена. Основные ресурсы: «Fab», «Sketchfab»,«Turbosquid», «CGTrager».

Сначала идет создание Landscape (ландшафта) и настраивается Foliage (растительность), отталкиваясь от референсов. Из ресурса Quixel Bridge в Unreal Engine и из Fab скачиваются нужные материалы для ландшафта и ассеты деревьев. Для данной локации использовался готовый пак «Forest - Environment Set» из «Fab».

Создается Landscape. В Details Landscape в качестве Material указывается MI_Terrain_Shader, он включает в себя логику, позволяющую рисовать всеми материалами земли, которые включены в пак. Около каждого материала нажимается +, создается Layer Info. Пятым слоем, а именно материалом с листьями на земле, с помощью кисти Paint красится весь лендскейп.

Исходный размер 2000x1080

Unreal Engine: Landscape

Исходный размер 2000x1080

Unreal Engine: Landscape

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

Для оптимизации растительности в Unreal Engine почти всегда применяется функция Nanite, которая эффективно управляет уровнем детализации.

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

Тем не менее, для обычных статических ассетов Nanite — это стандартный и рекомендуемый подход: меши работают корректно, обеспечивая высокую детализацию при сохранении приятной производительности.

Nanite

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

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

Исходный размер 692x388

«Nanite: Everything You Should Know Unreal Engine 5» за авторством «William Faucher»

В локацию также как в техвизе добавляется камера с нужными настройками. Создается Sequencer, в него перетаскивается камера и на нее ставится ключ. Создается блокинг: добавляется куб относительно кадра для будущего дома вдали. Для данной локации также нужна дорога, drag and drop’ом из Content Browser перетаскивается в сцену.

Исходный размер 2000x1080

Unreal Engine: Blocking

Чтобы просмотреть детальные настройки меша, необходимо дважды кликнуть по нему в Content Browser.

Исходный размер 2300x1200

Unreal Engine: Nanite

Этот статический меш уже включает в себя поддержку системы Nanite. Чтобы ее активировать, надо прожать галочку «Enable Nanite Support». Настройка «Preserve Area» включается только для объектов с альфа-маской, например, для листвы, иначе они могут некорректно отображаться на большом расстоянии. У дороги простая плоская поверхность, эта галочка не нужна. Опция «Keep Triangle Present» работает аналогично инструменту «Decimate» (упрощение геометрии), позволяя уменьшить количество треугольников в модели. Иногда она дает хороший результат, но может и повредить геометрию меша, поэтому ее используют с осторожностью.

Nanite не работает со следующим:

  1. Прозрачные материалы (Translucent Blend Mode): Nanite не поддерживает материалы с режимом наложения "Translucent".

  2. Двусторонние меши (Two-sided faces) / Двусторонние материалы: Хотя Nanite может работать с двусторонней геометрией, он изначально не поддерживает свойство материала "Two Sided" напрямую так же эффективно, как сплошные меши.

  3. Скелетные меши (Skeletal Meshes): Изначально Nanite не поддерживал скелетные меши, но в последних версиях (UE 5.5+) была добавлена экспериментальная поддержка для них, данная функция все еще развивается.

  4. Активная деформация через WPO (World Position Offset): Деформация геометрии в реальном времени с помощью смещения мировых вершин (WPO) имеет ограниченную поддержку.

  5. Агрегатная геометрия: сложные структуры типа меха или волос, как правило, требуют специализированных методов рендеринга, которые несовместимы с текущей реализацией Nanite.

Создание локации под особенности виртуального продакшена
Проект создан 10.12.2025
Глава:
3
4
5
6
7
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше