Освещение и рендеринг / Блендер
Данная страница содержит информацию об освещении, рендеринге и свойствах фона, которые могут быть использованы в «Вердж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Д»:
- «Блендер» поддерживает несколько световых зондов на объект, в то время как «Вердж3Д» только один. Поэтому объекты в «Вердж3Д» используют одну кубическую карту либо из объекта Reflection Cubemap, либо из мирового окружения. Функция Falloff не поддерживается.
- В отличие от «Вердж3Д», «Блендер» не использует Backface Culling для объектов по умолчанию. Поэтому блендеровские объекты, расположенные в зоне влияния зонда могут появиться на кубической карте отражения как черные пятна из-за отрисовки задних граней, если параметры Clipping Start/Clipping End не настроены должным образом. В «Вердж3Д» такого не происходит.
- При рендеринге (запекании) объектов в кубическую текстуру светового зонда, «Блендер» учитывает только диффузную составляющую материала объекта, а «Вердж3Д» рендерит их не иначе, чем они визуализируются на основной сцене. Вот почему, например, полностью металлические объекты в «Блендере» отображаются черными, а в «Вердж3Д» они по-прежнему отражают окружающую среду.
- Чтобы свойство Visibility Collection работало в «Блендере», необходимо, чтобы указанная коллекция также была связана со сценой. В «Вердж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Д».
- View Transform
- Дополнительная цветокоррекция, применяемая к рендерам «Вердж3Д»:
- Standard
- Без дополнительной цветокоррекции. Переключитесь на этот метод, если вам не нужна цветокоррекция, так как он работает немного быстрее чем Filmic.
- Filmic
- Метод по умолчанию в «Блендере».
- Filmic Log, Raw, False Color
- Не поддерживаются в «Вердж3Д», вместо них будет использоваться Standard.
- 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
- Включить/выключить эмбиент окклюжн.
- Distance
- Радиус (в блендеровских единицах измерения) в пределах которого будет производиться расчёт эффекта. Большие значения делают эффект более заметным, но уменьшают производительность, соответственно меньшие значения делают эффект менее заметным.
- Factor
- Интенсивность эффекта эмбиент окклюжн.
- Trace Precision
- Более высокие значения увеличивают точность эффекта за счёт снижения производительности. Меньшие значения уменьшают качество, но увеличивают производительность.
- Bent Normals
- Использовать модифицированные («изогнутые», от англ. bent) нормали для семплирования карты окружения, вместо оригинальных. Направление модифицированных нормалей задаётся в сторону наименьшего затененения, что улучшает качество эффекта, но уменьшает производительность.
- Edge Strength
- Фактор силы контура.
- Edge Glow
- Интенсивность дополнительного свечения (отрисовывается за пределами основного края контура).
- Edge Thickness
- Коэффициент толщины края контура.
- Pulse Period
- Период импульса в секундах. Укажите, чтобы сделать эффект анимированным.
- Visible Edge Color
- Цвет видимого контура.
- Hidden Edge Color
- Цвет края контура, отображаемого за другими объектами сцены.
- Render Hidden Edge
- Включить/выключить отрисовку края контура за другими объектами сцены.
- Render Order
- Изменяет порядок рендеринга для конкретного объекта. Чем меньше индекс, тем раньше будет отрисован объект. В большинстве случаев это значение необходимо подстроить при использовании прозрачности типа blend для устранения артефактов прозрачности.
- Frustum Culling
- Включает/выключает оптимизацию фрустум каллинга. Снимите этот флажок, если у вас есть объект со скиннингом, который может выходить за пределы экранного пространства, чтобы предотвратить его пропадание.
- Receive Shadows
- Отрисовывать или не отрисовывать тени на данном объекте. Более подробную информацию смотрите здесь
- HiDPI Compositing
- Включить/выключить пасс рендеринга с высокой плотностью пикселей. Смотрите ниже для получения дополнительной информации.
- Fix Ortho Zoom
-
Применять обратное увеличение к объектам, которые рендерятся с использованием ортографической камеры. Данная коррекция используется для того, чтобы сделать объекты, дочерние к такой камере, неподвижными и имеющими неизменяемые размеры.
Если активация этой настройки не помогает, очистите матрицу Parent Inverse:
- Увеличить разрешение не так сильно, например выставив фактор масштабирования в 1.5. Смотрите здесь чтобы узнать подробнее об этой технике.
- Использовать высокое разрешение только там, где это наиболее актуально, например чтобы улучшить качество текста и интерфейсных элементов.
- Min Width
- Минимальная ширина канваса при которой объект остаётся видимым.
- Max Width
- Максимальная ширина канваса при которой объект остаётся видимым.
- Min Height
- Минимальная высота канваса при которой объект остаётся видимым.
- Max Height
- Максимальная высота канваса при которой объект остаётся видимым.
- Orientation
- Ориентация экрана при которой объект остаётся видимым.
- Blend Mode
- Режим прозрачности. Дополнительная информация находится здесь.
- Shadow Mode
- Режим прозрачности для теней. В «Вердж3Д» поддерживаются режимы Opaque и None.
- Clip Threshold
- Граница отсечения для материалов Alpha Clip.
- Pass Index
- Индекс пасса материала. В «Вердж3Д» это значение подаётся в ноду Object Info.
- Render Side
- Являясь классическим реалтаймовым рендером, «Вердж3Д» использует отбраковку задних граней для увеличения производительности. Соответственно, лишь передние грани рендерятся по умолчанию. Данное поведение можно изменить используя настройку Render Side.
- Depth Write
- Отключение записи в буфер глубины можно использовать для реализации аддитивной прозрачности.
- Depth Test
- Отключите тестирование по глубине и увеличьте параметр Rendering Order чтобы отрендерить плоские объекты (декалли и спрайты) поверх другой геометрии.
- Dithering
- Включить дитеринг. Дитеринг используется для уменьшения артефактов-полос, появляющихся при использовании тёмных сцен и градиентов.
- glTF 2.0 compatible
- Сделать материал ГЛТФ-совместимым. Смотрите раздел про ГЛТФ-материалы чтобы узнать подробности.
- Affected Objects
- Коллекция объектов, с которыми будет взаимодействовать секущая плоскость. Если коллекция не назначена, все объекты сцены будут обрезаны.
- Negated
- Поменять местами обрезанную и необрезанную стороны.
- Clip Shadows
- Обрезать тени, отбрасываемые обрезанными объектами.
- Union Planes
- Постройте объединение из всех плоскостей сечения, воздействуя на объект, а не на их пересечение.
- Filled Cross-Section
- Заполните отверстие образованное секущей плоскостью в затронутых объектах.
- Color
- Цвет и прозрачность поперечного сечения.
- Render Side
- Сторона геометрии плоскости отсечения. Укажите Double-sided чтобы рендерить сложную геометрию с вырезами.
- Plane Size
- Размер плоскости сечения. Увеличьте это значение, если вы используете сцену большего размера.
Панель Color Management
Панель Verge3D Settings
В дополнении к стандартным блендеровским панелям, «Вердж3Д» поддерживает следующие настройки:
Эмбиент окклюжн
Эмбиент окклюжн (англ. ambient occlusion) — техника улучшающая реалистичность рендеринга посредством дополнительного затенения от непрямых источников. Степень этого затенения определяется тем, насколько видима рисуемая часть объекта, если смотреть не из камеры, а со стороны источников освещения.
Поскольку в «Блендере» используется особый алгоритм расчёта эффекта эмбиент окклюжн, называемый GTAO (Ground Truth Ambient Occlusion) (см. подробности) движок «Вердж3Д» воспроизводит тот же самый алгоритм.
Мы поддерживаем следующие настройки секции Ambient Occlusion, расположенной на панели Render Properties:
Визуализация контура
Контурный рендеринг — распространенная техника нефотореалистичного рендеринга, которая может значительно улучшить визуальное восприятие вашей сцены. Этот эффект можно использовать в различных приложениях, таких как электронное обучение, игры, архитектурная визуализация и техническое рисование.
Чтобы использовать визуализацию контура (и дополнительное свечение) в «Вердж3Д»-приложении, сначала включите эффект на панели Render Properties в «Блендере»:
а затем используйте пазл outline, чтобы применить его к объекту (объектам).
Контурный рендеринг не работает с виртуальной и дополненной реальностью. Используйте другие методы выделения объектов, например анимацию или изменение цвета материала.
Настроить контур можно с помощью следующих свойств:
Хотя есть возможность визуализировать светящиеся объекты, в большинстве случаев контурный рендеринг используется для улучшения повышения чёткости сцены. Если вам нужно свечение от ламп или других ярких объектов, подумайте об использовании постобработки bloom вместо этого.
Настройки рендеринга объектов
«Вердж3Д» поддерживает следующие дополнительные свойства рендеринга для геометрических объектов:
Рендеринг с высокой плотностью пикселей («ретина»)
На сегодняшний день экраны большинства мобильных устройств и многих десктопов имеют высокую плотность пикселей (так называемые «ретина»-дисплеи). Рендеринг на этих экранах в полном разрешении может значительно улучшить качество изображения, однако это может значительно ухудшить ситуацию с производительностью.
Есть 2 способа улучшить качество ВПП-рендеринга, но так чтобы производительность не уменьшалась слишком сильно:
Второй способ активируется с помощью настройки HiDPI Compositing расположенной на панели Object Properties:
Данная функциональность используется в демо-приложении «Кольцо» (исходные файлы доступны в магазине ассетов).
Контрольные точки видимости
Контрольные точки видимости (Visibility Breakpoints в «Блендере») позволяют скрывать/показывать объекты в зависимости от ширины/высоты 3Д-вьюпорта и его ориентации. Чаще всего эта функция требуется, чтобы адаптировать сцену для различных экранов. Например вы можете создать два объекта для вертикальной и горизонтальной компоновки экрана и показывать лишь один из них.
Контрольные точки могут быть назначены и для камер. В таком случае движок переключит активную камеру на альтернативную, если параметры её контрольных точек окажутся подходящими (в противном случае переключения не произойдет).
Используйте блендеровскую функцию Duplicate Linked чтобы расшаривать геометрию между альтернативными объектами (например для вертикальной и горизонтальной компоновки сцены). Таким образом вы сэкономите память ГПУ и уменьшите время загрузки сцены.
Контрольные точки видимости настраиваются на панели Object Properties:
Настройки рендеринга материалов
Ниже приведён список общих настроек материалов, поддерживаемых в «Вердж3Д». Описание настроек поддерживаемых шейдерных нод приведено в другом разделе.
Панель Settings
Панель Verge3D Settings
Рендеринг линий
С помощью этой функции вы можете рендерить блендеровские объекты с помощью линий. Чаще всего эта функция используется для рендеринга кривых, которые не обладают собственной геометрией, однако также может использоваться для рендеринга скелета мешей и поверхностей.
Рендеринг линий включается на панели Verge3D Settings, которая в свою очередь расположена на панели Object Data Properties:
Тут также настройки цвета и толщины линий. В «Вердж3Д» линии рендерятся с помощью эмиссивного шейдера (без освещения).
Данная функциональность используется в демо-приложении «Линии» (исходные файлы доступны в магазине ассетов).
Секущие плоскости
Секущие плоскости (они же плоскости сечений) — это способ, используемый для отображения внутреннего устройства сложных объектов, таких как здания, автомобили, приборы, гаджеты, машины и т.д.
Чтобы добавить новую плоскость сечения, используйте пункт меню Clipping Plane из меню Add Object в Блендер:
Объекты в вашей сцене будут обрезаны в отрицательном направлении Z объекта плоскости сечения.
Плоскости сечения обладают следующими свойствами:
Данная функциональность используется в демо-приложении «Мясорубка» (исходные файлы доступны в магазине ассетов).
Остались вопросы?
Задайте их на нашем форуме!