3d-svit Четверг, 25.04.2024, 04:06
Приветствую Вас Гість | RSS
Меню сайта

Категории каталога
Мои статьи [886]
3d-Max [46]

Мини-чат
200

Главная » Статьи » 3d-Max

Імітація кольорового олівця
Імітація кольорового олівця

У цьому уроці ми створимо матеріал, що імітує олівцевий малюнок за допомогою стандартних засобів 3 dsmax й Mental Ray . З ряду причин ми НЕ будемо використовувати Ink ' n ' Paint -шэйдер (цей момент я проясню в ході уроку). У першій частині уроку ми створимо матеріал для моделі, у другий - для поверхні, на яку наша модель буде відкидати тінь.У підсумку вийдуть досить мудровані матеріали, тому, читайте уважно, що б нічого не упустити. Крім того, я не буду пояснювати елементарні операції (інакше й так не маленький урок стане ну зовсім непристойно більшим), думаючи, що читач володіє хоча б початковими знання 3 dsmax і його інтерфейси.

Частина перша.

Отже - поїхали.

Завантажте прикладену сцену. Вона містить модель дівчини, джерело світла й площина.

Сцена створена в 8-м 3 dsmax , так що, якщо у вас версія нижче – нічого не поробиш - З reate -> Standard Primitives -> Teapot . Радіус – 20. Освітіть його одним спотом (зміните в нього параметри – див. мал.). І створіть Plane довільного розміру.

ОБОВ'ЯЗКОВО перевірте цвіт тла – він повинен бути білим ( Rendering -> Environment -> Background Color ). Це важливо.

Відкриваємо Material Editor . Зараз всім об'єктам призначений матеріал - Default Grey. Виділіть об'єкт “ model ” і призначте йому новий матеріал. Назвіть його Cartoon .

Перш ніж приступитися безпосередньо до роботи в редакторі матеріалів, нам необхідно створити текстуру штриха. Для цього скористаємося Photoshop -ом.

Отже, в PS створимо новий файл розміром 600х600 пикселей (цвіт тла - білий). Послідовно застосуємо до шару Noise , Gaussian Blur й Motion Blur .


Небагато подкорректируем результат.

Маємо приблизно таке

По краях, штрихи випадають із загального ряду. Потрібно від них позбутися й зробити нашу текстуру безшовної. Для цього малюємо квадратне виділення (його краї показані на мал.) і робимо Crop . Після цього застосовуємо ефект Offset ( Filters -> Other -> Offset )

Тепер за допомогою інструмента Stamp позбуваємося від швів. Наприкінці процесу, для перевірки результату, повторюємо Offset . Якщо ви знову бачите шви – повторюєте клонування штампом і знову - Offset . У підсумку маємо безшовну текстуру штриха.

Збережете неї в каталозі зі сценою під ім'ям “ Pencil _ texture ” . Готова текстура лежить тут. Photoshop нам більше не знадобитися.

Повертаємося в редактор матеріалів 3 dsmax . В Material Editor - e вибираємо наш матеріал (“ Cartoon ” ). Поставимо галку поруч із 2- sided , а параметр Self Illumination накрутимо до 100.

Для Diffuse -каналу вибираємо карту Gradient Ramp , перейменовуємо її в “ b / w colors ” і набудовуємо по малюнку.

Цвіту градієнта – сірі. Тип спаду – Lighting - працює, так само як і карта Falloff у режимі Shadow / Light . Але отут ми можемо набудовувати кольори і їхня кількість набагато простіше. Отрендерим.

Ми створили м'який перехід між трьома градаціями сірого.

Тепер перетворимо наш градієнт у карту RGB - Tint (саму карту “ b / w colors ” , природно залишимо ( Keep Old Map as Sub - Map )). Перейменовуємо отримане в “Tint b/w colors”

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

Далі перетворюємо “ Tint b / w colors ” в Falloff -карту й перейменовуємо в “ Color Tones ”. Набудовуємо

Білий цвіт міняємо на той же, що й у карті RGB - Tint .

Примітка. Зараз білий цвіт впливає на загальну гаму. Це вплив можна виключити. Для цього потрібно лише опустити другу праворуч крапку кривої до межі вниз. Але тоді буде трохи складно набудовувати білий відблиск, тому що щоб він не був занадто великим, прийдеться зрушити всі середні крапки кривій вправо, майже до кінця.

Навіщо все це? Поясню. RGB - Tint “відтіняє” наш градієнт у заданий нами цвіт, але якщо нам раптом знадобиться чисто білий відблиск на поверхні – ми не зможемо його одержати. Навіть якщо в градієнта самий правий цвіт буде білим, RGB - Tint затінить його. Falloff - карта вирішує цю проблему. Якщо потрібний білий відблиск - робимо другий цвіт білим, якщо немає - будь-яким іншим (як ми й надійшли).
У цьому уроці ми створимо матеріал, що імітує олівцевий малюнок за допомогою стандартних засобів 3 dsmax й Mental Ray . З ряду причин ми НЕ будемо використовувати Ink ' n ' Paint -шэйдер (цей момент я проясню в ході уроку). У першій частині уроку ми створимо матеріал для моделі, у другий - для поверхні, на яку наша модель буде відкидати тінь.

Все, карта цвіту готова. Додамо штрихи.

Перетворимо нашу Falloff -карту в Mix . Перейменуємо в “ Base Shd ”. Mix Amount установимо поки в 100. Для другого цвіту вибираємо Bitmap і там – наш файл зі штрихуванням (“ pencil _ texture ” ). Перейменовуємо – “ strokes /” . Набудовуємо

Перетворимо “ strokes /” в Composite . Копіюємо битмап з першого слота на другий (варіант - Copy ). Перейменовуємо в

“ strokes \”. Змінюємо кут W і ще деякі настроювання

Вийшло перехресне штрихування.

Тепер створимо для “ strokes \” маску, що б зворотне штрихування проступало не скрізь, а вибірково. Перетворюємо її в Mask . Як маска вибираємо Gradient Ramp . Перейменовуємо в “\ mask ” і набудовуємо

Штрихування готове. Тепер потрібно неї сполучити з нашою картою цвіту. Вибираємося наверх, на рівень Mix -карти “ Base Shd ” і клацаємо на порожній слот поруч із Mix Amount . Вибираємо Gradient Ramp . Перейменовуємо – “ Main Mask ”. Набудовуємо так

Такі настроювання створюють “витягнутий” шум в області тіні (там буде проявлятися наше штрихування). Крім того, кут цього шуму збігається з кутом падіння основних штрихів. Два правих цвіти градієнта - чорний. Дві лівих (виділених червоним) - наші текстури штрихування.

Клацаєте ПКМ на маркері крайнього лівого цвіту, вибираєте Edit Properties і там – Texture – Bitmap … і наш файл із текстурою. Перейменуємо битмап в “ lines output ” і настроїмо

Завдяки цій карті, маска придбає ще більшу хаотичність.

Скопіюйте її в будь-який вільний слот і потім скопіюйте її в якості Instance на ДРУГИЙ праворуч маркер градієнта.

Рендерим


Тепер додамо внутрішніх контурів.

Перетворимо Mix -карту (“ Base Shd ” ) в Composite і перейменуємо результат в “ colors & strokes ”. Для другої карти виберемо Gradient Map , що перейменуємо в “ inner outline ” і настроїмо

Обов'язково потрібно встановити галку “ Alpha from RGB Intensity ” інакше результат накладення двох карт буде некоректним.

Ця карта створює два контури. Регулюючи положення шести внутрішніх маркерів, ми можемо “рухати” ці контури по моделі.

Цвіт ми поміняємо трохи пізніше, а зараз зробимо контури більше реалістичними, додавши маску.

Перетворіть “ inner outline ” в Mask -карту й скопіюйте її в слот Mask . Перейменуйте в “ inner mask ” і настройте

Дія маски добре видно на малюнку. Внутрішній контур тепер не однорідний.

Тепер потрібно зробити контур темним. Для цього перетворимо отриманий результат у карту RGB - Multiply і поміняємо всього одне настроювання – другий цвіт. З білого на чорний.

Ми проробили більше половини роботи. Сподіваюся, ви ще не утомилися? J

Продовжимо.

Отримана Composite -карта, це наш основний матеріал. Додамо ще один штрих – легкі контури на краях моделі. Для цього перетворимо нашу “ colors & strokes ” у ще одну Mix -карту. Установимо Mix Amount в 100. Для другої карти вибираємо Gradient Ramp і перейменовуємо в “outline (contour)”. Набудовуємо

Отут все просто. Тип спаду – Normal , створює чорний цвіт на краях (тобто той же Falloff у режимі Fresnel або Perpendicular / Parallel ). Тепер нам потрібно змішати основний цвіт із цим. Для цього піднімаємося на рівень вище (наша Mix -карта) і копіюємо “outline (contour)” на слот маски. Вибираємо спосіб Instance . Тепер дуже легко контролювати й положення, і прозорість контуру (оскільки й самому контурі й маска - одна карта). Але якщо зараз прорахувати картинку результат буде некоректним

Нам необхідно інвертувати маску, але якщо зробити це безпосередньо в градієнті-карті маски, те відповідно, інвертується й сам контур (карт-те, одна). Тому застосуємо маленьку хитрість. Перетворюємо маску в

Output -карту й набудовуємо

Хитрість у тім, що в такий спосіб ми фактично змінюємо зовнішній вигляд нашої Instance -копії, не міняючи її параметрів, і, отже, не торкаючи інших її копій.

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

Так, Output Amount збільшена до 2-х, щоб контури не були занадто темними.

Що ж, поздоровляю! Основний цвіт створений.

Але це далеко не всі J . Наберіться терпіння - поперед ще багато цікавого.

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

Переді мною стояв вибір – Ink ’ n ’ Paint або Mental Ray . Після ряду експериментів я зупинився на першому. АЛЕ. Незабаром я натрапив на пару підводних каменів. Перший – розмір контуру. При видаленні камери від моделі, Ink ’ n ’ Paint outline не міняє розміру => для великих планів необхідно набудовувати одну ширину контуру, для загальних – іншу.

Контури чайника мають однакові параметри й ліворуч і праворуч. Але правий відрендерений з далекої крапки – і от результат. Може бути, і їсти спосіб змусити контури поводитися адекватно – я не став розбиратися, тому що натрапив на другий підводний камінь, пов'язаний з тінню на поверхні Plane -а, про що ми поговоримо нижче.

В цьому уроці ми створимо матеріал, що імітує олівцевий малюнок за допомогою стандартних засобів 3 dsmax й Mental Ray . З ряду причин ми НЕ будемо використовувати Ink ' n ' Paint -шэйдер (цей момент я проясню в ході уроку). У першій частині уроку ми створимо матеріал для моделі, у другий - для поверхні, на яку наша модель буде відкидати тінь.

Загалом, вибір був зроблений – Mental Ray Contour . Займемося.

Установлюємо в якості основного рендера – MR . Включаємо контури (Renderer -> Camera Effects -> Contours). Переносимо відтіля в редактор матеріалів карту Contour Contrast Function Levels ( варіант - Instance). Міняємо одне настроювання

Грубо говорячи, вона відповідає за “у контурів” на об'єкті. Проілюструю

Ліворуч, Angle Step Threshold - 20, праворуч – 10. Я хотів домогтися більшого кол-ва контурів, тому зменшив цей параметр. А взагалі, багато чого залежить від конкретної геометрії. Тому у випадку іншої моделі, цей параметр, можливо, прийдеться встановити іншим.

Але, до справи. Створимо контур. Виділимо свій матеріал, спустимося в сувій mental ray Connection і клацніть на слот Contour . Виберіть Depth Fade , перейменуйте в “ mr _ contour ” і настройте приблизно так

Цвіту зробіть однаковими й установите значення value ~0,2-0,3 . Перевіряємо

Поблизу контур має ширину 0,13. При видаленні камери від об'єкта, контур прагне до величини 0,01. Ступінь зменшення ширини залежить від параметра Far Z . При досягненні камерою граничного значення (500), контур просто перестає рисуватися (можете перевірити - виддаліть камерудуже далеко й прорахуйте картинку).

Примітка. Можете зменшити цей параметр, якщо вас не влаштовує промальовування контуру видали. Так само можете обнулить параметр Far Width . Відверто говорячи, на далеких планах контур дивиться не дуже красиво.

Усе. Наш матеріал готовий. Для гарної якості контуру встановлюйте параметри Min й Max (вкладка Sampling Quality у настроюваннях рендера) в 4 й 16, відповідно. У якості “домашнього” завдання пропоную вам самостійно розфарбувати інші частини моделі (майка, пояс, шорти й т.д.).

Мої варіанти на швидку руку

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

Частина друга.

А саме - створення штрихованої тіні на площині, що (тінь) буде відкидати наша модель. Відразу вибачаюся - докладно розписувати не буду - всі дії будуть аналогічні попередньої.

Спочатку, це завдання здалося мені взагалі нерозв'язної. Але рішення було знайдено й, слава богові.

Отже, якщо ваш Plane схований – поверніть його в сцену. У джерела світла в параметрах тіні встановлюємо bias – 0.01 (якщо він ще не встановлений).

У вільному слоті редактори матеріалів створіть Blend -матеріал. Перший слот назвіть – “ shadow ” , другий – “ color ” . Відразу настроїмо матеріал “ color ” і забудемо про нього.

Установіть його цвіт у чистий білий, самосвітність - 100. Це все.

Перший матеріал (“ shadow ” ) зробіть поки що сірим і так само встановіть самосвітність – 100.

Тепер фінт вухами. Клацаємо по слоту Mask і вибираємо…MaterialtoShader (доступний, тільки коли в якості рендера коштує MR ). Клацаємо по слот NONE і вибираємо…Matte/Shadow...

Примітка. Ми тільки що створили вкрай цікавий матеріал. Як ви розумієте, стандартно в 3 dsmax таке неможливо, тому що як маска для Blend -матеріалу може виступати тільки карта, але не матеріал. А серед карт немає нічого підходящого. Експерименти з картами Falloff й Gradient Map давали схожий результат (один раз навіть удалося створити таку “пекельну” суміш, що робила теж, що й Matte / Shadow – тобто робила альфа-канал в області тіні). Але результат сильно залежав від положення камери й ИС, давав артефакти, і в підсумку ця схема була відкинута.

Теперь ми можемо робити з нашою тінню всі що завгодно. Наприклад, зафарбувати штрихуванням.

Заходимо в матеріал “ shadow ” , міняємо його цвіт на чистий білий. Клацаємо по Diffuse , вибираємо наш файл зі штрихуванням. Міняємо тип проектування на Screen , Tiling – 4 x 4. Набудовуємо Mix Curve

Перетворимо битмап у карту Mask . Маскою виступить Gradient Ramp . Набудовуємо: проектування – Screen , Tiling – 6 x 0.2, Angle W -30 (мінус).

У сувої Output тиснемо – Invert .

Піднімаємося на один рівень нагору. Перейменовуємо все це (карту Mask ) в “ STR /” і перетворюємо в Composite -карту.

Копіюємо “ STR /” у другий слот ( COPY ). Перейменовуємо в “ STR \” . Змінюємо настроювання битмапа

Піднімаємося на один рівень нагору. Змінюємо настроювання маски: Tiling – 1 x 1, Angle W – 0. Інше на малюнку

У сувої Output тиснемо – Invert .

Перетворюємо цей градієнт у карту Mask . Копіюємо його ж на слот маски. Змінюємо параметри маски : Tiling – 6x0.2 , Angle W – 30 ( плюс ) .

Invert залишаємо Вкл.

Тестовий прорахунок

Полдела зроблено.

Піднімаємося на самий верх. Перейменовуємо нашу Composite -карту в “ strokes / & \” і перетворимо її в...… Composite -карту J . Її назвемо “ strokes ” . Клацаємо по другому слоту, вибираємо Gradient Ramp , перейменовуємо в “ contour ” , набудовуємо

Перетворимо цю карту в Mask , перейменовуємо її в “shadow contour”. Копіюємо “ contour ” з першого слота в слот маски. Перейменовуємо в “ mask ( clamp )”. Змінюємо тільки те, що на малюнку

У сувої Output знімаємо прапорець Alpha from RGB Intensity .

Зараз контур нашої тіні білий. Потрібно зробити його чорним. Але в цьому випадку варіант із картою Output , описаний вище не підійде, тому я надійшов по іншому. Перетворимо “shadow contour” у карту RGB - Multiply і змінимо другий цвіт на чорний.

Прорахунок

Як бачите, на нашій тіні з'явився контур.

Тепер чисто опциональна процедура для спрощення наступного контролю цвіту. Зараз тінь чорно-біла. Якщо ж ми захочемо неї підфарбувати в майбутньому, не завадить зробити наступне. Перетворимо нашу Composite -карту (“ strokes ” ) в RGB - Tint . R : білий, G й B – чорний.

І фінальний штрих – все це добро перетворимо в карту Output , щоб мати можливість на випадок чого швидко, з одного місця, регулювати яскравість, контраст і т.п.

Примітка. Так, помнете, на початку я акцентував увагу на тім, що цвіт тла повинен бути білим? Спробуйте тепер змінити його на будь-який інший і прорахувати нашу тінь - вас буде чекати сюрприз.

Усе. З тінню закінчили. От мій результат (я додав небагато об'єктів)

Звіримо карти.

У ході уроку ми створили два матеріали. На малюнках наведені їхні структури.

(деякі назви можуть не збігатися; головне, щоб збігалися структури)

На цьому урок завершується. Описані в ньому настроювання по більшій частині індивідуальні. І від моделі до моделі вони можуть незначно розрізнятися. Найкраще такий матеріал дивиться на згладжених, скривлених поверхнях (з яких, по більшій частині й складається наш повсякденний світ). Тому експериментуйте. Готова сцена лежить тут . Окремо бібліотека із двома нашими матеріалами - тут.

Надіюся, урок був цікавий і корисний. Всіх благ.

Автор: Василь Боднарь ( Ven ). e-mail: fx_box@mail.ru

Переклад: Сергій Березін

Категория: 3d-Max | Добавил: 3d-svit (21.03.2007)
Просмотров: 894 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright MyCorp © 2024