Створення килима засобами vrayscatter - уроки загальні принципи

Уроки: Загальні принципи →

Добрий день, мене як і раніше звуть Дмитро Ярков, і сьогодні я хотів би поділитися придуманим мною способом створення килимів в інтер'єрах за допомогою плагіна VRayScatter. Також для цієї мети можна використовувати новішу версію плагіна під назвою MultiScatter.

З опису плагіна на офіційному сайті www.rendering.ru можна дізнатися, що застосовується він для розмноження великих масивів об'єктів з будь-якої поверхні. При цьому розробники постаралися зробити величезну кількість параметричних функцій, застосовуючи які, можна домогтися разюче відрізняються результатів. Плагін заявлений в першу чергу як допоміжний засіб для архітектурної візуалізації, проте люди на зразок мене запитують, чи не можна застосувати його потужності десь ще, в даному випадку - в інтер'єрі. Отже, спробуємо зробити килим засобами VRayScatter.

Будь-визуализатор або моделлер, хто мав справу з інтер'єрами, раз стикався зі створенням ворсистих килимів. Найчастіше результат однотипний, за замовчуванням влаштовує всіх визуализаторов, незважаючи на те, що килими виходять схожі на один і той же волохатий килим, без зайвої винахідливості. Іноді килим виходить схожим на траву, а іноді - на траву, скошену ураганом. Мета даного уроку полягає в тому, щоб допомогти візуалізатором і моделлера скласти нові уявлення про те, якими можуть бути килими, якщо підійти до цієї справи серйозно, і надати їм інструменти для цього.

В каталозі дуже багато килимів, ми зупинимося на цьому:

Створення килима засобами vrayscatter - уроки загальні принципи

Цей килим мені дуже подобається за своїм виглядом, і як бачите, він зовсім не схожий на траву. Я ще жодного разу не бачив подібного килима в інтер'єрах, тому що його дуже складно зробити. Не будемо прагнути до 100% збігу, але візьмемо його за основу.

Поруч з основною фотографією в збільшенні показані кольору і текстури:

Створення килима засобами vrayscatter - уроки загальні принципи

Особливо пильну увагу я приділив нижньому лівому фрагменту. Якщо придивитися, можна помітити, що ворсинки на ньому злипаються між собою і таким чином загострюються догори, залишаючись хаотичними внизу. Виходить такий собі витягнутий трикутник, трохи зігнутий (прим'ятий). Звідси я зробив висновок, що при створенні килима краще розмножувати непоодинокі ворсинки, а цілі пучки таких злиплих ворсинок. Ці пучки можуть бути самими різними для різних килимів.

З кількох площин зробимо пучок ворсинок. Ось як він виглядає у мене:

Створення килима засобами vrayscatter - уроки загальні принципи

У ньому 50 трикутників. Пучок 5 см у висоту. Грубо кажучи, це десяток ворсинок, вигнутих по двом-трьом напрямам і мають загальний вигин в одну сторону. Все це робилося у вигляді зверху, і лише потім за допомогою Bend згорнулася у якусь трубочку для більшого обсягу. Переводимо цей пучок в проксі-об'єкт.

Тепер створюємо основу для килима. Це простий плейн, проте він трохи пом'ятий за допомогою модифікатора Noise, при цьому модифікатор не впливає на краю (це робиться за допомогою Poly Select з м'яким виділенням). Краї притиснуті до підлоги, щоб килим не виглядав ширяє в повітрі, а центр трохи піднятий, щоб поглиблення не опускалися нижче статі:

Розмір цієї площини 2 метри на 1 метр. Малувато для великого приміщення, але в самий раз для тесту і уроку.

Вказуємо в якості проксі наш пучок, а в якості об'єкта для розмноження площину. Внизу в налаштуваннях Скаттер відразу ставимо галочку Auto update:

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

Створення килима засобами vrayscatter - уроки загальні принципи

Йдемо з налагодження зверху вниз. У базових налаштуваннях поставимо галку Move pivot to center і виберемо вісь, по якій встануть проксі. У мене вийшла Y:

Створення килима засобами vrayscatter - уроки загальні принципи

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

Далі йдемо в настройки розподілу проксі по поверхні. Дослідним шляхом для свого розміру килима і ворсинок я поставив кількість пучків рівним 400.000:

Створення килима засобами vrayscatter - уроки загальні принципи

Use random Position означає, що пучки будуть розмножені хаотично, не підкоряючись якомусь порядку. Інші налаштування в цьому сувої для нашого килима не важливі.

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

Знову звертаємося до референсу. Звертаємо увагу, що по периметру килима ворсинки загинаються в напрямку периметра. До величезної честі розробників, така функція в Скаттер передбачена, і знаходиться вона в свиті Border Behavior. Можна загинати ворсинки до країв самого об'єкта, а можна і до країв сплайна, який попередньо потрібно вказати. Тут хотілося б відзначити, що у мене загинання по об'єкту (Use Surface Border) працювало некоректно, і я вирішив обійтися сплайном. Я створив прямокутний сплайн чітко по периметру площині і в свиті Border Spline вказав його в якості сплайна. Дистанція до краю, починаючи з якої починається деформація ворсинок, становить у мене 10 сантиметрів, а режим деформації тільки Rotate:

Створення килима засобами vrayscatter - уроки загальні принципи

Настільки хороших параметричних функцій дуже не вистачає в інших системах створення килимів, таких як VRayFur і HairFur. Рендерить килим не обов'язково, зміни можна побачити прямо під вьюпорте, завдяки налаштуванням превью:

Створення килима засобами vrayscatter - уроки загальні принципи

Тепер трохи пограємо з розміром ворсинок. В процесі експериментів, в настройках масштабу я до 60% зменшив пучки по осях X і Y і до 50% по осі Z:

Створення килима засобами vrayscatter - уроки загальні принципи

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

Створення килима засобами vrayscatter - уроки загальні принципи

В першу чергу ставимо випадкове обертання по осі Z на 360 градусів, а також на 30 градусів по осях X і Y для нахилу ворсинок. Однак це мало наближає нас до прекрасного килиму, який ми бачимо на фотографії, і тепер ми використовуємо дуже потужні налаштування повороту ворсинок в залежності від кольорової карти. Для цього ставимо все три галки X / R, Y / G і Z / B. На перший погляд все просто: Red управляє віссю X, Green управляє віссю Y, а Blue обертає ворсинки по Z. Однак змішання цих кольорів дають самі непередбачувані результати, тому на експерименти у мене пішло дуже багато днів.

Призначимо на нашу площину матеріал, з яким в будь-який слот покладемо карту Noise і відобразимо її у вьюпорте. Noise це тривимірна процедурна карта, і в своєму тривимірному режимі під вьюпорте вона буде виглядати зовсім не так, як при рендер (сильно змінюється масштаб), що зовсім не підходить для настройки. Міняємо режим карти на Explicit Map Channel і задаємо площині планарний UVW Mapping. Тепер карта Noise в двовимірному режимі і її вигляд у вьюпорте буде точно відповідати Рендер. Перетягуємо карту в режимі Instance.в слот Скаттер Mask в налаштуваннях обертання.

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

Створення килима засобами vrayscatter - уроки загальні принципи

Такий же структури можна домогтися, якщо перевести Noise в режим Turbulence і поставити наступні настройки:

Створення килима засобами vrayscatter - уроки загальні принципи

Кольори зелений і помаранчевий обрані далеко не випадково. На фінальний результат впливає все: відтінок, яскравість, насиченість. Багато дні тестів залишили саме цей варіант.

Якщо ви це ще не зробили, то тепер в настройках Скаттер можна збільшити кількість відображуваних у вьюпорте об'єктів до 10.000 (а то і більше), і ми зможемо розглянути поведінку об'єктів на площині:

Створення килима засобами vrayscatter - уроки загальні принципи

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

Області "хребтів" нас влаштовують, а ось прим'яті ділянки необхідно додатково урізноманітнити, але щоб вони при цьому залишалися прим'ятими. Для цього в помаранчевий слот нашої карти Noise, що відповідає за прим'яті області, кладемо ще одну карту Noise, вже з іншими настройками:

Створення килима засобами vrayscatter - уроки загальні принципи

Як бачите, колір обертання може бути не тільки кольоровим, а й чорним. Режим Noise вже Fractal, так як нам більше не потрібно структура гірських хребтів. Ось як виглядає фінальна карта на площині:


Створення килима засобами vrayscatter - уроки загальні принципи

Чітко видно зелені хребти, а між ними оранжево-чорні рівнини. А ось об'єкти на ній:

Створення килима засобами vrayscatter - уроки загальні принципи

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

Тепер нас влаштовує розподіл ворсинок по площині. Здається, ми подбали про все, і можна з завмиранням серця отрендеріть наш килим. Для гламурних і вкрай точних візуалізацій, коли потрібно показати кожну ворсинки у всій красі, доведеться використовувати метод Brute Force на первинному і вторинному відскоку GI. По крайней мере, таким чином мені вдалося показати реальний обсяг і підкреслити структуру килима:

Створення килима засобами vrayscatter - уроки загальні принципи

З виходом MultiScatter процес розрахунку таких масивів прискорився, а також я отримав інформацію від деяких товаришів, які повідомляють, що килим за цим методом рендерится в інтер'єрі досить успішно.

Приємних килимів вам :)

Створення килима засобами vrayscatter - уроки загальні принципи

Цитую qub:
Господа, підкажіть будь ласка як можна прискорити прорахунок Light cache.
Зробив килимок з уроку, причому Max count поставив 200 000 замість 400 000. Все дуже красиво, але Light cache Рендер 12 годин.
Проц i7 920 6Гб ОЗУ. Заздалегідь дякую

Переганяти весь килим в VRproxy і все, саме цей килим в 300000 укладається в 584мб, рендерится в інтер'єрі на ура. Озу на килим при цьому йде приблизно 3.8гб і лайткеш считаеться швидко, без проксі у мене схвалює більше 10 після цього я зупинив, на той момент розрахункове кількість часу на прорахунок лайткеша пішов в

Створення килима засобами vrayscatter - уроки загальні принципи

Господа, підкажіть будь ласка як можна прискорити прорахунок Light cache.
Зробив килимок з уроку, причому Max count поставив 200 000 замість 400 000. Все дуже красиво, але Light cache Рендер 12 годин.
Проц i7 920 6Гб ОЗУ. Заздалегідь дякую

Створення килима засобами vrayscatter - уроки загальні принципи

Чудовий урок-мейкін оф --- називайте як хочете

відмінний урок! Дякуємо

Створення килима засобами vrayscatter - уроки загальні принципи

Діма, мені от цікаво, що за комп'ютери у тих товаришів, які пишуть, що в інтер'єрі цей килимок буде успішно рендери? Напевно моїх 8 гб оперативки явно замало і лайт кеш з не найвищими налаштуваннями вважався 11 годин (((Хоча килимок офігенно красивий. Пішла робити фуром (

Адміністратор Арх. галереї

Цитую paz:
Хороший урок. +5 Питання - Чи можна реалізувати анімацію трави даним методом?

Можна, можливо. Саму геометрію гнути не можна, але досить реалістичне рух трави легко реалізується за допомогою анімації карт повороту.

Створення килима засобами vrayscatter - уроки загальні принципи

Викладач курсів RENDER.RU

Хороший урок. +5 Питання - Чи можна реалізувати анімацію трави даним методом?

Адміністратор Арх. галереї

Адміністратор Арх. галереї

Цитую clipper:
Я не зрозумів про що урок?

Я думаю, вам слід вдумливо перечитувати його раз по раз, і тоді ви все зрозумієте. Хай щастить)

Створення килима засобами vrayscatter - уроки загальні принципи

Створення килима засобами vrayscatter - уроки загальні принципи

Дякуємо! відмінний урок!

Адміністратор Арх. галереї

Забув написати в уроці. Істотна деталь, про яку багато хто забуває: підкладка під килимом повинна бути невидимою по краях. Тобто, ближче до центру килима її можна залишити на всякий випадок, щоб стать не просвічував, але якщо ми бачимо жорстку кордон, вибивали з під ворсинок по краях - це виглядає неохайно і некрасиво. Рішення просте: карта Gradient Ramp в режимі Box в слот Opacity, що робить підкладку прозорою по краях.

Адміністратор Арх. галереї

Цитую ELAGO:
Може хто небудь підкаже де в мультіскаттере кнопка "Move pivet to center" (розміщення нижніх точок на поверхні).

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

Створення килима засобами vrayscatter - уроки загальні принципи

Може хто небудь підкаже де в мультіскаттере кнопка "Move pivet to center" (розміщення нижніх точок на поверхні).

Схожі статті