Освещение и рендеринг / Блендер

Данная страница содержит информацию об освещении, рендеринге и свойствах фона, которые могут быть использованы в «Вердж3Д для Блендера».

Рендереры

«Вердж3Д» воспроизводит блендеровский рендерер «Иви» (в «Блендере» носит название Eevee) настолько точно, насколько это возможно. Он поддерживает физически-корректный шейдинг, лампы, тени и освещение на основе изображений.

Освещение от окружающей среды

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

Стандартные шаблоны приложений (с кубиком) уже предоставляют необходимую ХДР-текстуру (с расширением .hdr) для освещения. Вы можете заменить эту текстуру своей или настроить материал окружения с нуля. Вот так может выглядеть самый простой вариант шейдера окружения (назначается на мире), который используют одну и ту же текстуру для освещения и фона:

Базовый шейдер мира в Блендере

При использовании ХДР-текстур убедитесь, что настройка Color Space установлена в режим Linear.

Источники освещения

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

«Вердж3Д» поддерживает следующие типы ламп:

Точечный источник

Параметры точечных источников в Блендере

Параметры Color и Power поддерживаются в «Вердж3Д». Свойство Power может быть проанимировано.

Солнце

Параметры солнечных источников в Блендере

Параметры Color и Strength поддерживаются в «Вердж3Д». Свойство Strength может быть проанимировано.

Прожектор

Параметры прожекторов в Блендере

Параметры Color, Power, Spot Shape: Size и Blend поддерживаются в «Вердж3Д». Параметр Power может быть проанимирован.

Источник-область

Параметры источников-областей в Блендере

Поддерживаются параметры Color, Power, а также Size для квадратных и Size X/Size Y для прямоугольных источников. Источники в форме диска и эллипса не поддерживаются. Параметр Power может быть проанимирован.

В дополнение к вышеназванным свойствам, вы можете настраивать тени на ваших источниках. Для получения дополнительной информации пройдите по ссылке.

Зонды освещения в виде отражающих кубических текстур

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

Поддерживаются следующие свойства кубических зондов:

Probe
Основные настройки:
Type (тип)
Тип объема влияния: Sphere или Box. Только объекты, расположенные внутри этого объема, подвергаются воздействию освещения зонда.
Radius/Size (Радиус/Размер)
Управляет размером объема влияния. Можно также изменить масштабирование объекта и сделать форму объема влияния неоднородной.
Intensity (Интенсивность)
Интенсивность косвенного освещения. Учтите, что любое значение, отличное от 1,0 не является физически корректным.
Clipping Start (Начальное Отсечение Расстояния)
Расстояние до отсечения. Объекты, расположенные ближе, чем это значение, не будут отображаться в кубической карте отражения.
Clipping End (Конечное Отсечение Расстояния)
Дальнее расстояние отсечения. Объекты, расположенные дальше этого значения, не будут отображаться в кубической карте отражения.
Visibility
Настройки видимости объекта:
Visibility Collection (видимость коллекции)
Ограничить объекты, которые должны появиться на кубической карте отражения, до объектов указанной коллекции. Если не указано, используются все объекты сцены.
Invert Visibility Collection
Инвертировать выбор объектов видимых для данного зонда, если в диалоговом окне Visibility Collection уже указана коллекция.
Custom Parallax
Включить кастомные настройки для коррекции параллакса. Эта группа настроек определяет объем параллакса, который используется для проецирования освещения захваченного датчиком. Если функция Custom Parallax не включена, параллаксный эффект рассчитывается на основе Type и объема влияния Radius/Size.
Type (Тип)
Тип параллаксного объема: Sphere или Box.
Radius/Size (Радиус/Размер)
Размер параллаксного объема.
Custom Influence
Настройки влияния светового зонда, позволяющие назначить коллекцию объектов, которая будет находиться под влиянием соответствующего зонда. При указании параметра Influence Collection, настройки Type и Radius/Distance будут проигнорированы.
Influence Collection
Коллекция объектов, на которую будет оказывать влиние зонд.
Invert Influence Collection
Инвертировать объекты, указанные в коллекции Influence Collection.

Для того чтобы увидеть во вьюпорте «Блендера» результаты использования объектов Reflection Cubemap, вам необходимо запечь их кубические текстуры с помощью кнопок Bake Cubemap Only или Bake Indirect Lighting, расположенных в панели Indirect Lighting, во вкладке Render Properties.

Также свойство Cubemap Size влияет на размер кубической текстуры используемой объектами Reflection Cubemap.

Настройка IBL Env. Mode также влияет на кубические карты, создаваемые объектами Reflection Cubemap.

Из-за особенностей реализации существуют различия между тем, как световые зонды Reflection Cubemap ведут себя в «Блендере» и в «Вердж3Д»:

Зонды освещения в виде планарных отражений

Зонды планарных отражений — удобный способ добавить непрямые зеркальные отражения на плоские объекты, в частности, на зеркала, пол, стены и т.д.

Демо загрузить-выгрузить
Планарные отражения в демо-приложении «Загружаем-выгружаем».

Данная функциональность используется в демо-приложении «Зонды освещения» (исходные файлы доступны в магазине ассетов).

Поддерживаются следующие свойства планарных зондов:

Свойства планарных зондов в Блендере
Distance
Дистанция влияния зонда.
Falloff
Интенсивность спада влияния.
Clipping Offset
Ближняя плоскость отсечения для объектов, отображаемых в данном планарном зонде.
Visibility Collection
Коллекция объектов видимых данным зондом.

Планарные зонды могут существенно ухудшить производительность ваших приложений, поскольку для их работы требуется N+1 вызовов отрисовки. Чтобы ускорить рендеринг, всегда ограничивайте количество объектов с помощью коллекции Visibility Collection.

Фон сцены

По умолчанию «Блендер» и «Вердж3Д» рендерят одно и то же изображение для освещения фона и окружения. Чтобы отрисовать их отдельно, используйте расширенную настройку материала мира, основанную на использовании выхода Is Camera Ray ноды Light Path. Например, чтобы установить цвет фона сплошным серым и продолжать использовать карту ХДР для освещения:

Сложный материал мира Блендера

Глобальные настройки рендеринга

Свойства глобального рендеринга доступны на панели Render Properties в «Блендере».

Панель Ambient Occlusion

Настройки эффекта эмбиент окклюжн в Блендере

Большинство этих настроек поддерживаются в «Вердж3Д». Смотрите полный список ниже.

Панель Shadows

Настойки теней в Блендере

Смотрите подробное описание этих настроек в разделе Тени.

Панель Indirect Lighting

Настройки непрямого освещения в Блендере
Cubemap Size
Размер текстуры, используемой для освещения окружающей среды:
64, 128
Не используйте, 256 является минимальным разрешением поддерживаемым в «Вердж3Д».
256
Оптимальное качество при низком потреблении памяти (рекомендовано).
512
Лучшее качество при умеренном потреблении памяти и снижении производительности. Используйте его для рендеринга отражений высокого качества, например, для рендеринга ювелирных изделий.
1024
Наилучшее качество при высоком потреблении памяти и низкой производительности (как правило, не рекомендуется).
2048, 4096
Не использовать, 1024 это максимальное значение, поддерживаемое в «Вердж3Д».

Панель Color Management

Настройки цветокоррекции в Блендере
View Transform
Дополнительная цветокоррекция, применяемая к рендерам «Вердж3Д»:
Standard
Без дополнительной цветокоррекции. Переключитесь на этот метод, если вам не нужна цветокоррекция, так как он работает немного быстрее чем Filmic.
Filmic
Метод по умолчанию в «Блендере».
Filmic Log, Raw, False Color
Не поддерживаются в «Вердж3Д», вместо них будет использоваться Standard.

Панель Verge3D Settings

В дополнении к стандартным блендеровским панелям, «Вердж3Д» поддерживает следующие настройки:

Настройки Вердж3Д в Блендере
Copyright
Назначьте информацию об авторском праве в этом поле, чтобы обозначить, что экспортированные модели принадлежат именно вам.
Export Constraints
Экспортировать блендеровские ограничители. Подробная информация об ограничителях и их настройках, поддерживаемых в «Вердж3Д», представлена здесь.
Export Custom Props
Экспортировать кастомные свойства. Читайте документацию на соответствующий пазл, чтобы узнать как работать с этой функцией.
Bake Modifiers
По умолчанию «Вердж3Д» не поддерживает блендеровские модификаторы, однако включение данной опции позволяет запекать их в геометрию непосредственно перед экспортом.
Bake Text
Экспортировать объекты текста как есть или запекать в геометрию (меши). Читайте подробнее об этих режимах в разделе про текст.
LZMA Compression
Включить ЛЗМА-компрессию для экспортированных файлов. Читайте подробности об использовании этой функции здесь.
Compress Textures
Экспортировать текстуры с компрессией.
Optimize Mesh Attrs
Удалять неиспользуемые атрибуты геометрии (напрмер тангенты) из экспортируемых мешей.
Anti-Aliasing
Выберите, какой алгоритм сглаживания (анти-алиасинга) использовать для сцены:
Auto
Использовать системный метод по умолчанию.
MSAA 4x
Использовать мультисемплинг с 4-мя семплами, если такая настройка поддерживается оборудованием.
MSAA 8x
Использовать мультисемплинг 8-ю семплами, если такая настройка поддерживается оборудованием.
MSAA 16x
Использовать мультисемплинг с 16-ю семплами, если такая настройка поддерживается оборудованием.
FXAA
Использовать БААА (быстрый аппроксимирующий анти-алиасинг). Включите этот алгоритм в случае проблем с алиасингом процедурных текстур.
None
Отключить сглаживание.
Use HDR Rendering
Включить рендеринг с высоким динамическим диапазоном (ХДР).
Order-Indep. Transparency
Включить метод порядок-независимой прозрачности (OIT). Избавляет от большинства артефактов при рендеринге обьектов с прозрачностью. Подробнее об этом здесь.
IBL Env. Mode
PMREM (slow)
Высокое качество (значение по умолчанию).
Light Probe + Cubemap (medium)
Снижение качества зеркальных отражений на основе изображений, лучшая производительность.
Light Probe (fast)
Отключение зеркальных отражений на основе изображений, высочайшая производительность.
Animation
Глобальные настройки анимации. Читайте о них здесь.
Shadows
Настройки теней. Смотрите подробности в соответствующем разделе.
Outline Effect
Читайте ниже.
Export Collections
Коллекции объектов, которые окажутся в экспортированном ГЛТФ-файле.

Эмбиент окклюжн

Эмбиент окклюжн (англ. ambient occlusion) — техника улучшающая реалистичность рендеринга посредством дополнительного затенения от непрямых источников. Степень этого затенения определяется тем, насколько видима рисуемая часть объекта, если смотреть не из камеры, а со стороны источников освещения.

Поскольку в «Блендере» используется особый алгоритм расчёта эффекта эмбиент окклюжн, называемый GTAO (Ground Truth Ambient Occlusion) (см. подробности) движок «Вердж3Д» воспроизводит тот же самый алгоритм.

Мы поддерживаем следующие настройки секции Ambient Occlusion, расположенной на панели Render Properties:

Опции эмбиент окклюжн Блендера
Ambient Occlusion
Включить/выключить эмбиент окклюжн.
Distance
Радиус (в блендеровских единицах измерения) в пределах которого будет производиться расчёт эффекта. Большие значения делают эффект более заметным, но уменьшают производительность, соответственно меньшие значения делают эффект менее заметным.
Factor
Интенсивность эффекта эмбиент окклюжн.
Trace Precision
Более высокие значения увеличивают точность эффекта за счёт снижения производительности. Меньшие значения уменьшают качество, но увеличивают производительность.
Bent Normals
Использовать модифицированные («изогнутые», от англ. bent) нормали для семплирования карты окружения, вместо оригинальных. Направление модифицированных нормалей задаётся в сторону наименьшего затененения, что улучшает качество эффекта, но уменьшает производительность.

Визуализация контура

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

Визуализация контура используется для выделения частей сложного объекта в демо-приложении «Промышленный робот».

Чтобы использовать визуализацию контура (и дополнительное свечение) в «Вердж3Д»-приложении, сначала включите эффект на панели Render Properties в «Блендере»:

а затем используйте пазл outline, чтобы применить его к объекту (объектам).

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

Настроить контур можно с помощью следующих свойств:

Edge Strength
Фактор силы контура.

Edge Glow
Интенсивность дополнительного свечения (отрисовывается за пределами основного края контура).

Edge Thickness
Коэффициент толщины края контура.

Pulse Period
Период импульса в секундах. Укажите, чтобы сделать эффект анимированным.

Visible Edge Color
Цвет видимого контура.

Hidden Edge Color
Цвет края контура, отображаемого за другими объектами сцены.

Render Hidden Edge
Включить/выключить отрисовку края контура за другими объектами сцены.

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

Настройки рендеринга объектов

«Вердж3Д» поддерживает следующие дополнительные свойства рендеринга для геометрических объектов:

Настройки рендеринга объектов в Блендере
Render Order
Изменяет порядок рендеринга для конкретного объекта. Чем меньше индекс, тем раньше будет отрисован объект. В большинстве случаев это значение необходимо подстроить при использовании прозрачности типа blend для устранения артефактов прозрачности.
Frustum Culling
Включает/выключает оптимизацию фрустум каллинга. Снимите этот флажок, если у вас есть объект со скиннингом, который может выходить за пределы экранного пространства, чтобы предотвратить его пропадание.
Receive Shadows
Отрисовывать или не отрисовывать тени на данном объекте. Более подробную информацию смотрите здесь
HiDPI Compositing
Включить/выключить пасс рендеринга с высокой плотностью пикселей. Смотрите ниже для получения дополнительной информации.
Fix Ortho Zoom
Применять обратное увеличение к объектам, которые рендерятся с использованием ортографической камеры. Данная коррекция используется для того, чтобы сделать объекты, дочерние к такой камере, неподвижными и имеющими неизменяемые размеры.

Если активация этой настройки не помогает, очистите матрицу Parent Inverse:

Очистка parent inverse матрицы в Блендере

Рендеринг с высокой плотностью пикселей («ретина»)

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

Есть 2 способа улучшить качество ВПП-рендеринга, но так чтобы производительность не уменьшалась слишком сильно:

Второй способ активируется с помощью настройки HiDPI Compositing расположенной на панели Object Properties:

Настройки рендеринга в высоком разрешении в Блендере

Данная функциональность используется в демо-приложении «Кольцо» (исходные файлы доступны в магазине ассетов).

Контрольные точки видимости

Контрольные точки видимости (Visibility Breakpoints в «Блендере») позволяют скрывать/показывать объекты в зависимости от ширины/высоты 3Д-вьюпорта и его ориентации. Чаще всего эта функция требуется, чтобы адаптировать сцену для различных экранов. Например вы можете создать два объекта для вертикальной и горизонтальной компоновки экрана и показывать лишь один из них.

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

Используйте блендеровскую функцию Duplicate Linked чтобы расшаривать геометрию между альтернативными объектами (например для вертикальной и горизонтальной компоновки сцены). Таким образом вы сэкономите память ГПУ и уменьшите время загрузки сцены.

Контрольные точки видимости настраиваются на панели Object Properties:

Контрольные точки видимости Вердж3Д
Min Width
Минимальная ширина канваса при которой объект остаётся видимым.
Max Width
Максимальная ширина канваса при которой объект остаётся видимым.
Min Height
Минимальная высота канваса при которой объект остаётся видимым.
Max Height
Максимальная высота канваса при которой объект остаётся видимым.
Orientation
Ориентация экрана при которой объект остаётся видимым.

Настройки рендеринга материалов

Ниже приведён список общих настроек материалов, поддерживаемых в «Вердж3Д». Описание настроек поддерживаемых шейдерных нод приведено в другом разделе.

Панель Settings

Настройки материалов в Блендере
Blend Mode
Режим прозрачности. Дополнительная информация находится здесь.
Shadow Mode
Режим прозрачности для теней. В «Вердж3Д» поддерживаются режимы Opaque и None.
Clip Threshold
Граница отсечения для материалов Alpha Clip.
Pass Index
Индекс пасса материала. В «Вердж3Д» это значение подаётся в ноду Object Info.

Панель Verge3D Settings

Вердж3Д-специфичные настройки матералов в Блендере
Render Side
Являясь классическим реалтаймовым рендером, «Вердж3Д» использует отбраковку задних граней для увеличения производительности. Соответственно, лишь передние грани рендерятся по умолчанию. Данное поведение можно изменить используя настройку Render Side.
Depth Write
Отключение записи в буфер глубины можно использовать для реализации аддитивной прозрачности.
Depth Test
Отключите тестирование по глубине и увеличьте параметр Rendering Order чтобы отрендерить плоские объекты (декалли и спрайты) поверх другой геометрии.
Dithering
Включить дитеринг. Дитеринг используется для уменьшения артефактов-полос, появляющихся при использовании тёмных сцен и градиентов.
glTF 2.0 compatible
Сделать материал ГЛТФ-совместимым. Смотрите раздел про ГЛТФ-материалы чтобы узнать подробности.

Рендеринг линий

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

Рендеринг скелета геометрического объекта
Рендеринг скелета геометрического объекта.

Рендеринг линий включается на панели Verge3D Settings, которая в свою очередь расположена на панели Object Data Properties:

Настройки рендеринга линий

Тут также настройки цвета и толщины линий. В «Вердж3Д» линии рендерятся с помощью эмиссивного шейдера (без освещения).

Данная функциональность используется в демо-приложении «Линии» (исходные файлы доступны в магазине ассетов).

Секущие плоскости

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

Чтобы добавить новую плоскость сечения, используйте пункт меню Clipping Plane из меню Add Object в Блендер:

Объекты в вашей сцене будут обрезаны в отрицательном направлении Z объекта плоскости сечения.

Плоскости сечения обладают следующими свойствами:

Affected Objects
Коллекция объектов, с которыми будет взаимодействовать секущая плоскость. Если коллекция не назначена, все объекты сцены будут обрезаны.
Negated
Поменять местами обрезанную и необрезанную стороны.
Clip Shadows
Обрезать тени, отбрасываемые обрезанными объектами.
Union Planes
Постройте объединение из всех плоскостей сечения, воздействуя на объект, а не на их пересечение.
Filled Cross-Section
Заполните отверстие образованное секущей плоскостью в затронутых объектах.
Color
Цвет и прозрачность поперечного сечения.
Render Side
Сторона геометрии плоскости отсечения. Укажите Double-sided чтобы рендерить сложную геометрию с вырезами.
Plane Size
Размер плоскости сечения. Увеличьте это значение, если вы используете сцену большего размера.

Данная функциональность используется в демо-приложении «Мясорубка» (исходные файлы доступны в магазине ассетов).

Остались вопросы?

Задайте их на нашем форуме!