Архвиз. Настройка материалов

В этой статье мы разберемся, как настраивать материалы в короне (которая рендер, а не болезнь 💁‍♂️). Никаких сложных материалов и карт я сейчас показывать не буду — перенесем это в отдельные посты.

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

Вот небольшая навигация по посту:

  1. Что такое PBR
  2. Настраиваем кирпич
  3. Что значат отдельные параметры материалов
  4. Развертки
  5. Готовые материалы

После обновления Corona Render до версии 7, появился новый материал — CoronaPhysicalMtl. Логика его настройки несколько меняется.

Далее в тексте вся информация представлена о CoronaLegaсyMtl.

🤷‍♂️ Что такое PBR и вообще

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

Так выглядят карты

Обычно набор карт такой:

  • Diffuse — задаёт цвет объекта, на карте не должно быть теней и бликов (карта только про цвет);
  • Reflection — задаёт, силу отражений на объекте;
  • Reflection Glossiness — задаёт шероховатость обьекта и, следовательно, степень размытости отражений;
  • Bump и/или Normal — добавляет мелкие рельефные детали, но не изменяет геометрию модели;
  • Displacement — добавляет рельефные детали и изменяет геометрию модели — это карта высот, указывающая где объект будет больше выпирать относительно своего первоначального состояния;

🏫 Настраиваем материал кирпича

Если вы хотите настроить материал какой-нибудь другой поверхности — без проблем, просто скачайте себе другие текстуры с любого сайта или сборника, процесс не будет сильно отличаться. Например, на сайте texturehaven.com полно бесплатных текстур разных поверхностей.

Первым делом идём и скачиваем набор карт для материала кирпича, например здесь. Все карты нам не нужны, достаточно скачать 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.

Должно получиться примерно так
Включаем превью

Если мы посмотрим, что у нас получается, то увидим, что кирпич какой-то плоский. Т.е. рельеф вроде-бы есть, но он как на стрёмных обоях из двухтысячных с текстурой кирпича. Чтобы исправить это крутим до приемлемого значения параметр “Max level” в разделе “Displacement” настроек материала.

Настройка уровня “выдавливания”
Правильный кирпич с Displacementом

Получился норм кирпич.

🤹‍♂️ А можно ли сделать материал, не используя текстуры?

Всё, что мы делали выше, получилось легко и просто, благодаря тому, что все нужные карты у нас уже были. А что делать, если нужно настроить какой-нибудь простенький материал без текстур, чтоб просто был определенного цвета и блестел/не блестел так, как нам нужно? А для всего этого нужно задать определенные циферки в настройках материала! Давайте разбираться, какие цифры на что влияют.

Основные параметры материала

Далее рассмотрим каждый параметр отдельно

Цвет объекта

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.

Отражения

Reflection level — влияет на силу отражения, можно просто задать число от 0 до 1 и в дополнение к нему вставить карту или цвет — чем белее, тем больше отражает.

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

Тут прост сила отражения меняется

Reflection glossiness — влияет на размытость изображения, можно вставить карту или просто настроить число от 0 до 1 — чем белее, тем более четкое будет отражение.

При уровне 0,5 кажется, что шарик и не отражает ничего, но ведь он отражает! Сравните с первой картинкой, где мы крутили diffuse level

Reflection Frensel IOR — также влияет на силу отражения — чем больше число, тем сильнее отражение. В большинстве случаев оставляем как есть, можно увеличивать в металлических материалах и материале зеркала.

При IOR = 15 материал шарика похож на хром или зеркало

Преломление и прозрачность

Refraction level — используется для создания стеклянных материалов, материалов жидкостей и др. прозрачных материалов. Это не просто прозрачность — это степень преломления света материалом. Если наложить материал с refraction level = 1 на сферу, то свет, проходя через неё, будет менять свое направление.

Для наглядности добавил текстуру на задний план. Материал шарика справа похож на стекло

Refraction glossiness — влияет на размытость проходящего через материал света — чем меньше число (или чем чернее карта), тем мутнее будут внутренности материала.

Видно помутнение полосок на центральном и левом шариках

Refraction IOR — коэффициент преломления света — влияет на степень искажения света, при преломлении внутри объекта.

Происходит какая-то дичь. Меняйте это значение, если точно знаете, что делаете

Opacity — обычная прозрачность объекта. Чем белее карта (или ближе к 1 число), тем более непрозрачным будет объект.

Шарик просто пропадает, как крутить прозрачность в ФШ

Рельеф

Displacement — как мы выяснили выше, эта функция выдавливает настоящую геометрию из объекта, может сделать плоскую стену объемной. Min level задает минимальное отклонение от изначальных границ объекта (это насколько выдавятся черные части карты, которую вы засунете в слот displacement), max level задает максимальное отклонение (для белых частей карты displacement).

Очень ресурсоёмкая функция, сильно увеличивает время рендера. Не используйте её где попало, используйте только когда прям действительно нужно.

Числа на скриншоте — условные

Bump — карта, которая создаёт рельеф на поверхности объекта, не меняя его геометрию. По-сравнению с displacement эта карта создаёт только видимость рельефа, на самом деле никакие дополнительные полигоны не создаются и не выдавливаются, много ресурсов не использует и не замедляет рендер.

В слот bump можно вставлять карты в оттенках серого, где черный цвет — наибольшее заглубление рельефа, а белый — выпирание соответственно. Также сюда можно вставлять специальные карты нормалей с помощью CoronaNormal, как мы рассматривали на примере материала кирпича.

Силу бампа можно задать цифрой от 0 до 100 в соответствующем разделе в самом низу настроек материала.

Чем больше число, тем более выражен эффект

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

Размер текстуры / UVW mapping / Развертка

Выше мы рассмотрели настройки материалов и какие текстуры в какой слот нужно кидать, но есть еще один не менее важный аспект — макс должен как то понять, куда должна ложиться текстура на объекте и какого размера она должна быть.

Представим, что вы замоделили некий объект, наложили на него материал дерева, включили рендер и… Получилась какая-то хрень:

Текстура легла криво

Для решения этого вопроса существует такая вещь как развертка. Грубо говоря, это развернутая на плоскость поверхность 3D-объекта. Развертку можно создавать несколькими, различающимися по точности способами.

Способ 1 (самый простой). Наложить на объект модификатор UVW Map с параметром “Mapping” — Box и задать размер текстуры в единицах измерения вашего проекта.

Модификатор UVW Map

Если после наложения модификатора текстура ориентирована не в ту сторону, в которую вам нужно (обычно такое бывает именно с материалом дерева), модификатор можно повернуть так, как вам нужно — выбираем во вкладке модификатора 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. Сделать развертку модели, но это уже тема для отдельного поста 🙅‍♂️.

💁‍♂️ Готовые материалы

Если вы думаете также, то инфа ниже для вас

Если вы дочитали до этой части поста (вау, эти посты кто-то читает!) и вы всё равно-не понимаете/нет времени, как настроить нужный материал, у меня для вас хорошая новость — в короне есть большая встроенная библиотека материалов с удобными превью.

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

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

Слева — куча категорий материалов, справа — куча материалов с превью.

Только там есть не все нужные материалы, иногда всё-таки нужно настраивать что-то самому.

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

Привет! 👋 приятно познакомиться.

Подпишитесь на рассылку, если еще вы еще этого не сделали, чтобы не пропустить новые посты. 😉

Спам присылать не буду, не переживайте.

2 thoughts on “Архвиз. Настройка материалов

Comments are closed.