Коротко
- Virtual Shadow Maps использует виртуальное разрешение 16K × 16K и делит карты теней на страницы размером 128 × 128 пикселей.
- Система разработана для использования с Nanite; для проектов без Nanite она может не подойти.
- В режиме Epic для качества теней SMRT по умолчанию использует восемь лучей для локальных и направленных источников света.
- Ограничение радиуса затухания у точечных, Spot- и Rect-источников света может повысить производительность за счёт уменьшения числа объектов, для которых рассчитываются тени.
При улучшении теней в архитектурных сценах Unreal Engine 5 важно учитывать не только качество освещения, но и производительность сцены, а также используемую геометрию. В официальной документации Epic система Virtual Shadow Maps (VSM) описана как метод создания теней высокого разрешения, работающий вместе с Nanite. В этом руководстве разбираем основные шаги: от выбора настроек проекта до управления мягкостью теней и ограничения затрат на освещение.
1. Выберите подходящий для проекта метод теней
Сначала определите, использует ли проект Nanite. VSM разработана для работы с виртуализированной геометрией Nanite. Epic отмечает, что VSM может не подойти, если Nanite не используется в проекте или на целевой платформе. В проектах с Nanite традиционные карты теней нельзя использовать вместе со стационарными источниками света; в этом случае следует выбрать подвижные источники света или VSM.
Метод выбирается в разделе Shadows по пути Project Settings › Engine › Rendering. Параметр Shadow Map Method позволяет установить Virtual Shadow Maps или традиционные Shadow Maps. Для проектов, созданных до Unreal Engine 5.0, может потребоваться отдельно включить VSM — через настройки проекта или переменную r.Shadow.Virtual.Enable. В новых проектах VSM выбрана по умолчанию.
VSM создаёт виртуальную карту разрешением 16K × 16K и делит её на страницы размером 128 × 128 пикселей. Обрабатываются страницы, необходимые для отображаемых пикселей; если они не были признаны недействительными, страницы кэшируются между кадрами. Такой подход позволяет сосредоточиться на видимых областях, а не пересчитывать всю карту в каждом кадре.
2. Настраивайте мягкость теней через источник света
Используемая с VSM технология Shadow Map Ray Tracing (SMRT) смягчает края теней и создаёт эффект контактного уплотнения в зависимости от источника света. На точечных и Spot-источниках света на изображение влияет параметр Source Radius, а на направленных — Source Angle. Чем больше размер источника, тем мягче тени; однако чрезмерные значения могут снизить производительность и вызвать визуальные артефакты, когда камера приближается к краю тени.
В документации Epic указано, что у локальных источников света изначально нет значения Source Radius, а для Source Angle направленных источников задано небольшое значение. В документации также приведён пример Point Light со значением Source Radius 10; это пример настройки, а не рекомендация для каждой сцены.
На качество SMRT также можно влиять количеством лучей и числом сэмплов на луч. В режиме Epic для качества теней локальные и направленные источники света по умолчанию используют восемь лучей. Уменьшение их количества может сделать шум заметным; при значении 0 SMRT отключается, и система возвращается к жёстким теням с одним сэмплом. Для количества сэмплов на луч в документации указан подходящий диапазон от 4 до 8.
r.Shadow.Virtual.SMRT.RayCountLocal
r.Shadow.Virtual.SMRT.RayCountDirectional
r.Shadow.Virtual.SMRT.SamplesPerRayLocal
r.Shadow.Virtual.SMRT.SamplesPerRayDirectional| Параметр | Значение из документации | Эффект |
|---|---|---|
| Количество лучей SMRT | По умолчанию 8 в режиме Epic | Уменьшение может усилить шум при размытии теней. |
| Сэмплов на луч | 4–8 | Меньшее число снижает затраты, но ограничивает доступный диапазон мягкости. |
| Количество лучей SMRT | 0 | SMRT отключается, система возвращается к жёстким теням. |
3. Ограничивайте область действия и тени локальных источников света
У точечных, Spot- и Rect-источников света параметр Attenuation Radius ограничивает область, на которую воздействует свет. Epic подчёркивает, что эта область не предназначена для обеспечения физической точности; ограничение радиуса важно для производительности при использовании источников, создающих динамические тени. При уменьшении радиуса может сократиться и число объектов, на которые воздействует свет и для которых нужно рассчитывать тени.
Параметр Cast Shadow у каждого источника света включает или отключает отбрасывание теней. В случаях, когда тени не вносят значимого вклада в сцену, источник освещает большую область или воздействует на очень детализированную геометрию, отключение этого параметра может помочь повысить производительность. После изменения проверьте, как оно влияет на контакт объектов с полом и читаемость предметов в пространстве.
Высокое разрешение VSM может снизить необходимость в Contact Shadows для создания чётких контактных теней. Epic отмечает, что эта функция может быть менее точной, чем тени, создаваемые VSM, и не рекомендует её для общего использования. Её можно рассмотреть отдельно при наличии особой задачи — например, когда нужно получить менее затратные тени от объектов, которые не участвуют в работе неподходящих карт теней.
4. Контрольный список для архитектурных и интерьерных сцен
В крупных планах интерьеров мягкие тени могут быть важны для контакта мебели с полом и переходов между поверхностями. В экстерьерах и больших сценах clipmap-структура направленных источников света обеспечивает более высокую детализацию в областях рядом с камерой. Если локальные источники освещают слишком большие области, можно достичь предела разрешения; поэтому Epic рекомендует по возможности использовать направленные источники света.
Тени статичных и стационарных источников света в окне редактирования — это предварительный просмотр, который не отражает итоговый результат до завершения сборки освещения. Чтобы выполнить её, можно использовать Build › Build All Levels. Чтобы отключить индикатор предпросмотра, откройте в Level Viewport пункт Show › Visualize › Preview Shadows Indicator.
Распространённые ошибки
Считать VSM автоматически лучшим вариантом в проекте, где не используется Nanite.
Чрезмерно увеличивать значения Source Radius или Source Angle: это может ухудшить производительность и внешний вид теней.
Уменьшать количество лучей, не проверяя, не появился ли шум в тенях.
Не ограничивать радиус затухания источников света и их вклад в тени с учётом требований сцены.
Принимать предварительные тени от стационарных или статичных источников света за итоговый результат после сборки.
Для этих настроек нет единого подходящего значения: нужно учитывать геометрию сцены, тип источника света, расстояние до камеры и требуемое качество изображения. Сначала выберите подходящий метод теней, затем настройте размер источника света и область его действия, проверяя визуальный результат.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для студий архитектурной визуализации в Турции практическая ценность VSM заключается в том, что система позволяет совместно работать с детализированной геометрией и тенями в сценах с Nanite. Однако влияние системы на оборудование и производительность проекта зависит от сцены. Вместо того чтобы задавать широкую область действия всем источникам света, разумнее начать с проверки тех источников, которые действительно отбрасывают тени, и охватываемой ими области.
Снижение параметров SMRT само по себе нельзя считать правильной оптимизацией: малое количество лучей может усилить шум в тенях. Проверка изменений в кадре помогает избежать потери качества, особенно в интерьерах, где важны мягкие тени. Также нужно учитывать, что в старых проектах VSM может потребоваться включить отдельно, а предпросмотр теней не показывает итоговый результат.
Частые вопросы
Как включить Virtual Shadow Maps в Unreal Engine 5?
Virtual Shadow Maps можно выбрать в параметре Shadow Map Method в разделе Shadows по пути Engine › Rendering в Project Settings. В проектах до Unreal Engine 5.0 может потребоваться включить эту функцию отдельно.
Стоит ли использовать Virtual Shadow Maps без Nanite?
Epic описывает VSM как систему, разработанную для использования с Nanite, и отмечает, что она может не подойти для проекта или целевой платформы без Nanite.
Как настроить качество мягких теней в Unreal Engine?
На мягкость теней влияют Source Radius у локальных источников света и Source Angle у направленных. Количество лучей и сэмплов SMRT также меняет качество и затраты производительности.



