Освещение и рендеринг / Майя
Эта страница содержит информацию о настройках освещения, рендеринга и фона, которые можно использовать в «Вердж3Д для Майи».
- Рендереры
- Освещение от окружающей среды
- Источники освещения
- Зонды освещения в виде отражающих кубических текстур
- Зонды освещения в виде планарных отражений
- Фон
- Глобальные настройки рендеринга
- Эмбиент окклюжн
- Контурный рендеринг
- Настройки рендеринга для каждого объекта
- Рендеринг с высокой плотностью пикселей («ретина»)
- Контрольные точки видимости
- Рендеринг линий
- Секущие плоскости
Рендереры
«Вердж3Д» разработан для максимально возможного соответствия аппаратному рендереру «Вьюпорт 2.0» «Майи». Он поддерживает физически-корректный шейдинг, лампы, тени и освещение на основе изображений.
Освещение от окружающей среды
Освещение от окружающей среды — важная составляющая графического пайплайна «Вердж3Д». Вы можете осветить всю сцену только картой окружения, без использования каких-либо иных источников освещения. Смотрите демо-приложение «Скутер», реализующее данный подход.
Стандартные шаблоны приложений (с кубиком) уже предоставляют необходимую ХДР-текстуру (с расширением .hdr) для освещения. Вы можете заменить эту текстуру своей или настроить материал окружения с нуля. Вот так может выглядеть самый простой вариант шейдера окружения (назначается на мире), который используют одну и ту же текстуру для освещения и фона:
Кроме того, вы можете использовать атрибут Intensity для настройки интенсивности освещения окружения и Texture Resolution для настройки его качества:
- Low (64x64) и Medium (128x128) - значения не поддерживаются, вместо них «Вердж3Д» будет использовать настройку High (256x256) .
- High (256x256) - оптимальное качество при низком потреблении памяти (значение по умолчанию).
- Higher (512x512) - лучшее качество при умеренном потреблении памяти и снижении производительности. Используйте его для рендеринга отражений высокого качества, например, для рендеринга ювелирных изделий.
- Ultra (1024x1024) - наилучшее качество при высоком потреблении памяти и низкой производительности (обычно не рекомендуется).
При использовании ХДР-текстуры для skydome, убедитесь, что для параметра Color Space вы установили значение Raw:
Вы также можете использовать aiSkyDomeLight без текстуры, чтобы имитировать свет, равномерно исходящий со всех сторон. Однако гораздо эффективнее использовать для этого Ambient Lights.
Источники освещения
В некоторых случаях использования только освещения на основе изображения недостаточно. Если вы хотите смоделировать дополнительный источник света, вам нужны динамические тени, или если вам нужно перемещать освещение (как в случае с автомобильными фарами), вы можете использовать источники прямого света.
«Вердж3Д» поддерживает следующие типы освещения:
- Ambient Lights - поддерживаются свойства Color и Power.
- Directional Lights - поддерживаются свойства Color и Intensity.
- Point Lights - поддерживаются свойства Color, Intensity и Decay Rate.
- Spot Lights - поддерживаются свойства Color,, Intensity, Decay Rate, Cone Angle и Penumbra Angle .
- Area Lights — поддерживаются свойства Color, Intensity. Масштабирование трансформации света управляет областью излучения.
Кроме того, вы можете назначить свойства Depth Map Shadow Attributes для источников освещения типа directional, point, или spot. Смотрите здесь для получения дополнительной информации
Зонды освещения в виде отражающих кубических текстур
Световые зонды — это объекты, предназначенные для добавления местного непрямого освещения, путем генерации локальной кубической карты отражений. Данный тип световых зондов добавляет в сцену непрямое спекулярное освещение.
Аддон «Вердж3Д» добавляет настраиваемый объект светового зонда под названием v3dReflectionCubemap, который можно использовать для применения непрямого освещения к объектам с помощью локальной карты отражения.
Новый объект светового зонда можно найти внутри специальной панели Verge3D:
Этот объект определяет область влияния, представленную кубом или сферой.
Все объекты, находящиеся внутри этой области, будут использовать локальное отражение, сгенерированное во время выполнения, вместо глобальной текстуры/цвета окружения сцены.
Преимущество использования локальной карты отражения заключается в том, что окружающие объекты запечены в неё, в то время как глобальная карта сцены содержит только
текстуру/цвет фона, который может быть задан через объект
aiSkyDomeLight . Локальные карты отражения также имеют эффект параллакса в зависимости от настроек геометрии influence
или parallax .
v3dReflectionCubemap объекты имеют следующие параметры:
- Общие настройки
-
общие настройки светового зонда:
- Influence Type
- тип области влияния: Sphere или Box. Только объекты расположенные внутри этой области, подвергаются воздействию зонда освещения. По умолчанию используется Sphere.
- Influence Distance
- размер области влияния. Можно также изменить масштабирование объекта и сделать форму области влияния неоднородной. По умолчанию 1.0.
- Intensity
- интенсивность непрямого освещения. Любое значение, отличное от 1,0 не является физически корректным. По умолчанию - 1,0.
- Clipping Start
- расстояние до отсечения. Объекты, расположенные ближе, чем это значение, не будут отображаться в карте отражения. По умолчанию 0,1.
- Clipping End
- дальнее расстояние отсечения. Объекты, расположенные дальше этого значения не будут отображаться в карте отражения. По умолчанию 100.0.
- Настройки видимости
-
настройки видимости объекта:
- Selection Set
- ограничить объекты, которые должны появиться на кубокарте отражения, только теми, которые принадлежат данному набору. Выберите опцию пустой строки, чтобы не указывать никакого набора объектов - в этом случае все объекты сцены будут использованы для создания кубической карты отражения. По умолчанию используется пустая строка.
- Invert Visibility
- инвертировать выбор объектов, видимых данным световым зондом, если задан Selection Set. По умолчанию отключено.
- Custom Parallax
-
настройки параллакса:
- Use Custom Parallax
- включить пользовательские настройки для коррекции параллакса. Эта группа настроек определяет область параллакса, который используется для проецирования освещения, полученного датчиком. Если функция Custom Parallax не включена эффект параллакса рассчитывается на основе Influence Type и Influence Distance. По умолчанию отключено.
- Parallax Type
- тип области параллакса: Sphere или Box. По умолчанию это Sphere
- Parallax Distance
- размер области параллакса. По умолчанию это 1.0.
Зонды освещения в виде планарных отражений
Зонды планарных отражений — удобный способ добавить непрямые зеркальные отражения на плоские объекты, в частности, на зеркала, пол, стены и т.д.
Данная функциональность используется в демо-приложении «Световые зонды» (качайте в магазине ассетов).
Поддерживаются следующие свойства планарных зондов:
- Influence Distance
- Дистанция влияния зонда.
- Falloff
- Интенсивность спада влияния.
- Clipping Offset
- Ближняя плоскость отсечения для объектов, отображаемых в данном планарном зонде.
- Selection Set
- Коллекция объектов видимых данным зондом.
- Invert Visibility
- Инвертировать выделение указанное в Selection Set. По умолчанию отключено.
Планарные зонды могут существенно ухудшить производительность ваших приложений, поскольку для их работы требуется N+1 вызовов отрисовки. Чтобы ускорить рендеринг, всегда ограничивайте количество объектов с помощью коллекции Visibility Collection.
Фон
По умолчанию «Вердж3Д» отображает тот же фон, который вы видите во вьюпорте «Майи» (серый в большинстве случаев). При использовании освещения на основе изображения (обеспечиваемого объектами aiSkyDomeLight) вместо него отображается текстура окружения.
Чтобы изменить фон на другой цвет, не редактируйте настройки Viewport в «Майе», просто назначьте Background Color и включите атрибут Render Background на основной камере:
Вы можете использовать окно Render View в «Майе» или функцию Sneak Peek в «Вердж3Д» для предварительного просмотра сцены с пользовательским фоном.
Глобальные настройки рендеринга
Глобальные настройки рендеринга, доступные из диалогового окна Verge3D Export Settings. (Verge3D → Export Settings... в меню «Майи»).
- Anti-Aliasing
-
Выберите, какой алгоритм сглаживания (анти-алиасинга) использовать для сцены:
- Auto
- Использовать системный метод по умолчанию.
- MSAA 4x
- Использовать мультисемплинг с 4-мя семплами, если такая настройка поддерживается оборудованием.
- MSAA 8x
- Использовать мультисемплинг 8-ю семплами, если такая настройка поддерживается оборудованием.
- MSAA 16x
- Использовать мультисемплинг с 16-ю семплами, если такая настройка поддерживается оборудованием.
- FXAA
- Использовать БААА (быстрый аппроксимирующий анти-алиасинг). Включите этот алгоритм в случае проблем с алиасингом процедурных текстур.
- None
- Отключить сглаживание.
- Use HDR Rendering
- Включить рендеринг с высоким динамическим диапазоном (ХДР).
- Order-Indep. Transparency
- Включить метод порядок-независимой прозрачности (OIT). Избавляет от большинства артефактов при рендеринге обьектов с прозрачностью. Подробнее об этом здесь.
- IBL Environment Mode
-
Способ рендеринга карты отражений:
- PMREM (slow)
- Высокое качество (значение по умолчанию).
- Light Probe + Cubemap (medium)
- Снижение качества зеркальных отражений на основе изображений, лучшая производительность.
- Light Probe (fast)
- Отключение зеркальных отражений на основе изображений, высочайшая производительность.
- Outlining Effect
- Смотрите ниже.
Эмбиент окклюжн
Эмбиент окклюжн (англ. ambient occlusion) — техника улучшающая реалистичность рендеринга посредством дополнительного затенения от непрямых источников. Степень этого затенения определяется тем, насколько видима рисуемая часть объекта, если смотреть не из камеры, а со стороны источников освещения.
Движок «Вердж3Д» воспроизводит алгоритм называемый GTAO (Ground Truth Ambient Occlusion). Настройки этого алгоритма находятся на вкладке AO настроек экспорта Verge3D Export Settings (вызываются из меню «Майи» Verge3D → Export Settings...)
«Вердж3Д» поддерживает эмбиент окклюжн только для материалов Standard Sufrace и aiStandardSufrace и только для сцен имеющих освещение от окружения (не важно однотонное или на основе текстуры).
- 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Д» поддерживает следующие дополнительные настройки рендеринга геометрических объектов:
Render Order - изменяет порядок рендеринга для конкретного объекта. Чем меньше индекс, тем раньше будет отрисован объект. В большинстве случаев это значение необходимо подстроить при использовании прозрачности Blend для устранения артефактов прозрачности.
Frustum Culling - включает/выключает оптимизацию фрустум кулинга. Снимите этот флажок, если у вас есть какой-либо обтекаемый объект, который может выходить за пределы экранного пространства, чтобы предотвратить его обтекание.
Рендеринг с высокой плотностью пикселей («ретина»)
На сегодняшний день экраны большинства мобильных устройств и многих десктопов имеют высокую плотность пикселей (так называемые «ретина»-дисплеи). Рендеринг на этих экранах в полном разрешении может значительно улучшить качество изображения, однако это может значительно ухудшить ситуацию с производительностью.
Есть 2 способа улучшить качество ВПП-рендеринга, но так чтобы производительность не уменьшалась слишком сильно:
- Увеличить разрешение не так сильно, например выставив фактор масштабирования в 1.5. Смотрите здесь чтобы узнать подробнее об этой технике.
- Использовать высокое разрешение только там, где это наиболее актуально, например чтобы улучшить качество текста и интерфейсных элементов.
Второй способ активируется с помощью настройки HiDPI Compositing расположенной на панели Advanced Rendering:
Данная функциональность используется в демо-приложении «Кольцо» (качайте в магазине ассетов).
Контрольные точки видимости
Контрольные точки видимости (Visibility Breakpoints в «Майе») позволяют скрывать/показывать объекты в зависимости от ширины/высоты 3Д-вьюпорта и его ориентации. Чаще всего эта функция требуется, чтобы адаптировать сцену для различных экранов. Например вы можете создать два объекта для вертикальной и горизонтальной компоновки экрана и показывать лишь один из них.
Контрольные точки могут быть назначены и для камер. В таком случае движок переключит активную камеру на альтернативную, если параметры её контрольных точек окажутся подходящими (в противном случае переключения не произойдет).
Контрольные точки видимости настраиваются на панели Advanced Rendering:
- Min Width
- Минимальная ширина канваса при которой объект остаётся видимым.
- Max Width
- Максимальная ширина канваса при которой объект остаётся видимым.
- Min Height
- Минимальная высота канваса при которой объект остаётся видимым.
- Max Height
- Максимальная высота канваса при которой объект остаётся видимым.
- Orientation
- Ориентация экрана при которой объект остаётся видимым.
Рендеринг линий
С помощью этой функции вы можете рендерить объекты «Майи» с помощью линий. Чаще всего эта функция используется для рендеринга кривых, которые не обладают собственной геометрией, однако также может использоваться для рендеринга скелета мешей и поверхностей.
Рендеринг линий включается на панели Verge3D Settings, которая в свою очередь расположена на панели Object Data Properties:
Тут также настройки цвета и толщины линий. В «Вердж3Д» линии рендерятся с помощью эмиссивного шейдера (без освещения).
Данная функциональность используется в демо-приложении «Линии» (качайте в магазине ассетов).
Секущие плоскости
Секущие плоскости (они же плоскости сечений) — это способ, используемый для отображения внутреннего устройства сложных объектов, таких как здания, автомобили, приборы, гаджеты, машины и т.д.
Чтобы добавить новую плоскость, используйте кнопку Verge3D → Clipping Plane расположенную на панели инструментов «Майи»:
Объекты на сцене будут обрезаны в отрицательном направлении оси Y плоскости сечения.
Плоскости сечения имеют следующие параметры:
- Affected Objects
- Коллекция объектов, с которыми будет взаимодействовать секущая плоскость. Если коллекция не назначена, все объекты сцены будут обрезаны.
- Negated
- Поменять местами обрезанную и необрезанную стороны.
- Clip Shadows
- Обрезать тени, отбрасываемые обрезанными объектами.
- Union Planes
- Построить объединение из всех плоскостей сечения, воздействуя на объект, а не на их пересечение.
- Cross-Section
- Заполнить отверстие образованное секущей плоскостью в затронутых объектах.
- Color
- Цвет и прозрачность поперечного сечения.
- Render Side
- Сторона геометрии плоскости отсечения. Укажите Double-sided чтобы рендерить сложную геометрию с вырезами.
- Render Size
- Размер плоскости сечения. Увеличьте это значение, если вы используете сцену большего размера.
Данная функциональность используется в демо-приложении «Мясорубка» (качайте в магазине ассетов).
Остались вопросы?
Задайте их на нашем форуме!