Corona bump converter что
В этой статье мы разберемся, как настраивать материалы в короне (которая рендер, а не болезнь 💁♂️). Никаких сложных материалов и карт я сейчас показывать не буду — перенесем это в отдельные посты.
Материалы — одна из тех сложных тем, которую легче понять самому, чем объяснить кому-нибудь, но я попробую (а раньше, во времена v-ray вообще жопа была с материалами).
Вот небольшая навигация по посту:
После обновления Corona Render до версии 7, появился новый материал — CoronaPhysicalMtl. Логика его настройки несколько меняется.
Далее в тексте вся информация представлена о CoronaLegaсyMtl.
Преломление и прозрачность
Refraction level — используется для создания стеклянных материалов, материалов жидкостей и др. прозрачных материалов. Это не просто прозрачность — это степень преломления света материалом. Если наложить материал с refraction level = 1 на сферу, то свет, проходя через неё, будет менять свое направление.
Для наглядности добавил текстуру на задний план. Материал шарика справа похож на стекло
Refraction glossiness — влияет на размытость проходящего через материал света — чем меньше число (или чем чернее карта), тем мутнее будут внутренности материала.
Refraction IOR — коэффициент преломления света — влияет на степень искажения света, при преломлении внутри объекта.
Происходит какая-то дичь. Меняйте это значение, если точно знаете, что делаете
Opacity — обычная прозрачность объекта. Чем белее карта (или ближе к 1 число), тем более непрозрачным будет объект.
Шарик просто пропадает, как крутить прозрачность в ФШ
🤷♂️ Что такое PBR и вообще
Сейчас в большинстве рендер-движков используется принцип PBR, что это такое читаем здесь, а для тех кто прям закопаться хочет — здесь и здесь. Если кратко — это набор картинок, которые указывают, где свет на модели должен сильнее отражаться (прям вам в глаз). Ещё этот набор не обязательно должен состоять из изображений, это могут быть числовые значения и параметрические карты.
Так выглядят карты
Обычно набор карт такой:
- Diffuse — задаёт цвет объекта, на карте не должно быть теней и бликов (карта только про цвет);
- Reflection — задаёт, силу отражений на объекте;
- Reflection Glossiness — задаёт шероховатость обьекта и, следовательно, степень размытости отражений;
- Bump и/или Normal — добавляет мелкие рельефные детали, но не изменяет геометрию модели;
- Displacement — добавляет рельефные детали и изменяет геометрию модели — это карта высот, указывающая где объект будет больше выпирать относительно своего первоначального состояния;
Отражения
Reflection level — влияет на силу отражения, можно просто задать число от 0 до 1 и в дополнение к нему вставить карту или цвет — чем белее, тем больше отражает.
Если в этот слот вставить карту с цветом, то отражение будет иметь оттенок, обычно это используется для настройки материалов цветных металлов (золото, медь и т.д.).
Тут прост сила отражения меняется
Reflection glossiness — влияет на размытость изображения, можно вставить карту или просто настроить число от 0 до 1 — чем белее, тем более четкое будет отражение.
При уровне 0,5 кажется, что шарик и не отражает ничего, но ведь он отражает! Сравните с первой картинкой, где мы крутили diffuse level
Reflection Frensel IOR — также влияет на силу отражения — чем больше число, тем сильнее отражение. В большинстве случаев оставляем как есть, можно увеличивать в металлических материалах и материале зеркала.
При IOR = 15 материал шарика похож на хром или зеркало
🏫 Настраиваем материал кирпича
Первым делом идём и скачиваем набор карт для материала кирпича, например здесь. Все карты нам не нужны, достаточно скачать Diffuse, Displacement, Normal и Roughness.
Качайте эти карты, достаточно в формате jpg размером 4k
Все доступные материалы и карты можно создать несколькими способами:
- Нажать правой кнопкой мыши в области редактирования материалов;
- Вытащить из столбика слева;
- Вытащить из слота материала (кружочек на плашке материала).
Теперь открываем окно настройки материалов в максе (можно просто нажать “M” на клавиатуре) и создаём пустой материал CoronaMtl перетаскиванием его из списка доступных в область редактирования (ищем во вкладке Materials, в подвкладке Corona).
Слева вытаскиваем CoronaMtl, можно назвать его “Bricks” раз мы скачали текстуры кирпичной стены
Ок. Материал создали, теперь нужно провести небольшую первоначальную настройку материала — включить отражения. Хз почему, но почему то в CoronaMtl они выключены по-умолчанию. Просто крутим параметр Reflection level на 1,0.
Здесь крутим Reflection level
Далее нужно подключить текстуры, которые мы скачали ранее, к материалу. Добавляем текстуры — создаём карту CoronaBitmap и указываем путь к текстуре (ищем CoronaBitmap во вкладке Maps, в подвкладке Corona). Можно использовать и обычный Bitmap, но разработчики короны говорят, что их карта работает лучше и быстрее, да и крутилок там побольше на будущее.
Как создать карту или материал кликом правой кнопки мыши Когда всё вытащите, должно быть так
Теперь присоединяем карты в нужные слоты материала — тянем от кружочка карты линию до кружочка материала.
В слот Diffuse вставляется карта, задающая цвет материала, она может называться Diffuse, Albedo или Base Color. (разные источники по-разному называют текстуры).
В слот Reflection color вставляется карта, задающая силу отражения, она может называться Reflection, Specular, Metallic.
В слот Reflection glossiness вставляется карта, задающая размытость отражений/шероховатость материала. Она может называться Glossines или Roughness. При использовании в короне карты Roughness её нужно инвертировать — добавляем карту Output и ставим галочку “Invert” или отмечаем эту же галочку в настройках самой CoronaBitmap.
Инверсия нужна для правильной работы карты — дело в том, что Roughness задаёт шероховатости на поверхности объекта и её логика в том, что чем белее карта, тем более шероховатая должна быть область; а принцип карты reflection и reflection glossines заключается в том, что чем белее карта/цвет, тем больше света отражается от объекта в этом месте и тем более четкое отражение должно быть соответственно (глянцевость крч.). А т.к. шероховатость это противоположность глянцевости нужно карту инвертировать. (Поэтому если вы скачаете где-нибудь карту Glossines или Specular — инвертировать не нужно будет, всё уже ок.)
Если у вас одна карта, отвечающая за отражения, можно попробовать вставить её и в слот Reflection color и в слот Reflection glossiness.
В слот Bump вставляется карта, задающая плоский рельеф материала. Она может называться Bump или Normal (или может быть сразу оба варианта). Карта Normal должна быть подключена в слот Bump через еще одну карту — CoronaNormal с включенной галочкой “Add gamma to input”. В слот Additional bump можно вставить карту Bump, если она у вас есть.
В слот Displacement вставляется карта, задающая настоящий, объемный рельеф. Она может называться Displacement или Height.
Должно получиться примерно так Включаем превью
Настройка уровня “выдавливания” Правильный кирпич с Displacementом
Получился норм кирпич.
🤹♂️ А можно ли сделать материал, не используя текстуры?
Всё, что мы делали выше, получилось легко и просто, благодаря тому, что все нужные карты у нас уже были. А что делать, если нужно настроить какой-нибудь простенький материал без текстур, чтоб просто был определенного цвета и блестел/не блестел так, как нам нужно? А для всего этого нужно задать определенные циферки в настройках материала! Давайте разбираться, какие цифры на что влияют.
Основные параметры материала
Далее рассмотрим каждый параметр отдельно
Настройки материала Corona Shadow Catcher Mtl
Давайте разберемся с тем, где вообще активировать Corona Shadow Catcher Mtl и какие манипуляции мы можем с ним производить.
→ Откройте редактор материалов, нажав на соответствующий значок на панели инструментов в 3ds Max или воспользовавшись горячей клавишей (по умолчанию – английская буква M).
→ В открывшемся редакторе материалов найдите панель со всеми картами слева. Там будет раздел с материалами Corona. Если не можете найти подобный раздел, то убедитесь, что активным движком для рендеринга указан Corona Render в разделе Render Setup… (горячая клавиша по умолчанию – F10).
→ Найдя материал с точным названием Corona Shadow Catcher Mtl в данном разделе перетяните его в свободную область редактора материалов.
После проделанных вами действий вы получите полный доступ ко всем настройкам материала. Рассмотрим их все по порядку.
Цвет объекта
Diffuse — влияет на цвет объекта. Можно вставить карту или просто настроить цвет. А можно вообще выключить, указав 0,0 в разделе Diffuse level (обычно ноль задают у металлов и стекла).
При diffuse level близком к 0 цвет становится черным
А что делать, если текстура, которую вы скачали, в одном цвете, а вам нужно покрасить его в другой или обесцветить? Если вы не хотите открывать ФШ или хотите сразу видеть результат, можно сделать это прям в максе и есть несколько способов. Давайте рассмотрим на примере материала ткани т.к. у них обычно сложный Diffuse и у них чаще всего меняют цвет.
Способ 1. Подключаем карту Diffuse через еще одну карту Color Corretion и крутим параметр Hue Shift для изменения оттенка и другие параметры для изменения яркости/контрастности.
После использования карты Color Correction красный шарик стал желтым
Способ 2. Обесцвечиваем исходную карту Diffuse и красим её в любой цвет. Для этого оставляем Color Correction как в первом способе, но выкручиваем Saturation на -100 (если карта стала слишком темной, то можно еще увеличить Brightness) и добавляем еще две карты как на скриншоте снизу — RGB Multiply и CoronaColor. В CoronaColor задаём нужный цвет и всё!
В этом способе больше телодвижений, но более контролируемый результат
Также важно отметить, что не бывает абсолютно белого и абсолютно черного цвета. Для черных объектов рекомендую минимальный уровень RGB = 5, а для белых максимальный RGB = 150-180.
Matte/Shadow
Данный раздел является основным перечнем настроек отображения материала в вашей сцене.
Enviro/Backplate – параметр, отвечающий за цвет или bitmap–карту, назначенную вами.
Projection mode – параметр, отвечающий за отображение вторичных лучей при попадании на материал. Имеет следующие вариации отображения:
→ Screen projection onto geometry – устанавливается, если вы используете стандартный цвет для материала или bitmap–карту, назначенную вами.
→ Enviro projection onto geometry – устанавливается, если вы используете панорамное изображение в качестве фона, так называемую HDRI–карту.
Alpha mode – параметр, отвечающий за отображение материала в альфа–канале при рендеринге. Имеет следующие вариации отображения:
→ Always solid – объект с назначенным на него материалом будет всегда виден в альфа–канале при рендеринге.
→ For compositing – вариация, позволяющая отключить отображение объекта в альфа–канале, на который наложен материал Corona Shadow Catcher Mtl, но оставив при этом тени и отражения, взаимодействующие с ним.
→ Always transparent – объект с назначенным на него материалом будет невидимым в альфа–канале при рендеринге.
Shadow amount – параметр, отвечающий за количество лучей, отскакивающих от материала Corona Shadow Catcher Mtl на другие объекты. При увеличении значения тени будут становиться темнее.
Думаю, каждый 3D-специалист рано или поздно приходит к этому: его 3D-сцена или 3D-модель весит как-то неприлично много, что значительно влияет на быстродействие и эффективность работы. Конечно, вы можете сказать, мол сейчас у каждого по 64 гигабайта оперативной памяти и топовые видеокарты, но это отнюдь не так. По сей день остаются как новички, так и опытные 3D-специалисты, которые не располагают высокими компьютерными мощностями и средствами для их приобретения. Сам лично работал с 3D-дизайнерами и 3D-визуализаторами, которые имеют бюджетные компьютерные сборки или маломощный ноутбук. Им этого конечно же может быть достаточно или они пытаются выдавить доступный максимум из своих «железок», но если проект выходит за ограниченные производительностью рамки, то они не отказались бы от возможности оптимизации своего рабочего процесса, не прибегая к покупке новых компьютерных комплектующих. Что уж тогда говорить о тех, кто только начал свое знакомство с 3D-сферой и не может позволить себе покупку дорогостоящего оборудования.
Естественно, подобные ситуации могут происходить не только с экстерьерными сценами, но и с небольшими интерьер-проектами. В таких случаях, можно попытаться как-то сократить количество отображаемых объектов, например, удаляя ненужные 3D-модели или скрывая их из видимости. Но как быть, если уже не осталось вариантов для оптимизации сцены или вы не знаете о таковых? Тогда на помощь приходит такой инструмент, как Corona Proxy и VRay Proxy в 3ds Max.
Corona/VRay Proxy — это инструмент, позволяющий перевести любые 3D-модели в так называемый прокси-формат в 3ds Max. Данное преобразование поможет максимально уменьшить количество полигонов нужного вам объекта, тем самым увеличив быстродействие внутри сцены. В нашей прошлой статье мы научились пользоваться таким инструментом, как Corona Scatter. Вот как раз таки в совокупности с данным инструментом, использование Proxy эффективнее, так как использовав его единожды, вы осознаете его необходимость. Сами же объекты, в свою очередь, никак не теряют в качестве визуальной составляющей при рендеринге. То есть преобразование 3D-объектов в прокси формат никак не видоизменяет и не ухудшает 3D-модели на этапе рендеринга.
Давайте разберемся, как применить этот чудо-инструмент на практике и навсегда избавиться от фризов при работе в 3ds Max.
Примеры
Объект с картой noise, используемой в качестве карты рельефа. Настройки по умолчанию. Corona Bump Converter не используется.
Объект с картой noise, используемой в качестве карты рельефа. Corona Bump Converter не используется. Параметры Output карты Noise были обновлены, однако визуализированное изображение выглядит точно так же, как при настройках по умолчанию.
Объект с картой Noise, используемой в качестве карты рельефа. Corona Bump Converter. Параметры Output карты Noise были обновлены, и это правильно отражено в визуализированном изображении.
Понравился материал? Применяй. Спасибо, что с нами Dof_education
Что интересно - если пропустить через NormalMap или CoronaNormal - те же манипуляции приносят эффект.
Пробовал CoronaBitmap - не помогает
Решил, что дело в расширении файла (первоначальная картинка - jpeg). Попробовал tga и png - не помогло.
Дорисовал альфа-каналы для тех же tga и png и в настройках Bitmap и CoronaBitmap указал на них - не помогло
Попробовал карты типа Noise, Dent, Tiles и т.д. При изменении штатных цветов - изменения происходят. Пропускаю их через оутпуты - не происходят.
Карта Fallof - не работает сразу.
Я всё, уже не знаю, куда ткнуться. Я дурак или лыжи не едут? Я надеюсь, что я дурак. Это значит, что проблема решаема.
Во-вторых. Без лишних слов - картинки в студию.
Так выглядит сборище карт на глосе (всё так и задумано):
Вот то же сборище карт на бампе:
Что вообще происходит? Куда пропала карта шума? Это законно?
В CoronaMix поставил Add и вуаля:
Всё работает. Но превьюшка отображает правильный результат, а вот рендерит неправильно. Ну, пускай костыль, пускай косо-криво, но хоть эта проблема решена.
В рендере результаты те же.
Подскажите, кто чем может, буду крайне признателен.
P.S. В-третьих. Не работает дисплейс, но с ним сегодня бодаться уже не буду. Вдруг еще и на его счет мнений накидаете - будет очень замечательно (в RenderSetup галочка стоит. проверил =))
Оффтоп: Похоже не вовремя создал тему, добрай часть сообщества зависла на обсуждении курсов =)
Придумал решение для "во-первых":
Костыль намбер ван - правим карту в фотошопе. Естественно страдает качество, т.к. много итераций не проведешь.
Костыль намбер ту - правим через тот же оутпут в максе на глосе, смотрим как, что, с чем сочетается, сохраняем карту как картинку, загружаем по новой через битмап, переставляем на бамп - работает.
В прошлый раз мы познакомились с таким удобным плагином, как MultiTexture Map. Но упростить себе повседневные задачи можно и без сторонних плагинов или скриптов. Разнообразие гибких настроек Corona Render позволяет воспользоваться встроенными инструментами. Одним из таких инструментов является материал Corona Shadow Catcher Mtl, который мы сейчас изучим.
Содержание
Лично я впервые познакомился с этим функционалом тогда, когда мне нужно было отрендерить набор мебели в пустом пространстве, но сохранив при этом отражения и тени, создаваемые этой мебелью. Проделав определенные манипуляции с объектом, в рендеринге которого участвует Corona Shadow Catcher Mtl можно добиться быстрых результатов и использовать финальные изображения для постановки их в основном кадре без дополнительных затрат времени на рендеринг окружения.
Например, подобный функционал материала Corona Shadow Catcher Mtl используется в предметном рендеринге всевозможных объектов. Часто можно встретить его применение на различных 3D–стоках с техникой (автомобили, вертолеты, самолеты, лодки и тд.). Более того, с помощью схожих по функционалу инструментов создаются стоковые изображения, которые можно использовать для оформления сайтов, баннеров и прочих digital-объектов.
Рельеф
Displacement — как мы выяснили выше, эта функция выдавливает настоящую геометрию из объекта, может сделать плоскую стену объемной. Min level задает минимальное отклонение от изначальных границ объекта (это насколько выдавятся черные части карты, которую вы засунете в слот displacement), max level задает максимальное отклонение (для белых частей карты displacement).
Очень ресурсоёмкая функция, сильно увеличивает время рендера. Не используйте её где попало, используйте только когда прям действительно нужно.
Числа на скриншоте — условные
Bump — карта, которая создаёт рельеф на поверхности объекта, не меняя его геометрию. По-сравнению с displacement эта карта создаёт только видимость рельефа, на самом деле никакие дополнительные полигоны не создаются и не выдавливаются, много ресурсов не использует и не замедляет рендер.
В слот bump можно вставлять карты в оттенках серого, где черный цвет — наибольшее заглубление рельефа, а белый — выпирание соответственно. Также сюда можно вставлять специальные карты нормалей с помощью CoronaNormal, как мы рассматривали на примере материала кирпича.
Силу бампа можно задать цифрой от 0 до 100 в соответствующем разделе в самом низу настроек материала.
Чем больше число, тем более выражен эффект
Вы, наверное, заметили, что в настройках материала есть еще куча всяких параметров. О некоторых из них я расскажу в будущих постах.
Размер текстуры / UVW mapping / Развертка
Выше мы рассмотрели настройки материалов и какие текстуры в какой слот нужно кидать, но есть еще один не менее важный аспект — макс должен как то понять, куда должна ложиться текстура на объекте и какого размера она должна быть.
Представим, что вы замоделили некий объект, наложили на него материал дерева, включили рендер и… Получилась какая-то хрень:
Текстура легла криво
Для решения этого вопроса существует такая вещь как развертка. Грубо говоря, это развернутая на плоскость поверхность 3D-объекта. Развертку можно создавать несколькими, различающимися по точности способами.
Способ 1 (самый простой). Наложить на объект модификатор UVW Map с параметром “Mapping” — Box и задать размер текстуры в единицах измерения вашего проекта.
Если после наложения модификатора текстура ориентирована не в ту сторону, в которую вам нужно (обычно такое бывает именно с материалом дерева), модификатор можно повернуть так, как вам нужно — выбираем во вкладке модификатора Gizmo и крутим.
Если вам нужно повернуть ориентацию древесных волокон на какой-то отдельной части объекта (а такое тоже часто бывает, например, при моделировании корпусной мебели) — накладываете модификатор Edit Poly, выбираете в нём нужные части объекта.
Выбрали части объекта, текстуру на которых мы хотим повернуть
Далее, не снимая выделения, накладываем еще один модификатор — UVW Xform. В параметрах модификатора задаём “Rotation” = 90. Таким образом мы повернули текстуру на выделенных элементах объекта на 90 градусов.
Крутим направление волокон с помощью UVW Xform Теперь всё нормально лежит
В этом способе размер текстуры задаётся в параметрах модификатора UVW Map.
Способ 2. Второй способ почти идентичен первому. Единственное отличие — размер текстуры будет задаваться в самой текстуре, а не модификаторе UVW Map. У такого варианта есть свои преимущества — например, если у вас на один объект наложено несколько материалов (например на стенах в интерьере такое часто бывает) — при использовании этого способа удобнее будет настраивать размер текстур.
Просто на этапе наложения модификатора UVW Map жмем галочку “Real-World Map Size”. А размер текстуры настраиваем в параметрах самой текстуры CoronaBitmap (тоже нажав там галочку “Real-World Map Size”.
Включаем Real-World Map Size в модификаторе UVW Map Включаем Real-World Map Size в карте
В итоге получается то-же самое, что и в первом способе, просто так удобнее управлять размером текстур в объекте с разными материалами на нескольких элементах.
Способ 3. Подключить текстуру через карту CoronaTriplanar. Помогает в тех случаях, когда нужно наложить абстрактную текстуру на объект без развертки. Работает без каких-либо модификаторов. Крутить ориентацию текстуры на отдельных элементах неудобно (нужно создавать отдельный материал).
Настройка CoronaTriplanar Получается так. Как видите, для дерева не очень вариант
Способ 4. Сделать развертку модели, но это уже тема для отдельного поста 🙅♂️.
💁♂️ Готовые материалы
Если вы думаете также, то инфа ниже для вас
Если вы дочитали до этой части поста (вау, эти посты кто-то читает!) и вы всё равно-не понимаете/нет времени, как настроить нужный материал, у меня для вас хорошая новость — в короне есть большая встроенная библиотека материалов с удобными превью.
Есть несколько способов открыть библиотеку материалов. Самый удобный — нажать на специальную иконку из тулбара, который появился у вас после установки короны (надеюсь вы не закрыли этот тулбар).
Просто открываете библиотеку, выбираете нужный материал, перетаскиваете его в область редактирования или сразу на объект.
Слева — куча категорий материалов, справа — куча материалов с превью.
Только там есть не все нужные материалы, иногда всё-таки нужно настраивать что-то самому.
Если хотите глубже разобраться, попробуйте посмотреть какие-нибудь видеоуроки. Например этот. Еще очень помогает почитать официальную документацию, но она на английском языке.
По умолчанию 3ds max обрабатывает карты рельефа иначе, чем «обычные» RGB-карты, поэтому некоторые карты не работают корректно в качестве входных данных для рельефного отображения.
Corona Bump Converter решает эту проблему, позволяя использовать любую карту в качестве входных данных для канала карты рельефа в материале.
Он также позволяет вам использовать собственные настройки вывода 3ds max, чтобы применить корректировки к вашей карте рельефа и получить ожидаемые результаты, что невозможно в случае подключения карты непосредственно в слот рельефа материала.
Примечание: Corona Bump Converter использует uvw mapping, поэтому, если объект не использует uvw-карты, или если они неверны, он может создавать артефакты или вообще не работать.
Читайте также: