Вердж3Д для 3дс Макса: Освещение и Рендеринг — Софт Эйт Софт
Description: Эта страница содержит информацию о настройках освещения и рендеринга в 3дс Макс, поддерживаемых в Вердж3Д.

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

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

- Рендереры
- Освещение от окружающей среды
- Источники освещения
  - Источники освещения типа Photometric
  - Источники освещения типа Standard
- Зонды освещения в виде отражающих кубических текстур
- Зонды освещения в виде планарных отражений
- Глобальные настройки рендеринга
  - Вкладка Common
  - Вкладка Shadows
  - Вкладка Animation
  - Вкладка AO
  - Вкладка Outlining
- Эмбиент окклюжн
- Визуализация контура
- Контроль экспозиции
- Настройки рендеринга объектов
- Рендеринг с высокой плотностью пикселей («ретина»)
- Контрольные точки видимости
- Рендеринг линий
- Секущие плоскости

#

## Рендереры

«Вердж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:

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

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

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

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

#

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

Глобальные настройки рендеринга, доступны из диалогового окна Verge3D Export Settings (вызываются из меню «3дс Макса» Verge3D → Export 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

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

#

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

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

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

«Вердж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дс Макса» поддерживает следующие алгоритмы управления экспозицией:

- Physical Camera Exposure Control
- Logarithmic Exposure Control

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

#

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

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

### Панель Verge3D Rendering Params

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

### Панель Verge3D Adv. Rendering Params

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

#

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

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

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

- Увеличить разрешение не так сильно, например выставив фактор масштабирования в `1.5`. Смотрите здесь чтобы узнать подробнее об этой технике.
- Использовать высокое разрешение только там, где это наиболее актуально, например чтобы улучшить качество текста и интерфейсных элементов.

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

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

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

- Вы не можете применять эффекты постобработки к объектам, отображаемым в HiDPI-пассе.
- Такие объекты не могут быть заслонены объектами, которые рендерятся перед ними. Это может давать артефакты, как показано на рисунки ниже (зелёный — обычный объект, синий — HiDPI-объект, но зелёный ближе к наблюдателю):

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

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

#

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

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

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

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

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

#

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

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

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

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

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

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

#

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

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

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

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

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

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

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

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

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

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