Освещение и Рендеринг / 3дс Макс

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

Рендереры

«Вердж3Д» поддерживает три рендера, предоставляемые «3дс Максом»: «Сканлайн», «АРТ» и «Арнольд» (рекомендуется). Рендерер «Сканлайн» предназначен для использования со стандартным освещением и материалами, а «АРТ»/«Арнольд» обычно используется с фотометрическим освещением и физическими материалами.

Выбор правильного рендерера — это первое, о чем следует подумать перед началом работы с графикой. Если вы не уверены, какой рендерер выбрать, мы рекомендуем использовать «Арнольд». Чтобы установить рендерер в «3дс Максе», используйте окно "Render Setup...".

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

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

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

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

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

«Вердж3Д» поддерживает два типа источников освещения, предоставляемых «3дс Максом»: standard и photometric.

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

Photometric источники обычно используются с физическими материалами. «Вердж3Д» воспроизводит их, используя «Арнольд»-рендерер «3дс Макса» в качестве эталона. Кроме того, вы можете использовать настройки физической камеры Exposure Controls для настройки яркости и цветового диапазона ваших рендеров.

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

Standard источники обычно используются со стандартными материалами. «Вердж3Д» воспроизводит их, используя в качестве эталона рендер «Сканлайн».

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

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

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

Этот объект можно добавить используя панель Create → категория Helpers → подкатегория Verge3D:

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

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

Cлева — отражающий объект во вьюпорте «Макса», справа — эффект, который он добавляет к отражающему материалу в «Вердж3Д».

Объекты Reflection Cubemap имеют следующие параметры:

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

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

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

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

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

«Вердж3Д» добавляет в «3дс Макс» объект типа V3DReflectionPlane реализующий логику планарных отражений. Этот объект находится на панели Create → категория Helpers → подкатегория Verge3D:

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

Свойства планарных зондов в 3дс Максе
Length
Длина плоскости отражения.
Width
Ширина плоскости отражения.
Distance
Дистанция влияния зонда.
Falloff
Интенсивность спада влияния.
Clipping Offset
Ближняя плоскость отсечения для объектов, отображаемых в данном планарном зонде.
Visibility Selection Set
Набор выделенных объектов, видимых данным зондом.

Производительность

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

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

Глобальные настройки рендеринга, доступны из диалогового окна Verge3D Export Settings (вызываются из меню «3дс Макса» Verge3DExport Settings...).

Вкладка Common

Scene Copyright
Назначьте информацию об авторском праве в этом поле, чтобы обозначить, что экспортированные модели принадлежат именно вам.
Bake Text
Экспортировать объекты текста как есть или запекать в геометрию (меши). Читайте подробнее об этих режимах в разделе про текст.
Enable LZMA Compression
Включить LZMA-компрессию для экспортированных файлов. Читайте подробности об использовании этой функции здесь.
Compress Textures
Экспортировать текстуры с компрессией.
Anti-Aliasing
Выберите, какой алгоритм сглаживания (анти-алиасинга) использовать для сцены:
Auto
Использовать системный метод по умолчанию. В большинстве случаев это будет MSAA 4x.
MSAA 4x
Использовать мультисемплинг с 4-мя семплами, если такая настройка поддерживается оборудованием. Обеспечивает приемлемое качество при хорошей производительности.
MSAA 8x
Использовать мультисемплинг 8-ю семплами, если такая настройка поддерживается оборудованием. Обеспечивает улучшенное качестве при сниженной производительности.
MSAA 16x
Использовать мультисемплинг с 16-ю семплами, если такая настройка поддерживается оборудованием. Обеспечивает максимальное качество, но имеет самую низкую производительность.
FXAA
Использовать FXAA (быстрый аппроксимирующий анти-алиасинг). Включите этот алгоритм в случае проблем с алиасингом процедурных текстур.
None
Отключить сглаживание. Используйте эту опцию для агрессивной оптимизации, когда качество не имеет значения.
Use HDR Rendering

Включает рендеринг с высоким динамическим диапазоном (HDR).

При включении этой опции «Вердж3Д» будет использовать 16-битные текстуры для буферов рендеринга. Эта функция может значительно улучшить качество эффекта постобработки «Блум», а также «гладкость» процедурных текстур градиентов. Недостаток — увеличенное потребление видеопамяти и сниженная производительность.

Эта настройка не имеет отношения к .hdr-текстурам, используемым для рендеринга окружения. Соответственно, включение HDR-рендеринга никак не отразится на их качестве.

Order-Indep. Transparency
Включить метод порядконезависимой прозрачности (OIT). Избавляет от большинства артефактов при рендеринге объектов с прозрачностью. Подробнее об этом здесь.
Environment Map Size
Размер карты используемой для освещения:
256
Оптимальное качество и минимальное потребление видеопамяти (значение по умолчанию).
Улучшенное качество при умеренном потреблении памяти и снижении производительности. Используйте его для рендеринга отражений высокого качества, например, для рендеринга ювелирных изделий.
1024
Наилучшее качество при высоком потреблении памяти и низкой производительности (как правило, не рекомендуется).
IBL Environment Mode

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

PMREM (best)
Использовать карты PMREM. Это значение используется по умолчанию, поскольку обеспечивает наилучшее качество при нормальной производительности.
Light Probe (fast)
Отключает спекулярные отражения от карты окружения (но не диффузные). Метод быстрый, но подходит только для неметаллических поверхностей (например отлично подходит для шейдерных нод типа Standard и Lambert).
None (fastest)
Отключает и спекулярные и диффузные отражения от карты окружения. Высочайшая производительность, но подходит только для материалов, которым не требуется освещение от карты освещения (например эмиссивные шейдеры), либо требуется освещение только от источников света.
Optimize Mesh Attrs
Удалять неиспользуемые атрибуты геометрии (напрмер тангенты) из экспортируемых мешей.

Вкладка Shadows

Глобальные настройки теней. Читайте о них в разделе о тенях.

Вкладка Animation

Глобальные настройки анимации. Смотрите тут.

Вкладка AO

Настройки эмбиент окклюжн. Читайте подробности ниже.

Вкладка Outlining

Outline settings window

Настройки визуализации контура. Смотрите ниже.

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

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

Движок «Вердж3Д» воспроизводит алгоритм называемый GTAO (Ground Truth Ambient Occlusion). Настройки этого алгоритма находятся на вкладке AO настроек экспорта Verge3D Export Settings (вызываются из меню «3дс Макса» Verge3DExport Settings...)

Ambient occlusion settings window

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

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

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

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

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

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

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

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

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

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

Enabled
Включить контурный рендеринг.

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

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

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

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

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

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

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

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

Контроль экспозиции

«Вердж3Д для 3дс Макса» поддерживает следующие алгоритмы управления экспозицией:

Дополнительные сведения о том, как настроить элементы управления экспозицией для сцены, см. в официальной документации «Автодеск».

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

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

Панель Verge3D Rendering Params

Render Order
Изменяет порядок рендеринга для конкретного объекта. Чем меньше индекс, тем раньше будет отрисован объект. В большинстве случаев это значение необходимо подстроить при использовании прозрачности типа blend для устранения артефактов прозрачности.
Frustum Culling
Включает/выключает оптимизацию фрустум каллинга. Снимите этот флажок, если у вас есть объект со скиннингом, который может выходить за пределы экранного пространства, чтобы предотвратить его пропадание.

Панель Verge3D Adv. Rendering Params

Fit to Camera Edge
Смотрите здесь чтобы получить больше информации об этой функции.
Visibility Breakpoints
Включить контрольные точки видимости. Смотите здесь.
HiDPI Compositing
Включить/выключить пасс рендеринга с высокой плотностью пикселей. Смотрите ниже для получения дополнительной информации.
Fix Ortho Zoom
Применять обратное увеличение к объектам, которые рендерятся с использованием ортографической камеры. Данная коррекция используется для того, чтобы сделать объекты, дочерние к такой камере, неподвижными и имеющими неизменяемые размеры.

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

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

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

Второй способ активируется с помощью настройки HiDPI Compositing расположенной на панели Verge3D Adv. Rendering Params:

Настройки рендеринга в высоком разрешении в 3дс Максе
HiDPI-композитинг используется для отображения текста и элементов управления в демо «Электронное обучение».

Однако рендеринг контента в отдельном пассе с высоким качеством имеет свои ограничения:

Это означает, что настройка HiDPI Compositing должна использоваться в основном для интерфейсных элементов и объектов, привязанных к камере.

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

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

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

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

Контрольные точки видимости настраиваются на панели Verge3D Adv. Rendering Params:

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

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

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

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

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

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

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

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

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

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

Секущие плоскости используются для показа внутренней структуры мясорубки.

Чтобы добавить новую плоскость обрезания, используйте кнопку CreateHelpersVerge3DClippingPlane в «3дс Максе»:

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

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

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

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

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

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