Тени / Блендер
Здесь описаны методы настроек теней в «Блендере» при их использовании в движке «Вердж3Д».
Содержание
- Подготовка вьюпорта «Блендера»
- Типы фильтрации теней
- Общие настройки
- Настройки теней на источниках
- Настройка теней от солнца
- Настройки теней на объектах/материалах
- Устранение неполадок
Подготовка вьюпорта «Блендера»
Чтобы облегчить настройку теней, рекомендуется предварительно настроить окно просмотра («вьюпорта») «Блендерa».
«Вердж3Д» старается быть похожим на движок рендеринга «Иви». Чтобы включить его, воспользуйтесь инструкцией:
-
Убедитесь, что в Render Properties, в диалоговом окне Render Engine выбран рендерер EEVEE:
В версиях Блендер 2.8 и выше «Иви» включён по умолчанию, но возможно что в вашем .blend-файле используется другой движок. В таком случае его следует переключить.
-
Переключите Viewport Shading на Rendered:
Стоит отметить, что настройки мягких теней для «Вердж3Д» отличаются от таковых в «Блендере». Мягкие тени в «Вердж3Д» настраиваются с помощью переключателя фильтрации теней и изменения параметра размытия.
Типы фильтрации теней
Тени в «Вердж3Д» могут выглядеть по-разному в зависимости от того, какой алгоритм фильтрации карты теней используется. Для указания алгоритма используется свойство Shadow Filtering, расположенное на вкладке Render Properties.

Данная функциональность используется в демо-приложении «Чайная церемония» (исходные файлы доступны в магазине ассетов).
Basic — базовые тени
Отключить фильтрацию, рендерить карту теней такой, какая она есть. Это самый быстрый метод рендеринга теней.

Bilinear — билинейный тип
Используйте билинейную фильтрацию для сглаживания соседних пикселей карты теней.

PCF — фильтрация процентного затенения
Расшифровывается как Percentage Closer Filtering (фильтрация процентного затенения). Использует множественный поиск карты теней для сглаженного рендеринга. Среднее качество и производительность. Алгоритм использует псевдослучайный семплинг с использованием диска Пуассона (Poisson Disk Sampling) для устранения пикселизации. Эта настройка была выбрана по умолчанию, поскольку она наиболее соответствует тому, что вы видите во вьюпорте 3Д-редактора.

ESM — экспоненциальные карты теней
Расшифровывается как Exponential Shadow Maps (экспоненциальные карты теней). Этот режим позволяет получить наиболее плавные тени, но возможно возникновение артефактов вида "утечки света". Используйте настройку ESM Bias, чтобы убрать эти артефакты. Производительность алгоритма сравнима с алгоритмом PCF.
Тени ESM могут вызывать сложности в настройке, читайте раздел устранение неполадок прежде чем приступить к настройке теней данного типа.

Какой тип фильтрации выбрать?
Для начала рекомендуем использовать PCF тени (настройка по умолчанию), обеспечивающее хорошее соотношение качество/производительность. Если вам вам нужны более быстрые, но менее качественные тени, используйте тип Basic или Bilinear. Самое лучшее качество достигается с использованием ESM теней, но их недостатком является увеличенная сложность настройки для конкретных сцен.
Общие настройки
Рендеринг теней настраивается с помощью панелей Shadows и Verge3D Settings, расположенных на вкладке Render «Блендера».

- Shadows
- Включает/выключает тени на сцене.
- Light Threshold
- Порог интенсивности света, используемый для расчета расстояния до теневого объема.
- Shadow Filtering
- Алгоритм фильтрации карты теней. Смотрите подробности выше.
- Map Side
- Обозначает, какая сторона полигонов отрисовывается во время рендеринга карты теней. Меняйте это значение для устранения артефактов самозатенения или если вы рендерите плоские модели (например листья или бумагу).
- ESM Distance Scale
-
Коэффициент масштабирования теней ESM. Поскольку алгоритм фильтрации ESM использует абсолютные значения расстояния, уменьшите значение масштаба, если вы работаете над сценой, которая намного больше стандартного куба, и увеличьте его, если ваша сцена намного меньше. Значение по умолчанию равно
1
. Работает только для теней ESM. - Cube Size
- Размер карты для теней, отбрасываемых источниками света Point, Spot и Area. Бо́льшие значения дают лучшее качество, но снижают производительность.
- Cascade Size
- Размер карты для теней, отбрасываемых источником освещения Sun. Бо́льшие значения дают лучшее качество, но снижают производительность.
Настройки теней на источниках
Тени могут быть включены/выключены/настроены для каждого отдельного света с помощью панелей Shadow и Verge3D Settings.

- Shadows
- Включает/выключает тени для данного источника.
- Blur Radius
-
Укажите значение больше
1
, чтобы сделать тени более мягкими (увеличить их размытость). Этот параметр работает только для PCF и ESM теней. - Clip Start
- Начальное расстояние отсечения тени, более высокие значения могут немного улучшить качество теней.
- Bias
- Основной параметр, который следует подстроить, чтобы избавиться от артефактов самозатенения и/или эффекта "Питер Пэна".
- ESM Bias
- Смещение для уменьшения артефактов утечки света ESM. Работает только для ESM теней.
Также для теней типа Sun имеется ряд опций для настройки каскадов:

- Count
- Количество карт, используемых для рендеринга каскадов.
- Fade
- Фактор сглаживания между смежными каскадами.
- Max Distance
- Максимальное расстояние последнего каскада (отмеряется от камеры).
- Distribution
- Распределение. Более высокие значения отдают приоритет ближайшим каскадам.
- Cascade Margin
- Если тени высоких объектов выглядят усеченными, данное значение должно быть увеличено.
Настройка теней от солнца
Каскадные карты теней поддерживаются начиная с «Вердж3Д» версии 4.6. Рекомендации для их настройки:
- Перейдите к просмотру активной камеры, используя меню View→Cameras→Active Camera или клавишу Numpad 0.
- Настройте параметры Cascaded Shadow Map.
- Проверьте как выглядят тени в «Вердж3Д».
- Увеличьте параметр Cascade Margin, если тени от высоких или крупных объектов выглядят усеченными.
Чтобы увеличить производительность, уменьшите количество теневых каскадов и их разрешение.
Настройки теней на объектах/материалах
Тени могут быть включены/выключены для каждого объекта с помощью панелей Visibility и Verge3D Settings.

- Ray Visibility → Shadow
- Включает/выключает отбрасывание тени от данного объекта.
- Receive Shadows
- Включает/выключает приём (отрисовку) тени на данном объекте.
Устранение неполадок
Тени в «Вердж3Д» и во вьюпорте «Блендера» выглядят по-разному
- В силу необходимости обеспечения высокой производительности, «Вердж3Д» не использует те же методы рендеринга теней, которые используются в 3Д-редакторах. Речь о трассировке лучей, сложных эффектов пост-обработки и др. В силу этого, вид теней в «Вердж3Д» может существенно отличаться от вьюпорта.
- «Вердж3Д» основывается на движке рендеринга «Иви». Для того чтобы настроить тени в «Иви», следуйте инструкциям описанным выше.
- Если используется источник освещения типа Sun, ознакомьтесь с соответствующими настройками.
Тени выглядят слишком пикселизированными
- Используйте более высокое значение Cube Size для источников освещения типа Point, Spot, и Area. Используйте более высокое значение Cascade Size для Sun.
- При использовании источника освещения Sun постарайтесь уменьшить значение Max Distance настолько, насколько это возможно.
- Старайтесь маскировать низкое разрешение мягкими полутенями. Такие методы фильтрации теней, как PCF и ESM, а также правильно настроенный Blur Radius могут сделать пикселизацию менее заметной.
Тени видны во вьюпорте «Блендера», но не видны в «Вердж3Д»
- Тени могли быть случайно отключены. Убедитесь, что опция Shadows включена. Также убедитесь, что опция Receive Shadows не была отключена для объектов, которые должны получать тени.
- Очень высокое значение Bias, а иногда и Blur Radius могут частично или полностью удалить тени. В этом случае попробуйте снизить эти значения.
Тени с артефактами

- Такие артефакты называются "теневые акне" или "артефакты самозатенения". Увеличьте значение Bias, чтобы избавиться от них.
У теней нет полутени/полутень слишком мала
- Полутень не может быть настроена для теней типа Basic или Bilinear. Вместо них выберите другой тип фильтрации.
- Увеличьте значение параметра Blur Radius.
ESM тени выглядят блёклыми

- Увеличьте значение ESM Bias.
- Увеличьте значение ESM Distance Scale.
ESM тени выглядят слишком резкими или не имеют полутени.

- Увеличьте Blur Radius.
- Уменьшите значение ESM Bias.
- Уменьшите значение ESM Distance Scale
-
Такие артефакты могут появляться на краю объекта, на который падает тень.
Это один из недостатков ESM. Решение состоит в том, чтобы избежать таких ситуаций.
- Если объект, принимающий тени, сам не отбрасывает тени (например, если они отключены в режиме Shadow Mode), то тени могут вообще не иметь полутени, независимо от того, насколько велик Blur Radius. Решением является включение отбрасывания теней на принимающем объекте или использование дополнительного объекта, отбрасывающего тени, в качестве подложки для исправления полутени.
ESM тени с артефактами

- Уменьшите значение ESM Bias.
- Уменьшите значение ESM Distance Scale.
Каскадные карты теней, тени обрезаются под определенным углом

- Увеличьте значение Cascade Margin.
Каскадные карты теней и ESM тени, тени выглядят блеклыми на стыке каскадов

- Увеличьте значение Cascade Margin.
- Увеличьте значение ESM Bias.
- Увеличьте значение ESM Distance Scale.
Остались вопросы?
Задайте их на нашем форуме!