Як створити реалістичні процедурні тріщини 3ds max, v-ray

Як створити реалістичні процедурні тріщини 3ds max, v-ray

В результаті цього уроку у вас повинні вийти процедурні (тобто створені без використання текстур) тріщини, як на головній картинці (вона клікабелье).

Оскільки це процедурні тріщини, то вони зовсім не залежать від UV-координат. а значить їх можна додавати на 3D об'єкт, який не має нормальної UV розгортки.

Але є і зворотна сторона медалі - такі тріщини залежать від розмірів об'єкта. Тому, щоб у вас вийшли в точності такі тріщини як у мене, ви повинні використовувати ті ж самі системні одиниці, що і у мене, а також створити сфери такого ж радіуса.

Тому заходимо в Customize -> Units Setup -> Тиснемо велику кнопку вгорі System Unit Setup -> Виставляємо, щоб 1 unit дорівнював 1 сантиметру. Все, більше нічого не чіпаємо тут.

Далі створюєте GeoSphere радіусом 42 см.

Приступаємо до створення самої тріщини.

Логіка тут проста:

  1. Беремо стандартну процедурну карту Noise (або набагато просунуту Bercon Noise, про яку я писав тут).
  2. Проробляємо з нею маніпуляції, щоб залишилися тільки краю, а не чорно-білі плями.
  3. Використовуємо цю карту для видавлювання тріщин за допомогою дісплейсмента.
  4. Використовуємо злегка модифіковану версію карти з п.2, щоб зробити матеріал всередині тріщин відрізняється від основного матеріалу.

1. Логіка створення карти тріщини.

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Тепер власне пояснюю логіку. Читаємо мережу нод зліва направо.

За основу я взяв карту BerconNoise (обізвав її JustNoise). Потім цю карту змішав саму себе руки за допомогою Ноди Composite (обізвав її Difference. Оскільки режим змішування потрібен Difference). Тільки на один вхід Ноди Composite я подав оригінал, а в інший слот - інвертовану версію (інвертованого за допомогою стандартної Ноди Color Correction. Яку назвав Invert). І в кінці, за допомогою Ноди ColorCorrect (це окремий безкоштовний плагін, який можна завантажити звідси) я обрізав величини кольору так, щоб тільки тріщина залишилася чорної, а все навколо неї стало білим.

2. Тепер про те, що робить кожна нода (карта).

2.1. BerconNoise.

Найперша карта BerconNoise під назвою JustNoise створює шум, на основі якого ми і робитиме тріщину. Від налаштувань цієї карти залежить розмір тріщини, їх щільність і деталізованість. Мої налаштування такі:

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Тут найголовніше - це розмір Size = 60. Розмір впливає на розмір тріщин.

Також важлива настройка Fractal з деталізацією (Levels) = 15 (але думаю тут і 7 повинно було вистачити). Levels впливає на те наскільки деталізованої буде тріщина.

2.2. Color Correction

Далі карта Color Correction. Тут потрібно поставити лише одну галочку - Invert:

Як створити реалістичні процедурні тріщини 3ds max, v-ray

2.3. Composite.

Наступна карта Composite:

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Тут головне створити два шари і верхній шар встановити в режим змішування Difference. У підсумку ми отримаємо чорні краю / лінії і сірі плями між ними.

2.4. ColorCorrect.

Остання карта - ColorCorrect. яку я назвав ClampNormalize:

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Тут важливо поставити галочку Clamp для "обрізання" кольору в межах від 0 до 0.05. Таким чином ми вказуємо 3ds Max'у, що нам потрібно перетворити весь світлий колір в темно сірий (0 - це чорний, а 0.05 - це дуже близько з чорного). А зазначивши галочку Normalize. ми змушуємо НОВИЙ урізати діапазон кольорів (від чорного до темно сірого) розтягнути знову на ВЕСЬ
діапазон відтінків (від чорного до білого).

Таким чином, змінюючи в майбутньому верхня межа параметра Clamp, ми зможемо контролювати ширину тріщин. Чим більше цей параметр, тим більше ширина.

Саме в моєму прикладі, значення 0.05 означає вузькі тріщини (як на головній картинці). А якщо поставити там 0.1, то я отримаю широкі тріщини (картинка нижче кликабельна):

Як створити реалістичні процедурні тріщини 3ds max, v-ray

3. Тепер розберемося з налаштуванням дісплейсмента.

Ось цю текстуру, що ми отримали в кінці ланцюга нод можна запихати в слот Texmap модифікатор VRayDisplacementMod. який ми накинемо на нашу геосфер. Його налаштування будуть наступними:

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Тип дісплейсмента Type - 3D mapping. Величина дісплейсмента Amount - 1 см. Поправка Shift -1см (мінус один см). Галочка, що це статична геометрія Static - включена. Вона прискорить рендер дісплейсмента, але якщо геометрія буде якось зміняться під часу (не буде статичною), то з'являться артефакти.

4. Настроїмо матеріал.

Матеріал може бути яким завгодно. Я вибрав, що верхній - це буде блискучий товстий шар нібито білої фарби, а самі тріщини шорсткі і темні.

Детально на настройках V-Ray матеріалів я зупинятися не буду, адже я про це написав чудову серію статей.

Ось мої налаштування блискучого білого матеріалу:

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Єдиний новий параметр - це новий тип BRDF: Microfacet GTR (GGX). Я намагаюся його використовувати всюди, де тільки можна, адже він додає реалістичності матеріалу.

В результаті, якщо ми отрендеріть наші отримані тріщини з таким матеріалом, то отримаємо наступний результат (клікабельно):

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Тепер потрібно налаштувати матеріал для тріщин:

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Ну і найголовніше, потрібно тепер змішати ці два матеріали так, щоб шорсткий був тільки всередині тріщин, а блискучий всюди навколо.

Для цієї мети використовуємо матеріал VRayBlendMtl з наступними настройками:

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Тут також все просто. Базовий матеріал - це мій шорсткий матеріал. Матеріал покриття (Coat material) - це мій блискучий матеріал.

А ось моя карта NarrowClampNormalize в слоті Blend amount. по якій ці два матеріали будуть змішуватися трошки хитра.

За основу я взяв карту ClampNormalize з пункту 2.4, але в ній я так підправив верхній і нижній ліміти параметра Clamp. щоб вони були майже однаковими:

При цьому я зробив верхній ліміт НОВОЇ карти злегка нижче верхнього ліміту СТАРОЇ карти (яку я використовував для дісплейсмента). Для дісплейсмента я використовував значення 0.05, а для змішування матеріалів (як видно з скріншоту вище) - 0.045. Ця маленька різниця дозволила зафарбувати не всю тріщину темним шорстким матеріалом, а залишити на самому верху тріщини вузьку смужку з білого блискучого матеріалу. Таким чином, я зімітував товщину фарби.

Ну а піднявши нижній ліміт майже до верхнього (було значення 0.0, а стало 0.04) я зафарбував ВРЮ тріщину шорстким матеріалом на 100%. Якби я залишив там 0.0, то тріщина була б на 100% зафарбована в шорсткий матеріал ТІЛЬКИ в найглибших її місцях. А там де тріщина не глибока, там було б змішання двох матеріалів (блискучого білого і шорсткого темного) в якійсь пропорції. Це б давало зовсім нереалістичний результат.

5. Нюанси.

Якщо подивитися на рендер з пункту 4, то видно, що верхній блискучий матеріал виглядає абсолютно стерильно гладким і тому нереалістичним.

Щоб це хоч якось швиденько виправити, я додав карту Normal Bump в слот Bump блискучого білого матеріалу. У слот Normal я поклав текстуру мікроподряпин, а в додатковий слот Additional Bump я поклав карту Noise з дрібним шумом в режимі Turbulence (ланцюг нодов дивіться на скріншоті нижче). Більш докладно про те, як зробити текстуру мікроподряпин і як правильно налаштувати карту Normal Bump я розповідав тут.

Як створити реалістичні процедурні тріщини 3ds max, v-ray

Відповідей: 8 до статті "Як створити реалістичні процедурні тріщини 3ds Max, V-Ray"

Перепрошую, що відразу не відповів. У нас тимчасова різниця велика, і я вже спав, живу на Сахаліні. Справа в тому, що я завантажую плагін як годиться в папку plagins \ plagins. а Max його не бачить. У свиті Maps його немає взагалі, може його якось по іншому запускати? Або я його встановив неправильно? Я з новачків, тому міг щось упустити. Може підкажіть?

Якщо Макс не бачить плагін, то потрібно додати шлях до плагіну всередині 3ds Max: Customize -> Configure System Path -> закладка 3rd Party Plug-Ins -> тиснете кнопку Add ... і додаєте шлях. Все плагін має запрацювати.