CoronaVolumeMtl и туман в 3ds Max
С помощью тумана можно добавить сцене загадочности или большей реалистичности. Дымка, облака, туман, пар – все это может сделать сцену еще более правдоподобной и впечатляющей. Для подобных эффектов в Corona Renderer существует специальный материал – CoronaVolumeMtl.
1. Параметры материала
Для использования этого материала необходима установленная Corona Renderer. Как ее установить вы узнаете в статье «Установка CORONA RENDERER для 3ds Max». Прежде всего необходимо создать материал CoronaVolumeMtl в окне Material Editor.
Если вы еще не знакомы с основным материалом CoronaMtl, то стоит для начала изучить его. Для этого можно прочитать статью «Основные настройки материалов CoronaMtl в 3ds Max»
Absorption Color – определяет цвет, который обретет исходный белый луч, пройдя до середины некоего расстояния. Расстояние, которое должен будет пройти луч, устанавливается в параметре Distance. Чем меньше расстояние, тем больше плотность тумана. Но расстояние не может равняться 0. Такое значение отключит материал.
Для корректной работы материала нужно изменить цвет черный цвет Scattering Color.
Этот параметр отвечает за цвет рассеивания внутри материала (в объеме объекта). Но при его изменении может понадобиться изменить значение Distance.
Directionality – направление рассеивания луча света. Его можно изменять до значений «0,99» и «-0,99». Положительные значения создают прямое рассеивание, отрицательные – обратное.
Single bounce only – включение однократного отскока луча. Эта функция делает материал менее физически корректным, но ускоряет расчет сцены.
Emission – создает эффект подсвеченного тумана. Параметр Distance работает по тому же принципу, что одноименная функция в разделе Absorption. Чем выше значение, тем менее интенсивно подсвечивается туман. Color позволяет выбрать цвет.
2. Создание тумана
С помощью стандартных настроек материала можно создать неплохой эффект задымления. Теперь пришло время воспользоваться им на практике.
1) Создание затуманенной области
Прежде всего необходимо создать область, внутри которой будет создан туман. Для этого можно создать обычный Box, назначить на него CoronaVolumeMtl и поместить внутрь объекты.
Внутрь также можно помещать источники света, но нельзя помещать камеру.
2) CoronaDistance
После настройки тумана, которая описана выше, вы можете усложнить материал. Один из вариантов – использование карты CoronaDistance. С ее помощью туман будет частично ограничен по высоте и не сможет занимать весь объем.
Сначала выберите поверхность, от которой будет измеряться расстояние. Затем в разделе Node input нажмите «+», после чего плоскость окажется в окне Distance from. Настройки Color near/far и Distance near/far позволяют настроить отображение при удалении. В вашей сцене они могут быть другими.
3) Smoke и Output
С помощью карты Smoke можно добавить неравномерность туману. Так же дополнительную настройку можно осуществить с помощью карты Output.
Данные настройки подходят только для используемой сцены. Чтобы получить желаемый эффект придется долго экспериментировать и подбирать параметры самостоятельно.
Вот такого результата получилось добиться, используя перечисленные инструменты и настройки.
Едва ли CoronaVolumeMtl придется использовать в каждой сцене. Но для утренних экстерьеров, пасмурных сцен или таинственных помещений она отлично подойдет. Лучше всего ее использовать вместе с какими-либо картами, применять маскирование. Так можно будет добиться самых разных атмосферных эффектов.
Освойте профессию визуализатора
Научитесь создавать крутые рендеры, панорамы 360, виртуальные туры и анимационные ролики.
Как использовать Corona Volume Grid в Corona Renderer для C4D?
Corona Volume Grid позволяет вам рендерить объекты, которые действительно объемные и основаны на 3D сетке, а не на сетках с использованием Corona Volume Mtl, который всегда требует некоторой поверхности, состоящей из полигонов для отображения объема.
Типичные области применения сетки Corona Volume Grid включают:
- Fire
- Explosions
- Smoke
- Clouds
- Steam
- Objects which are not possible or difficult to render when using classic polygonal mesh
Где найти?
Corona Volume Grid можно создать, перейдя в меню Corona > Corona Volume Grid :
Какие форматы поддерживаются?
Поддерживается только формат OpenVDB.vdb
Corona Volume Grid также поддерживает анимированные файлы OpenVDB (.vdb sequences).
Какие элементы управления доступны?
Наиболее полезные элементы управления включают:
Объект(Object)
Опции Object управляют тем, как объект Volume Grid будет
отображаться на видовом экране, и показывают информацию из моделирования,
например, количество ячеек и плотность сетки:
Объект — Выбрать файлы (Object — Select files)
Используйте эту кнопку для выбора файла VDB, который будет использоваться. В случае анимированной последовательности выберите только один из файлов последовательности, и вся анимация будет загружена автоматически
Объект — Перезагрузить с диска(Object — Reload from disk)
Используйте эту кнопку, чтобы заставить объект Corona Volume Grid перезагрузить файл/последовательность с диска.
Объект — Анимация — Включить анимацию(Object — Animation — Enable animation)
Эта опция включает/выключает чтение анимированной последовательности VDB.
Объект — Анимация – Режим(Object — Animation — Mode)
Используйте эти опции для установки режима анимации для анимированной последовательности VDB. Вы можете использовать любой из следующих доступных вариантов:
- Повтор(Repeat) — Анимация VDB будет воспроизводиться как цикл.
- Пинг-понг(Ping Pong) — При использовании этой опции анимация VDB будет воспроизводиться вперед, а когда она достигнет конца, то продолжит воспроизведение анимации, но так, как будто она идет назад.
- Заморозить вне диапазона(Freeze out of range) — при выборе этой опции, как только анимация VDB достигнет конца, она будет заморожена на последнем кадре.
- Скрыть вне диапазона(Hide out of Range) — При выборе этой опции, как только анимация VDB достигнет конца, она будет скрыта после последнего кадра.
Объект — Анимация — Смещение кадра (Object — Animation — Frame offset)
Используйте этот параметр для смещения времени начала анимации VDB (можно использовать как положительные, так и отрицательные значения).
Объект — Анимация — Множитель скорости (Object — Animation — Speed multiplier)
Использование этой опции ускоряет или замедляет воспроизведение анимации VDB.
Объект — Анимация — Загрузить ближайший, если отсутствует (Object — Animation — Load nearest if missing)
При использовании этой опции, если файл из последовательности анимации VDB отсутствует, будет сделана попытка загрузить ближайший доступный файл для продолжения воспроизведения. Например, если последовательность анимации VDB состоит из 10 кадров, а 4-й кадр отсутствует, эта опция будет считывать 5-й кадр как 4-й, а затем будет считывать 5-й кадр как обычно.
Объект — Отображение видового экрана – Тип (Object — Viewport display — Type)
Использовать просмотр видового экрана в виде ограничивающей рамки или облака точек для файла OpenVDB.
Внимание : просмотр облака точек может быть медленным при
загрузке большого файла!
Тип отображения видового экрана = Граничная область (Bounding
Box)
Тип отображения видового экрана = Облако точек (Point Cloud)
Объект — Отображение видового экрана – Качество (Object — Viewport display — Quality)
Этот параметр определяет плотность предварительного просмотра облака точек.
Внимание : Просмотр облака точек может быть медленным, если загружен большой файл, а процент качества увеличен (для большинства случаев рекомендуется не превышать 25%)
Качество отображения во вьюпорте = 5%
Качество отображения во вьюпорте = 100%
Рендеринг
Опции Rendering управляют тем, как будет обработан объект сетки объемов, чтобы отобразить его точно или нет.
Рендеринг – Интерполяция (Rendering — Interpolation)
Эта опция позволяет определить соотношение скорости и качества. Это похоже на фильтрацию, используемую во многих приложениях при работе с 2D текстурами.
- «None» — Эта опция обеспечивает наиболее быстрый рендеринг, но самое низкое качество с возможностью «пикселированного» или «блочного» вида сетки.
- «Linear» — Эта опция является компромиссом между качеством и скоростью рендеринга, и этот режим используется по умолчанию.
- «Quadratic» — Этот режим обеспечивает наилучшее качество, но за счет времени рендеринга.
Интерполяция рендеринга = None
Интерполяция рендеринга = Linear
Рендеринг — Размер шага (Rendering — Step size)
Размер шага марширования лучей. Определяет, сколько «объемных шагов» может быть использовано для рендеринга объекта. Большие значения означают более быстрый рендеринг, больше шума и большую вероятность появления артефактов. Меньшие значения означают лучшее качество, но более медленный рендеринг. Чтобы получить приемлемое время рендеринга, значение размера шага следует установить как можно выше, пока не будут заметны артефакты марширования лучей («кусочки»( slices), видимые внутри объекта).
Интерполяция рендера = Linear
Размер шага = 0,1
Интерполяция рендера = Linear
Размер шага = 10
Рендеринг — Перевернуть рамку (Rendering — Flip frame)
Переворачивает оси Y и Z файла OpenVDB, в результате чего объект поворачивается на 90 градусов. Этот параметр следует использовать, если при загрузке объект оказывается неправильно повернутым.
Flip Frame = Disabled
Flip Frame = Enabled
Рендеринг — Размытие движения и интерполяция кадров
Определяет, как будет вычисляться размытие движения.
Рендеринг — Режим
- Disabled — отключает размытие движения.
- Simple — простая интерполяция между двумя кадрами OpenVDB — может привести к артефактам.
- Velocity-based — плавная интерполяция на основе канала скорости файла OpenVDB — требуется выбрать правильный канал скорости.
Рендеринг — Скорость
Выбирает канал, который хранит информацию о скорости для расчетов размытия движения. Обычно для этого следует использовать «velocity».
- Множитель — Сила эффекта размытия движения (более высокие значения означают более выраженное размытие движения).
Эмиссия
Переключает излучение для объема. Это можно представить как температуру мельчайших частиц дыма. Чем выше температура, тем ярче светятся частицы.
Эмиссия отключена (Emission Disabled)
Поглощение Включено (Absorption Enabled)
Рассеяние включено (Scattering Enabled)
Эмиссия включена (Emission Enabled)
Поглощение включено (Absorption Enabled)
Рассеяние Включено (Scattering Enabled)
Эмиссия — канал
Выбирает канал (сетку), присутствующий в файле OpenVDB, который будет использоваться для эмиссии среды. Обычно его следует установить на «температура»(temperature) , чтобы получить такие результаты, как огонь или взрыв.
Существует также дополнительный канал под названием «константа»(constant) — это один сплошной цвет, который применяется ко всей граничной области объема. В случае использования режима «константа»(constant) для эмиссии, вся граница объекта сетки объема начнет светиться.
Канал «константа»(Constant) полезен, например, для рассеивания света при создании дыма — вы можете установить постоянный цвет рассеивания, чтобы иметь одинаковый тип рассеивания во всей среде. Тогда его толщина будет контролироваться только свойствами поглощения.
Канал эмиссии установлен на «Temperature»
Канал эмиссии установлен на «Constant»
Эмиссия — Масштаб
Делает общую эмиссию более или менее интенсивной (более высокие значения означают более высокую интенсивность).
Масштаб эмиссии установлен на 1
Масштаб эмиссии установлен на 0,1
Эмиссия – Оттенок (Tint)
Этот цвет применяется к эмиссии (можно рассматривать его как своего рода фильтр).
Цвет оттенка эмиссии: белый Цвет
оттенка эмиссии: синий (H=228, S=100, V=100)
Эмиссия – карта (Map)
Это маска, используемая для эмиссии. Обратите внимание, что маска применяется в трехмерном пространстве, поэтому добавление карты шума приведет к тому, что к объекту будет применена трехмерная маска шума. Использование режима пространства «Текстура» или «UV(2D)» не поддерживается.
![]() |
![]() |
![]() |
![]() |
Карта шума установлена для работы в пространстве объекта | Карта шума установлена для работы в пространстве текстуры или UV(2D) (не поддерживается) |
Эмиссия — Режим
Определяет, как интерпретируются данные текущего выбранного канала:
- Raw data — используются исходные цвет и интенсивность, которые хранятся в файле VDB. Затем на него влияют параметры масштабирования и оттенка.
- Channel mapping — используются пользовательские настройки из инструмента «Сопоставление цветов каналов». Пожалуйста, прокрутите вниз до раздела » Как использовать отображение цвета канала «, чтобы узнать об этом подробнее.
- Blackbody — моделирует цветовое излучение черного тела при заданной температуре Кельвина (полезно для моделирования пожаров).
Поглощение(Absorption)
Определяет, как далеко свет может пройти внутри объекта, прежде чем он будет полностью поглощен. Для получения лучших результатов включите свойство Рассеяние.
Поглощение — Канал
Выбирает канал (сетку), присутствующий в файле OpenVDB, который будет использоваться для поглощения. Обычно для получения таких результатов, как огонь или взрыв, следует установить значение «дым» или «плотность» (это зависит от того, как был назван этот канал при создании симуляции). Существует также дополнительный канал под названием «constant», который заполняет всю ограничительную рамку сетки объема.
Используемый канал: «Константа»
Используемый канал: обычно «Дым» или «Плотность».
Поглощение — Масштаб
Заставляет объект поглощать свет быстрее или медленнее (более высокие значения означают более быстрое поглощение, что означает более темный общий цвет, более густой дым).
Эмиссия = отключена
Шкала поглощения = 0,5
Выброс = отключен
Шкала поглощения =5
Поглощение — оттенок
Этот цвет применяется к поглощению (можно рассматривать его как своего рода фильтр).
Эмиссия = Выключено
Оттенок поглощения = Белый (по умолчанию)
Рассеяние = Включено
Эмиссия = Выключено
Оттенок поглощения = Синий (H=200, S=100, V=100)
Рассеяние = Включено
Поглощение — карта (шейдер) (Map (Shader))
Это маска, используемая для поглощения. Обратите внимание, что маска применяется в трехмерном пространстве, поэтому добавление карты шума приведет к тому, что к объекту будет применена трехмерная маска шума. Использование режима пространства » Texture » или «UV(2D)» не поддерживается.
![]() |
![]() |
![]() |
![]() |
Absorption Shader = Шум, работающий в пространстве объекта. | Absorption Shader = Шум, работающий в пространстве Texture или UV(2D). (Не поддерживается) |
Поглощение — Включить отображение цвета канала (Absorption — Enable Channel color mapping)
Использует пользовательские настройки из инструмента «Channel color mapping». Пожалуйста, прокрутите вниз раздел » Как использовать отображение цвета канала «, чтобы узнать о нем больше.
Рассеяние
Определяет, как свет рассеивается внутри объема.
Рассеяние — Канал
Выбирает канал (сетку), присутствующий в файле OpenVDB, который будет использоваться для рассеяния. Обычно следует установить значение » constant «, чтобы вся среда рассеивала свет одинаково в тех областях, где поглощение позволяет это сделать, но другие каналы тоже могут работать хорошо, в зависимости от потребностей.
Эмиссия = Выключено
Поглощение = Включено
Рассеяние = отключено
Канал рассеяния = постоянный
Эмиссия = отключена
Поглощение = Включено
Рассеяние = Включено
Канал рассеяния = Постоянный
Рассеяние — Масштаб
Позволяет объекту больше или меньше рассеивать свет (более высокие значения означают большее рассеивание и более яркий общий цвет).
Эмиссия = отключено
Поглощение = Включено
Шкала рассеивания = 0,1
Эмиссия = Выключено
Поглощение = Включено
Шкала рассеивания = 1
Рассеяние — Оттенок
Этот цвет применяется к рассеиванию (можно рассматривать его как своего рода фильтр).
Эмиссия = Выключено
Поглощение = Включено
Оттенок рассеивания = Белый (по умолчанию)
Эмиссия = Выключено
Поглощение = включено
Оттенок рассеивания = синий (H=200, S=70, V=100)
Рассеяние — Карта (шейдер)
Это маска, используемая для поглощения. Обратите внимание, что маска применяется в трехмерном пространстве, поэтому добавление карты шума приведет к тому, что к объекту будет применена трехмерная маска шума.
Шейдер рассеивания = шум, работающий в пространстве объекта.
Scattering Shader = Шум, работающий в пространстве текстур или UV(2D). (Не поддерживается)
Рассеивание — Направленность
Этот параметр используется для настройки направленности рассеивания. Значение 0 (ноль) создает изотропное («диффузное») рассеивание. Положительные значения приводят к рассеянию вперед. Отрицательные значения приводят к рассеиванию назад. Значение по умолчанию 0 подходит для большинства сред, за исключением облаков, где большие положительные числа создадут эффект «серебряной подкладки».
Эмиссия = отключено
Поглощение = Включено
Масштаб рассеяния = 1
Направленность рассеивания = -0,7
Эмиссия = Выключено
Поглощение = Включено
Шкала рассеяния = 1
Направленность рассеяния = 0,7
Рассеяние — только одиночный отскок
Эта опция должна быть включена, если ее отключение не является абсолютно необходимым. Если опция включена, в среде будет рассеиваться только один отскок (прямое освещение). Это приводит к смещенному (более темному), но гораздо более быстрому рендерингу.
Полезно, например, для рендеринга «крестных лучей» внутри среды.
Только одиночный отскок = Включено.
Только одиночный отскок = отключено.
Рассеяние — Включить отображение цвета канала
Использует пользовательские настройки из инструмента «Channel color mapping». Пожалуйста, прокрутите вниз раздел » How to use channel color mapping «, чтобы узнать о нем больше.
Примеры
Пример 1
Мы хотим добиться темного, густого дыма, который не излучает и не рассеивает свет:
Пример 2
Мы хотим добиться интенсивного огня с темным, тонким дымом, который рассеивает немного света:
Пример 3
Мы хотим получить пар:
Пример 4
Мы хотим добиться «волшебного» огня с разноцветным дымом:
Как использовать инструмент отображения цвета канала?
Сопоставление цветов каналов можно использовать для окрашивания свойств объемной сетки (излучение, поглощение, рассеяние) на основе градиента. Например, для создания огня можно использовать красно-желтый градиент. Инструмент сопоставления каналов позволяет сопоставить значения с плавающей точкой, хранящиеся в канале, с цветами. Сопоставление вычисляется следующим образом:
- Сначала плавающие значения масштабируются с помощью «>Input scale», чтобы уложиться в [0,1]. Вы можете использовать кнопку «Auto-scale» для автоматического расчета входного масштаба.
- Плавающее значение отображается на цвет с помощью цветового градиента. Самый левый цвет градиента определяет, как значение 0 отображается в цвет, а самый правый цвет определяет, как значение 1 отображается в цвет.
- Кривая масштабирует цвет, вычисленный по градиенту. Обратите внимание, что на вход кривой подается не цвет из градиента, а «input-scaled» плавающее значение из канала (например, результат операции, указанной в пункте A).
- Окончательный цвет вычисляется путем обратного масштабирования цвета с использованием обратной величины «Input scaling».
Предлагаемый рабочий процесс (на основе эмиссии):
- Поместите объект Corona Volume Grid и загрузите файл VDB во вкладку Object .
- Включите эмиссию и установите канал на температуру .
- Установите режим эмиссии на » Channel mapping «.
- Откройте развертку » Channel color mapping «.
- Нажмите кнопку » Auto-scale » для автоматической настройки значения масштаба.
- Установите нужные цвета градиента:
- Самый левый цвет представляет собой цвет самых темных элементов объемного эффекта. (в случае использования температурного канала это означает самую низкую температуру, поэтому все области за пределами видимого огня).
- Самый правый цвет представляет цвет самых ярких элементов объемного эффекта. (в случае использования температурного канала это означает самую высокую температуру).
- Все значения между ними представляют собой переход между крайними значениями интенсивности (левым и крайним правым).
- Вы можете добавить новый цвет, щелкнув прямо под полосой градиента, а также удалить любой цвет, перетащив нужный цвет из области градиента.
- На данном этапе вы можете настроить кривую в соответствии с вашими потребностями:
Перемещение левой нижней точки к верхней части графика сделает самые темные цвета более интенсивными. | ![]() |
Перемещение левой нижней точки к правой стороне графика «отрежет» некоторые из самых темных цветов, сделав их прозрачными. |
Как добиться максимально быстрого рендеринга и наилучшего качества?
Вот некоторые рекомендации по настройке объекта Corona Volume Grid для наилучшего соотношения времени рендеринга и качества:
- Если вы рендерите только объект Volume Grid на сплошном фоне (без окружающего пространства, например, интерьера или экстерьера), перейдите в Render Settings > Corona > Performance и уменьшите значение параметра GI vs. AA с 16 по умолчанию до меньшего значения (например, 4, но не ниже 2). Это ускорит рендеринг объекта Volume Grid, но может внести шум в другие части изображения, например, глянцевые отражения или преломления.
- Поскольку некоторые части объемной сетки могут в основном >полагаться на прямое освещение (это заметно при использовании поглощения и рассеяния), возможно, имеет смысл увеличить значение Light Samples Multiplier, расположенное в Render Settings > Corona > Performance . Это улучшит качество света, проникающего в светорассеивающую часть объекта (например, дым, пар и т.д.).
- В настройках объекта Corona Volume Grid Object перейдите на вкладку Rendering и установите размер шага на максимально возможное значение. Слишком низкие значения будут рендериться очень медленно. Слишком высокие значения приведут к появлению артефактов марширования лучей («срезы» или «кубы», видимые в объекте) и сделают объект нереально прозрачным.
- Объекты с более низкой шкалой излучения всегда будут визуализироваться быстрее, так как генерируется меньше света, что приводит к меньшему шуму.
- Объекты с более низкой шкалой рассеивания (более темный цвет) всегда будут визуализироваться быстрее. Соответственно, яркое рассеяние (например, цвет установлен на чисто белый) будет визуализироваться медленнее.
- Всегда используйте опцию » Только одиночный отскок » на вкладке » Рассеяние » в свойствах объекта Volume Grid. Отключайте эту опцию только в случае крайней необходимости. Ее включение обычно дает лишь небольшое улучшение качества и делает рендеринг намного медленнее.
Разве элементы управления Corona Volume Grid не похожи на те, что находятся в Corona Volume Mtl?
Да, элементы управления, доступные в объекте Corona Volume Grid, очень похожи на те, что находятся в материале Corona Volume, и они дают очень похожие результаты. Если вы знакомы с материалом Corona Volume и эффектами SSS в Corona, то объемные сетки не должны стать для вас проблемой
Более подробно ознакомиться со всеми курсами образовательного проекта CGBandit вы можете здесь.
Перевод статьи осуществлен образовательным проектом CGBandit c официального сайта coronarenderer.
Расширенные настройки CoronaMtl в 3ds Max
Используя стандартные настройки CoronaMtl можно добиться очень высокого качества материалов. Но на этом возможности материала не заканчиваются. Для увеличения реалистичности можно использовать инструментами Volumetrics and SSS. Также существует раздел Advanced options, в котором можно воспользоваться продвинутыми инструментами.
1. Volumetric scattering
Этот раздел позволяет улучшить эффект прозрачности и преломления света. Например, таким эффектами обладают: полупрозрачные пластики, некоторые фрукты, жидкости, дым. Поэтому материал обязан иметь ненулевые параметры Translucency, Refraction или Opacity.
Для работы с этим эффектом нужно зайти в настройки материала и включить Mode: Volumetric scattering.
Включение и главная настройка этой функции осуществляется изменением значения Absorption Distance.
Это значение влияет на то, как глубоко свет пройдет в объект прежде, чем будет поглощен. То есть за счет этого параметра объект будет обладать разной прозрачностью, в зависимости от толщины.
Absorption Color – цвет, который обретет свет, пройдя через объект.
Scattering Color – цвет, который обретет свет при рассеивании, пройдя расстояние Absorption Distance. То есть в том месте, где объект толще, чем Absorption Distance, объект будет темнее и плотнее.
Directionality – изменяет направление рассеивания света. При значении 0 свет рассеивается равномерно во всех направлениях.
Single bounce only – ускоряет рендеринг за счет вычисления единичного рассеивания.
Свет может рассеиваться не один раз, но этот флажок ограничивает такую ситуацию. К сожалению, с такой настройкой материал может оказаться менее реалистичным.
2. Subsurface scattering
Это второй режим настройки материалов. Он наиболее применим к непрозрачным объектам. Для работы с ним нужно включить Mode: SSS.
Amount – сила воздействия цвета материала на подповерхностное рассеивание.
Radius – радиус, на который цвет рассеивается от места, куда попал луч света.
Scatter color – цвет, который будет виден на затененных участках.
3. Advanced options
Self-illumination – придает объекту эффект свечения. Имеет всего 2 параметра: цвет (Color) и силу свечения (Multiplier). Материал в отличие от CoronaLightMtl, здесь отсутствуют какие-либо настройки исключений объектов или подобного.
Anisotropy orientation – позволяет выбрать, на основе чего будет создаваться анизотропия. Настройка этого свойства находится в разделе Reflection. Выбрать в качестве основы для ориентации можно локальные оси объекта (Local axis) или его UV развертка (UVW). Если выбран вариант UVW, то изменять угол можно только в строке рядом с флажком выбора.
G-Buffer ID override — позволяет переназначить материалу новый канал G-buffer. 3ds Max может назначать каналы от 0 до 15. G-buffer в CoronaMtl поддерживает от 0 до 9999 каналов.
Alpha mode – переключает отображение материала в альфа-канале.
Visible in mask – позволяет отключить отображение материала на всех масках.
PBR mode – флажок, который никогда не стоит снимать. Если данная функция включена, то материал будет использовать наиболее корректные алгоритмы расчета.
Большая часть перечисленных функций пригодятся для тонкой настройки. Использовать на все объекты сразу их не стоит, т.к. это может значительно увеличить время расчета сцены. Но главное – что Corona Renderer предоставляет возможность такой настройки. При правильном использовании все перечисленные инструменты значительно повысят качество визуализации.
Освойте профессию визуализатора
Научитесь создавать крутые рендеры, панорамы 360, виртуальные туры и анимационные ролики.
Как использовать Corona Volume Grid в Corona renderer?
Обязательно ознакомьтесь с другими частями этого руководства, чтобы узнать больше о SSS и объемных эффектах в Corona Renderer! Дополнительную информацию о сетке объемов Corona Volume Grid смотрите ниже:
Что такое объект Corona Volume Grid? (CVolumeGrid)
Corona Volume Grid позволяет вам рендерить объекты, которые действительно объемны и основаны на 3D сетке, в отличие от сеток с Corona Mtl или Corona Volume Mtl, которые всегда требуют некоторой поверхности, состоящей из полигонов, для отображения объема.
Типичные области применения сетки Corona Volume Grid включают:
- Пожар
- Взрывы
- Дым
- Облака
- Пар
- Другие визуальные эффекты, основанные на моделировании частиц или жидкостей
- Объекты, которые невозможно или трудно отрисовать при использовании классической полигональной сетки
Где найти?
Corona Volume Grid можно создать, перейдя в Командную панель, а затем Create > Corona > CVolumeGrid .
Какие форматы поддерживаются?
Поддерживается только формат OpenVDB (.vdb) . Вы можете узнать больше о нем на сайте http://www.openvdb.org/, а скачать примеры файлов .vdb можно на сайте http://www.openvdb.org/download/.
Corona Volume Grid также поддерживает анимированные файлы OpenVDB (.vdb sequences).
Какие элементы управления доступны?
Наиболее полезные элементы управления включают:
Emission
Включает эмиссию для данного объема. Это можно представить как температуру мельчайших частиц дыма. Чем выше температура — тем ярче светятся частицы.
Emission — Channel
Выбирает канал (сетку), присутствующий в файле OpenVDB, который будет использоваться для эмиссии среды. Обычно он должен быть установлен на » температура «, чтобы получить такие результаты, как огонь или взрыв.
Существует также дополнительный канал под названием » константа » — это один сплошной цвет, который применяется ко всей граничной области объема. В случае использования режима «константа» для эмиссии, вся граница объекта сетки объема начнет светиться. Этот канал полезен, например, для рассеивания при создании дыма — вы можете установить постоянный цвет рассеивания, чтобы иметь одинаковый тип рассеивания внутри всей среды, и тогда ее толщина будет контролироваться только свойствами поглощения.
Канал эмиссии установлен на «constant».
Emission — Scale
Делает общую эмиссию более или менее интенсивной (большие значения означают большую интенсивность).
Шкала высокой эмиссии.
Низкая шкала эмиссии.
Emission — Tint
Этот цвет применяется к эмиссии (можно рассматривать его как своего рода фильтр).
Оттенок эмиссии установлен на синий.
Emission — Map
Это маска, используемая для эмиссии. Обратите внимание, что маска применяется в трехмерном пространстве, поэтому добавление карты шума приведет к тому, что к объекту будет применена трехмерная маска шума.
Процедурный шум используется в качестве карты для эмиссии.
Emission — Mode
Определяет, как интерпретируются данные текущего выбранного канала:
- Raw data — использует исходный цвет и интенсивность, которые хранятся в файле vfb. Затем на него влияют параметры масштабирования и оттенка.
- Сопоставление каналов — используются пользовательские настройки из инструмента «Сопоставление цветов каналов».
- Черное тело — моделирует цветовое излучение черного тела при заданной температуре Кельвина (полезно для моделирования пожаров).
Absorption
Определяет, как далеко свет может пройти внутри объекта, прежде чем он будет полностью поглощен.
Absorption — Channel
Выбирает канал (сетку), присутствующий в файле OpenVDB, который будет использоваться для поглощения. Обычно его следует установить на «дым», чтобы получить такие результаты, как огонь или взрыв. Существует также дополнительный канал под названием «constant», который заполняет всю границу сетки объема.
Absorption — Scale
Заставляет объект поглощать свет быстрее или медленнее (более высокие значения означают более быстрое поглощение, что означает более темный общий цвет, более густой дым).
Более низкая шкала поглощения. Дым кажется более тонким.
Более высокая шкала поглощения. Дым кажется более густым.
Absorption — Tint
Цвет применяется к поглощению (можно рассматривать его как своего рода фильтр).
Absorption — Scale
Маска, используемая для поглощения. Обратите внимание, что маска применяется в трехмерном пространстве, поэтому при добавлении карты шума к объекту будет применена трехмерная маска шума.
Scattering
Определяет, как свет будет рассеиваться внутри объема.
Scattering — Channel
Выбирает канал (сетку), присутствующий в файле OpenVDB, который будет использоваться для рассеяния. Обычно он должен быть установлен на » constant «, чтобы весь объект рассеивал свет одинаково в тех областях, где поглощение позволяет это сделать, но другие каналы тоже могут работать хорошо, в зависимости от потребностей.
Scattering — Scale
Заставляет объект рассеивать свет больше или меньше (более высокие значения означают большее рассеивание и более яркий общий цвет).
Более низкая шкала рассеивания. Дым кажется темнее.
Более высокая шкала рассеивания. Дым выглядит ярче.
Scattering — Tint
Цвет применяется к рассеиванию (можно рассматривать его как своего рода фильтр).
Оттенок рассеивания установлен на синий.
Scattering — Map
Маска, используемая для поглощения. Обратите внимание, что маска применяется в трехмерном пространстве, поэтому при добавлении карты шума к объекту будет применена трехмерная маска шума.
Scattering — Directionality
Направленность рассеяния. 0 дает изотропное («диффузное») рассеяние. Положительные значения дают рассеяние вперед. Отрицательные значения приводят к рассеянию назад. Значение по умолчанию 0 подходит для большинства сред, за исключением облаков, где более высокие положительные числа создадут эффект «серебряной подкладки».
Scattering — Single bounce only
Эта опция должна быть включена, если ее отключение не является абсолютно необходимым. Если опция включена, в среде будет рассеиваться только одиночный отскок (прямое освещение). Это приводит к смещенному (более темному), но гораздо более быстрому рендерингу. Полезно, например, для рендеринга «крестных лучей» внутри среды.
Рендеринг:
Rendering — Interpolation
Решает вопрос о соотношении скорости и качества. Это похоже на фильтрацию, используемую во многих приложениях при работе с 2D текстурами.
- » None » — самый быстрый рендеринг, но самое низкое качество с возможностью «пикселированного» или «блочного» вида сетки.
- » Linear » — это компромисс между качеством и скоростью рендеринга, и этот режим используется по умолчанию.
- » Quadratic » обеспечивает наилучшее качество, но за счет времени рендеринга.
Интерполяция не используется. Время рендеринга: 24 с. Результат заметно «блочный».
Интерполяция установлена на линейную. Время рендеринга 24 с (как и при отсутствии интерполяции). Результат выглядит гораздо более гладким и естественным.
Интерполяция установлена на квадратичную. Время рендеринга 31 с. Результат выглядит более естественным, но рендеринг происходит медленнее.
Rendering — Step size
Размер шага лучей. Определяет, сколько «объемных шагов» может быть использовано для рендеринга объекта. Большие значения означают более быстрый рендеринг, больше шума и большую вероятность появления артефактов. Меньшие значения означают лучшее качество, но более медленный рендеринг. Чтобы получить приемлемое время рендеринга, размер шага должен быть установлен на максимально возможное значение, пока не будут заметны артефакты марширования лучей («срезы», видимые внутри объекта).
Размер шага 0,5 см. Время рендеринга 3 мин 46 с. Дым густой, детали сохраняются.
Размер шага 5 см. Время рендеринга 48 с. Дым становится тоньше, и деталей видно меньше.
Размер шага 50 см. Время рендеринга 29 с. Весь объект становится прозрачным, и детали теряются.
Rendering — Flip frame
Переворачивает оси Y и Z файла OpenVDB, в результате чего объект поворачивается на 90 градусов. Этот параметр следует использовать, если при загрузке объект оказывается неправильно повернутым.
Rendering — Preview type
Preview type- использовать для файла OpenVDB предварительный просмотр ограничивающей рамки или облака точек.
Внимание: предварительный просмотр облака точек может работать медленно при загрузке большого файла.
Rendering — Preview quality
Плотность предварительного просмотра облака точек.
Rendering — Motion blur
Определяет, как будет вычисляться размытие движения.
Rendering — Режим
- Disabled — отключает размытие движения
- Simple — простая интерполяция между двумя кадрами OpenVDB — может привести к артефактам
- Velocity based — плавная интерполяция на основе канала скорости файла OpenVDB — требует выбора правильного канала скорости.
- Velocity — выбирает канал, который хранит информацию о скорости для расчетов размытия движения. Обычно для этого используется «velocity».
- Multiplier — сила эффекта размытия движения (большие значения означают более выраженное размытие движения).
Размытие движения выключено.
Простое размытие движения.
Размытие движения на основе скорости.
Как достичь желаемых результатов — примеры
Мы хотим добиться темного, густого дыма, который не излучает и не рассеивает свет:
- Эмиссия и рассеивание отключены (так как они нам не нужны).
- Поглощение включено и установлено на высокую шкалу.
Мы хотим добиться интенсивного огня с темным, тонким дымом, который рассеивает свет:
- Эмиссия включена, так как мы хотим отрисовать излучающую часть огня. Масштаб эмиссии установлен на 5, чтобы усилить интенсивность.
- Для излучения выбран режим черного тела, так как мы создаем реалистичный огонь.
- Поглощение включено для рендеринга дыма, однако его масштаб уменьшен до 0,5, так как мы хотим, чтобы дым был тонким.
- Рассеяние включено, а масштаб установлен на 0,05 для слабого эффекта рассеяния.
Мы хотим добиться яркого пара:
- Для этого примера нам не нужна эмиссия, поэтому она отключена.
- Поглощение включено, но его масштаб уменьшен до 0,05, чтобы сделать пар прозрачным.
- Шкала рассеивания установлена на 1, чтобы пар выглядел ярким.
Мы хотим добиться «волшебного» огня с разноцветным дымом:
- Мы используем эмиссию, поглощение и рассеивание.
- Чтобы добиться фиолетового оттенка дыма, мы используем пользовательский оттенок рассеивания.
- Для красочного огня мы используем опцию отображения цвета канала для эмиссии (см. ниже дополнительную информацию и мини-учебник).
Как использовать инструмент отображения цвета канала?
Проще говоря, отображение цвета канала можно использовать для окрашивания свойств объемной сетки (излучение, поглощение, рассеяние) на основе градиента. Например, красно-желтый градиент может быть использован для создания реалистичного огня.
Диалог отображения канала позволяет сопоставить значения с плавающей точкой, хранящиеся в канале, с цветами. Сопоставление вычисляется следующим образом:
- Сначала значения с плавающей точкой масштабируются с помощью параметра «Входное масштабирование», чтобы они вписывались в [0,1]. Можно использовать кнопку «Автомасштабирование» для автоматического вычисления входного масштаба.
- Плавающее значение отображается на цвет с помощью цветового градиента. Самый левый цвет градиента определяет, как значение 0 отображается в цвет, а самый правый цвет определяет, как значение 1 отображается в цвет.
- Цвет, вычисленный по градиенту, масштабируется кривой. Обратите внимание, что на вход кривой подается не цвет из градиента, а «входное масштабированное» плавающее значение из канала (т.е. результат операции 1).
- Окончательный цвет вычисляется путем обратного масштабирования цвета с использованием обратной величины «Input scaling».
Предлагаемый рабочий процесс (на основе эмиссии):
- Установите канал эмиссии на температуру .
- Установите режим » Channel mapping «.
- Откройте окно » Channel color mapping «.
- Нажмите кнопку » Auto-scale » для автоматической настройки значения масштаба.
- Установите нужные цвета градиента:
- Самый левый цвет представляет собой цвет самых темных элементов объемного эффекта (в случае использования температурного канала это означает самую низкую температуру, поэтому все области за пределами видимого огня).
- Самый правый цвет представляет собой цвет самых ярких элементов объемного эффекта (в случае использования температурного канала, это означает самую высокую температуру)
- Все значения между ними представляют собой переход между крайними значениями интенсивности (левое и правое).
- На этом этапе вы можете настроить кривую в соответствии с вашими потребностями:
- Перемещение левой нижней точки к верхней части графика сделает самые темные цвета более интенсивными.
- Перемещение левой нижней точки к правой стороне графика «обрежет» некоторые из самых темных цветов, сделав их прозрачными.
Примечание: это полезно для того, чтобы избавиться от видимой при рендеринге формы ограничительной рамки объемной сетки. - Перемещение правой верхней точки к нижней части графика сделает весь эффект менее интенсивным.
- Перемещение правой верхней точки к левой стороне графика сделает весь эффект более интенсивным (обратите внимание, что из-за этого эффект часто может выглядеть перегоревшим).
- Вы также можете добавлять точки в других местах кривой, чтобы контролировать промежуточные значения, и переключаться между кубическим («безье») и линейным («угловым») сплайнами.
- На данном этапе регулировка значения «Входной масштаб» сделает общий эффект более или менее интенсивным.
- Если нажать ОК и закрыть окно отображения цвета канала, то можно вернуться к разворачиванию «Затенение» объекта Corona Volume Grid и отрегулировать параметр «Масштаб излучения». Он будет работать аналогично «Input scaling» в окне цветового отображения канала, но будет регулировать интенсивность после завершения цветового отображения. Это означает, что если вы удалили видимую ограничительную рамку объемного эффекта с помощью элементов управления, предоставленных в окне цветового отображения канала, то нет никакого способа показать ограничительную рамку снова с помощью параметра масштаба излучения. Этот параметр можно использовать для настройки интенсивности эффекта после настройки общего цвета и видимости (например, сделать огонь ярче).
Как добиться максимально быстрого рендеринга и наилучшего качества?
Вот некоторые рекомендации по настройке объекта Corona Volume Grid для наилучшего соотношения времени рендеринга и качества:
- Если вы рендерите только объект Volume Grid на сплошном фоне (без какого-либо окружения, например, интерьера или экстерьера), перейдите в Render Setup > Performance и уменьшите значение параметра GI vs. AA с 16 по умолчанию до меньшего значения (например, 4, но не ниже 2). Это ускорит рендеринг объекта Volume Grid, но может внести шум в другие части изображения, например, глянцевые отражения или преломления.
- Поскольку некоторые части объемной сетки могут в основном полагаться на прямое освещение (это заметно при использовании поглощения и рассеяния), возможно, имеет смысл увеличить значение множителя Light Samples Multiplier в разделе Render Setup > Performance . Это улучшит качество света, проникающего в светорассеивающую часть объекта (например, дым, пар).
- В настройках объекта Grid Object перейдите к ролику Rendering и установите размер шага на максимально возможное значение. Слишком низкие значения будут рендериться очень медленно. Слишком высокие значения приведут к появлению артефактов марширования лучей («срезы» или «кубы», видимые в объекте), а также сделают объект нереалистично прозрачным.
- Объекты с более низкой шкалой излучения всегда будут визуализироваться быстрее, поскольку генерируется меньше света, что, в свою очередь, создает меньше шума.
- Объекты с более низкой шкалой рассеяния (более темного цвета) всегда будут рендериться быстрее. Соответственно, яркое рассеивание (например, цвет установлен на чисто белый) будет визуализироваться медленнее.
- Всегда используйте опцию » Только одиночный отскок » в разделе «Scattering» внутри объекта «Volume Grid». Отключайте эту опцию только в случае крайней необходимости. Включение этой опции обычно дает лишь небольшое улучшение качества и делает рендеринг намного медленнее.
Разве элементы управления Corona Volume Grid не похожи на те, что находятся в Corona Volume Mtl?
Да, элементы управления, доступные в объекте Corona Volume Grid, очень похожи на те, что находятся в материале Corona Volume, и они дают очень похожие результаты. Если вы знакомы с материалом Corona Volume и эффектами SSS в Corona, то объемные сетки не должны стать для вас проблемой!
Более подробно ознакомиться со всеми курсами образовательного проекта CGBandit вы можете здесь.
Перевод статьи осуществлен образовательным проектом CGBandit c официального сайта coronarenderer.