В этой статье мы разберемся, как настраивать материалы в короне (которая рендер, а не болезнь 💁♂️). Никаких сложных материалов и карт я сейчас показывать не буду — перенесем это в отдельные посты.
Материалы — одна из тех сложных тем, которую легче понять самому, чем объяснить кому-нибудь, но я попробую (а раньше, во времена v-ray вообще жопа была с материалами).
Вот небольшая навигация по посту:
После обновления Corona Render до версии 7, появился новый материал — CoronaPhysicalMtl. Логика его настройки несколько меняется.
Далее в тексте вся информация представлена о CoronaLegaсyMtl.
🤷♂️ Что такое PBR и вообще
Сейчас в большинстве рендер-движков используется принцип PBR, что это такое читаем здесь, а для тех кто прям закопаться хочет — здесь и здесь. Если кратко — это набор картинок, которые указывают, где свет на модели должен сильнее отражаться (прям вам в глаз). Ещё этот набор не обязательно должен состоять из изображений, это могут быть числовые значения и параметрические карты.
Обычно набор карт такой:
- Diffuse — задаёт цвет объекта, на карте не должно быть теней и бликов (карта только про цвет);
- Reflection — задаёт, силу отражений на объекте;
- Reflection Glossiness — задаёт шероховатость обьекта и, следовательно, степень размытости отражений;
- Bump и/или Normal — добавляет мелкие рельефные детали, но не изменяет геометрию модели;
- Displacement — добавляет рельефные детали и изменяет геометрию модели — это карта высот, указывающая где объект будет больше выпирать относительно своего первоначального состояния;
🏫 Настраиваем материал кирпича
Если вы хотите настроить материал какой-нибудь другой поверхности — без проблем, просто скачайте себе другие текстуры с любого сайта или сборника, процесс не будет сильно отличаться. Например, на сайте texturehaven.com полно бесплатных текстур разных поверхностей.
Первым делом идём и скачиваем набор карт для материала кирпича, например здесь. Все карты нам не нужны, достаточно скачать Diffuse, Displacement, Normal и Roughness.
Все доступные материалы и карты можно создать несколькими способами:
- Нажать правой кнопкой мыши в области редактирования материалов;
- Вытащить из столбика слева;
- Вытащить из слота материала (кружочек на плашке материала).
Теперь открываем окно настройки материалов в максе (можно просто нажать “M” на клавиатуре) и создаём пустой материал CoronaMtl перетаскиванием его из списка доступных в область редактирования (ищем во вкладке Materials, в подвкладке Corona).
Ок. Материал создали, теперь нужно провести небольшую первоначальную настройку материала — включить отражения. Хз почему, но почему то в CoronaMtl они выключены по-умолчанию. Просто крутим параметр Reflection level на 1,0.
Далее нужно подключить текстуры, которые мы скачали ранее, к материалу. Добавляем текстуры — создаём карту 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” настроек материала.
Получился норм кирпич.
🤹♂️ А можно ли сделать материал, не используя текстуры?
Всё, что мы делали выше, получилось легко и просто, благодаря тому, что все нужные карты у нас уже были. А что делать, если нужно настроить какой-нибудь простенький материал без текстур, чтоб просто был определенного цвета и блестел/не блестел так, как нам нужно? А для всего этого нужно задать определенные циферки в настройках материала! Давайте разбираться, какие цифры на что влияют.
Далее рассмотрим каждый параметр отдельно
Цвет объекта
Diffuse — влияет на цвет объекта. Можно вставить карту или просто настроить цвет. А можно вообще выключить, указав 0,0 в разделе Diffuse level (обычно ноль задают у металлов и стекла).
А что делать, если текстура, которую вы скачали, в одном цвете, а вам нужно покрасить его в другой или обесцветить? Если вы не хотите открывать ФШ или хотите сразу видеть результат, можно сделать это прям в максе и есть несколько способов. Давайте рассмотрим на примере материала ткани т.к. у них обычно сложный Diffuse и у них чаще всего меняют цвет.
Способ 1. Подключаем карту Diffuse через еще одну карту Color Corretion и крутим параметр Hue Shift для изменения оттенка и другие параметры для изменения яркости/контрастности.
Способ 2. Обесцвечиваем исходную карту Diffuse и красим её в любой цвет. Для этого оставляем Color Correction как в первом способе, но выкручиваем Saturation на -100 (если карта стала слишком темной, то можно еще увеличить Brightness) и добавляем еще две карты как на скриншоте снизу — RGB Multiply и CoronaColor. В CoronaColor задаём нужный цвет и всё!
Также важно отметить, что не бывает абсолютно белого и абсолютно черного цвета. Для черных объектов рекомендую минимальный уровень RGB = 5, а для белых максимальный RGB = 150-180.
Отражения
Reflection level — влияет на силу отражения, можно просто задать число от 0 до 1 и в дополнение к нему вставить карту или цвет — чем белее, тем больше отражает.
Если в этот слот вставить карту с цветом, то отражение будет иметь оттенок, обычно это используется для настройки материалов цветных металлов (золото, медь и т.д.).
Reflection glossiness — влияет на размытость изображения, можно вставить карту или просто настроить число от 0 до 1 — чем белее, тем более четкое будет отражение.
Reflection Frensel IOR — также влияет на силу отражения — чем больше число, тем сильнее отражение. В большинстве случаев оставляем как есть, можно увеличивать в металлических материалах и материале зеркала.
Преломление и прозрачность
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 и задать размер текстуры в единицах измерения вашего проекта.
Если после наложения модификатора текстура ориентирована не в ту сторону, в которую вам нужно (обычно такое бывает именно с материалом дерева), модификатор можно повернуть так, как вам нужно — выбираем во вкладке модификатора Gizmo и крутим.
Если вам нужно повернуть ориентацию древесных волокон на какой-то отдельной части объекта (а такое тоже часто бывает, например, при моделировании корпусной мебели) — накладываете модификатор Edit Poly, выбираете в нём нужные части объекта.
Далее, не снимая выделения, накладываем еще один модификатор — UVW Xform. В параметрах модификатора задаём “Rotation” = 90. Таким образом мы повернули текстуру на выделенных элементах объекта на 90 градусов.
В этом способе размер текстуры задаётся в параметрах модификатора UVW Map.
Способ 2. Второй способ почти идентичен первому. Единственное отличие — размер текстуры будет задаваться в самой текстуре, а не модификаторе UVW Map. У такого варианта есть свои преимущества — например, если у вас на один объект наложено несколько материалов (например на стенах в интерьере такое часто бывает) — при использовании этого способа удобнее будет настраивать размер текстур.
Просто на этапе наложения модификатора UVW Map жмем галочку “Real-World Map Size”. А размер текстуры настраиваем в параметрах самой текстуры CoronaBitmap (тоже нажав там галочку “Real-World Map Size”.
В итоге получается то-же самое, что и в первом способе, просто так удобнее управлять размером текстур в объекте с разными материалами на нескольких элементах.
Способ 3. Подключить текстуру через карту CoronaTriplanar. Помогает в тех случаях, когда нужно наложить абстрактную текстуру на объект без развертки. Работает без каких-либо модификаторов. Крутить ориентацию текстуры на отдельных элементах неудобно (нужно создавать отдельный материал).
Способ 4. Сделать развертку модели, но это уже тема для отдельного поста 🙅♂️.
💁♂️ Готовые материалы
Если вы дочитали до этой части поста (вау, эти посты кто-то читает!) и вы всё равно-не понимаете/нет времени, как настроить нужный материал, у меня для вас хорошая новость — в короне есть большая встроенная библиотека материалов с удобными превью.
Просто открываете библиотеку, выбираете нужный материал, перетаскиваете его в область редактирования или сразу на объект.
Только там есть не все нужные материалы, иногда всё-таки нужно настраивать что-то самому.
Если хотите глубже разобраться, попробуйте посмотреть какие-нибудь видеоуроки. Например этот. Еще очень помогает почитать официальную документацию, но она на английском языке.
Спасибо, очень доступно.
спасибо