Render.ru
Поддержать
Сохранить
Дима Ярков
ПОДПИСАТЬСЯ
  • ПРЕДЛОЖИТЬ ПРОЕКТ
  • ДОБАВИТЬ В КОНТАКТЫ
7Записей
19Следят
0Читает
982 KЗаходов

Создание ковра средствами VRayScatter

Урок

Добрый день, меня по-прежнему зовут Дмитрий Ярков, и сегодня я хотел бы поделиться придуманным мной способом создания ковров в интерьерах с помощью плагина VRayScatter. Также для этой цели можно использовать более новую версию плагина под названием MultiScatter.

Из описания плагина на официальном сайте www.rendering.ru можно узнать, что применяется он для размножения больших массивов объектов по какой-либо поверхности. При этом разработчики постарались сделать огромное количество параметрических функций, применяя которые, можно добиться разительно отличающихся результатов. Плагин заявлен в первую очередь как вспомогательное средство для архитектурной визуализации, однако люди вроде меня задаются вопросом, нельзя ли применить его мощности где-то еще, в данном случае - в интерьере. Итак, попробуем сделать ковер средствами VRayScatter.

Любой визуализатор или моделлер, имевший дело с интерьерами, однажды сталкивался с созданием ворсистых ковров. Чаще всего результат однотипный, по умолчанию устраивающий всех визуализаторов, несмотря на то, что ковры получаются похожи на один и тот же волосатый ковер, без излишней изобретательности. Иногда ковер получается похожим на траву, а иногда - на траву, скошенную ураганом. Цель данного урока заключается в том, чтобы помочь визуализаторам и моделлерам составить новые представления о том, какими могут быть ковры, если подойти к этому делу серьезно, и предоставить им инструменты для этого.

Итак, мы собрались сделать ковер. Чтобы иметь представление о предмете, нужно собрать референсы, фотографии ковров. В гугле нашлось не так много фотографий, поэтому я позвонил в фирму, специализирующуюся на коврах, и попросил у них каталог. Мне повезло - они прислали каталог в PDF с хорошими картинками. Каталогу уже год, тем не менее, его можно и нужно использовать, а скачать его можно здесь http://narod.ru/disk/24660813000/Bayliss.rar.html

В каталоге очень много ковров, мы остановимся на этом:


Этот ковер мне очень нравится по своему виду, и как видите, он вовсе не похож на траву. Я еще ни разу не видел подобного ковра в интерьерах, потому что его очень сложно сделать. Не будем стремиться к 100% совпадению, но возьмем его за основу.

Рядом с основной фотографией в увеличении показаны цвета и текстуры:

Особо пристальное внимание я уделил нижнему левому фрагменту. Если приглядеться, можно заметить, что ворсинки на нем слипаются между собой и таким образом заостряются кверху, оставаясь хаотичными внизу. Получается некий вытянутый треугольник, чуть согнутый (примятый). Отсюда я сделал вывод, что при создании ковра лучше размножать не единичные ворсинки, а целые пучки таких слипшихся ворсинок. Эти пучки могут быть самыми разными для разных ковров.

Из нескольких плоскостей сделаем пучок ворсинок. Вот как он выглядит у меня:

В нем 50 треугольников. Пучок 5 см в высоту. Грубо говоря, это десяток ворсинок, изогнутых по двум-трем направлениям и имеющих общий изгиб в одну сторону. Все это делалось в виде сверху, и лишь затем с помощью Bend сворачивалось в некую трубочку для большего объема. Переводим этот пучок в прокси-объект.

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

Размер этой плоскости 2 метра на 1 метр. Маловато для большого помещения, но в самый раз для теста и урока.

Теперь создаем объект VRayScatter. Подробную инструкцию по использованию плагина всегда можно найти на http://rendering.ru/index.php/plugins-manual/vrayscatter/

Указываем в качестве прокси наш пучок, а в качестве объекта для размножения плоскость. Внизу в настройках скаттера сразу ставим галочку Auto update:

Это требуется для того, чтобы в дальнейшем видеть все операции с скаттером в реальном времени. Теперь мы видим перед собой плоскость с некоторым количеством боксов на ней:

Боксами отображаются наши прокси, максимальное количество отображаемых объектов можно регулировать в том же свитке Preview, сейчас это 1000, но рекомендую сразу переключить на 10000, если только ваша видеокарта позволяет это. Это нам пригодится при настройке скаттера.

Идем по настройкам сверху вниз. В базовых настройках поставим галку Move pivot to center и выберем ось, по которой встанут прокси. У меня получилась Y:

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

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

Use random Position означает, что пучки будут размножены хаотично, не подчиняясь какому-либо порядку. Остальные настройки в этом свитке для нашего ковра не важны.

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

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

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

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

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

В первую очередь задаем случайное вращение по оси 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 в настройках вращения.

Самое время еще раз взглянуть на референс. Долгие минуты его разглядывания привели меня к тому, что я вывел одну важную особенность данного ковра: от хождения по нему ногами, некоторые участки ворсинок взбиваются и приподнимаются, тогда как другие участки более плотно прижаты к земле. Участки, которые вздымаются, по своему виду напоминают горные хребты, т.е. они довольно узкие и извиваются как змеи, пересекаясь друг с другом. Красным я выделил самые высокие участки этих хребтов:

Такой же структуры можно добиться, если перевести Noise в режим Turbulence и поставить следующие настройки:

Цвета зеленый и оранжевый выбраны далеко не случайно. На финальный результат влияет всё: оттенок, яркость, насыщенность. Многие дни тестов оставили именно этот вариант.

Если вы это еще не сделали, то теперь в настройках скаттера можно увеличить количество отображаемых во вьюпорте объектов до 10.000 (а то и больше), и мы сможем рассмотреть поведение объектов на плоскости:

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

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

Как видите, цвет вращения может быть не только цветным, но и черным. Режим Noise уже Fractal, так как нам больше не требуется структура горных хребтов. Вот как выглядит финальная карта на плоскости:


Четко видны зеленые хребты, а между ними оранжево-черные равнины. А вот объекты на ней:

Я думаю, вы согласитесь с тем, что на данном этапе вьюпорт помогает очень мало, уже не давая представления о всей картине. Чтобы понять, насколько же хорошим получился ковер, нужно отрендерить его так, чтобы падающий свет подчеркнул объем ворсинок.

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

С выходом MultiScatter процесс рассчета таких массивов ускорился, а также я получил информацию от некоторых товарищей, которые сообщают, что ковер по данному методу рендерится в интерьере весьма успешно.

Финальную сцену с ковром в формате 2010 макса, включающую в себя пучок ворсинок, можно скачать здесь.

Приятных ковров вам:)

745
Комментарии:49
по поступлениюВсе языкиТолько русский
98
0
Иван Тиморин
10.09.2010 10:51
Весьма полезный урок. Полагаю, это можно считать новым этапом в «ковростроении» :-)
2
0
pam3ec
10.09.2010 10:55
Замечательно! Сейчас сяду повторять "по горячему")
4
0
Spear
10.09.2010 11:05
Актуально. Благодарствую.
243
0
МаксимГ
10.09.2010 11:13
5 & 5
148
0
Artem Evstigneev (Boom)
10.09.2010 11:50
Круто! Вот бы еще сцену под 2009 макс... )
38
0
GeorgeThreeD
10.09.2010 12:02
Ухты прикольно))) Отличный урок [smile=04]
830
0
Дима Ярков
11.09.2010 14:39
Администратор Арх. Галереи
Спасибо за оценки и комментарии) Сцену под 2009 макс поищу.
21
0
Alex95
11.09.2010 23:23
Интересный урок, спасибо 5/5. В принципе если делать мультискаттером можно получившийся ковер конвертнуть в меш, затем "загнать" в прокси, ради облегчения сцены.
18
0
Спасибо за урок. и отдельноеспасибо за полезные ссылочки 5x5 :)
45
0
Очень интересно! Результат впечатлил, по больше бы таких качественных уроков! Спасибо!
13
0
Tengiz Tegashvili
13.09.2010 17:43
Очень круто!
21
0
Bogdan Vitkov
13.09.2010 19:22
молодец дим! ковереки реально крутые у тя получаются!
56
0
Mu3y
13.09.2010 19:41
Спасибо!!!! 5-5. Желаю тебе 9000 :)
22
0
CDL
14.09.2010 16:48
Да урок отличный.Только можно предворительно перевести ворсинки в прокси, а потом уже рассаживать.Multi skater видит и прокси тоже.Урок актуальный от меня тоже 5/5.
56
0
Mu3y
14.09.2010 20:41
так в уроке же и написано "......... Все это делалось в виде сверху, и лишь затем с помощью Bend сворачивалось в некую трубочку для большего объема. Переводим этот пучок в прокси-объект"
22
0
CDL
15.09.2010 17:26
Sory не заметил.
830
0
Дима Ярков
16.09.2010 11:18
Администратор Арх. Галереи
Спасибо всем)
15
0
В тени
18.09.2010 7:41
Отличный урок!
97
0
Nimoy
18.09.2010 8:30
отличнейший урок!!!5! Всегда хотел сделать такой ковер. Вопрос:Морро делал ковер Hair&Fur?
830
0
Дима Ярков
18.09.2010 12:18
Администратор Арх. Галереи
У Морро ковры делаются всем чем только можно, насколько я знаю, год назад он предпочитал Hair&fur.
2
0
a2-art
22.09.2010 8:42
хм..а у меня не получилось.....(((( создала ворсинки line-extrude-edit mesh..потом по точкам придала им форму и объединила несколько ворсинок в пучок эттэчем...а вот дальше включила ментал рэй..создать прокси добавила один пучок( нажала в прокси на кнопку none и как бы поместила один из пучков в куб) ..второй прокси объект-пучок создать не получается макс виснет и вылетает..(((......помогите..скажите что делаю не так...мне кажется что-то я напортачила с переводом пучка в прокси..я так и не поняла, нужно ли помещать весь пучок в куб прокси..
20
0
otdohni
24.09.2010 8:32
Актуально и качественно.Дима как всегда на высоте!55
7
0
3d-shaman
25.09.2010 6:24
Спасибо, было познавательно еще в мае делал ковер таким способом, но там были червяки такие толстые - похожие на анемонов, и мультискатера не было в помине, на нойзе не получилось выдать приемленный результат, пришлось рисовать карту смешивания в шопе, А тут так круто и далеко расковырял, просто огромное спасибо - видно что много времени потрачено. Могу сказать оценка 10 из 5!!!
2
0
ivan ivanov
25.09.2010 18:40
хороший тутор. Спасибо. Жаль коврик нельзя одной текстурой раскрасить. Прийдется делать несколько скаттеров.
830
0
Дима Ярков
26.09.2010 17:58
Администратор Арх. Галереи
a2-art хм..а у меня не получилось.....(((( создала ворсинки line-extrude-edit mesh..потом по точкам придала им форму и объединила несколько ворсинок в пучок эттэчем...а вот дальше включила ментал рэй..создать прокси добавила один пучок( нажала в прокси на кнопку none и как бы поместила один из пучков в куб) ..второй прокси объект-пучок создать не получается макс виснет и вылетает..(((......помогите..скажите что делаю не так...мне кажется что-то я напортачила с переводом пучка в прокси..я так и не поняла, нужно ли помещать весь пучок в куб прокси..
Уважаемая [b]a2-art[/b]. Должен уточнить, что с ментал реем работает только Multiscatter. В этом случае не обязательно переводить пучки в прокси. Достаточно выполнить следующие действия: 1. При выделенной поверхности, создать объект Multiscatter 2. Щелкнуть на изображении чайника со знаком + и выбрать пучок (можно выбрать несколько пучков). Удачи!
ivan ivanov хороший тутор. Спасибо. Жаль коврик нельзя одной текстурой раскрасить. Прийдется делать несколько скаттеров.
Не совсем понял, что значит "раскрасить коврик" и при чем тут несколько скаттеров)
2
0
ivan ivanov
26.09.2010 23:41
Если сложный узор нужен. Как на твоей пдфке. Ну там черный с белым. Тогда придется изголятся.
830
0
Дима Ярков
27.09.2010 7:56
Администратор Арх. Галереи
ivan ivanov Если сложный узор нужен. Как на твоей пдфке. Ну там черный с белым. Тогда придется изголятся.
Если речь идет о простой диффузной карте на ковер, чтобы получить разные узоры - она прекрасно накладывается и на скаттер) Подробнее [url=http://mentalscatter.com/docs/multiscatter_russian.pdf]здесь[/url] для Multiscatter (страница 43) либо [url=http://rendering.ru/index.php/plugins-manual/vrayscatter/using_of__vrayscattertexture/]здесь[/url] для VRayScatter.
2
0
ivan ivanov
28.09.2010 12:43
BlackAgate Если речь идет о простой диффузной карте на ковер, чтобы получить разные узоры - она прекрасно накладывается и на скаттер) Подробнее здесь для Multiscatter (страница 43) либо здесь для VRayScatter.
Спасибо большое. Я вот с фуром разобрался. [url]http://3dart.com.ua/uroki/109-vray-fur-sozdanie-kovrolina-ili-prosto-kovrika.html[/url]
2
0
ivan ivanov
28.09.2010 13:27
Там внятно написано про цвета, которые участвуют в картах наклона, поворота итд.
7
0
Max Chapliuk
29.09.2010 18:02
Может кто нибудь подскажет где в мультискаттере кнопка "Move pivet to center" (размещение нижних точек на поверхности) ?
830
0
Дима Ярков
29.09.2010 18:09
Администратор Арх. Галереи
ELAGO Может кто нибудь подскажет где в мультискаттере кнопка "Move pivet to center" (размещение нижних точек на поверхности) ?
С одной стороны, я ее тоже не нашел, с другой стороны, там все проще: поскольку мультискаттер берет объект прямо из сцены, можно смещать и поворачивать пивот у исходного объекта, при это визуально вы сразу увидите изменение мультискаттера.
830
0
Дима Ярков
03.10.2010 21:13
Администратор Арх. Галереи
Забыл написать в уроке. Существенная деталь, о которой многие забывают: подложка под ковром должна быть невидимой по краям. То есть, ближе к центру ковра ее можно оставить на всякий случай, чтобы пол не просвечивал, но если мы видим жесткую границу, выбивающуюся из под ворсинок по краям - это смотрится неопрятно и некрасиво. Решение простое: карта Gradient Ramp в режиме Box в слот Opacity, делающая подложку прозрачной по краям.
2
0
VVP
20.10.2010 7:19
Спасибо! отличный урок!
2
0
clipper
20.10.2010 9:52
Я не понял о чём урок? Создать плоскость и применить плагин? О всём этом на оф.сайте можно почитать, причём на русском языке. Там даются понятные рекомендации по использованию этого плагина. А в уроке читаю: "Цвета зеленый и оранжевый выбраны далеко не случайно. На финальный результат влияет всё: оттенок, яркость, насыщенность. Многие дни тестов оставили именно этот вариант." Из всего этого я понял, что автор предлагает нажать на определённую кнопку и не заморачиваться с объяснениями??? Вообще-то урок для того нужен чтобы научить пользоваться программой, а не нажимать последовательность кнопок. Хотя возможно урок написан для рекламы этого плагина. Тогда всё правильно.
830
0
Дима Ярков
20.10.2010 10:49
Администратор Арх. Галереи
clipper Я не понял о чём урок?
Я думаю, вам следует вдумчиво перечитывать его раз за разом, и тогда вы все поймете. Удачи)
830
0
Дима Ярков
21.10.2010 8:43
Администратор Арх. Галереи
Итак. Раскрыт секрет занижения баллов со стороны оппонента. Тема [url=http://render.ru/books/show_book.php?book_id=945]тут[/url] (читать комментарии). Последний комментарий оставлен тоже этим мошенником.
1590
0
Paz
23.10.2010 10:34
Золотой спонсор
Хороший урок. +5 Вопрос - Можно ли реализовать анимацию травы данным методом?
830
0
Дима Ярков
23.10.2010 10:39
Администратор Арх. Галереи
paz Хороший урок. +5 Вопрос - Можно ли реализовать анимацию травы данным методом?
Можно. Саму геометрию гнуть нельзя, но достаточно реалистичное движение травы легко реализуется посредством анимации карт поворота.
2
0
katemanson
24.10.2010 7:47
Дима, мне вот интересно, что за компьютеры у тех товарищей, которые пишут, что в интерьере этот коврик будет успешно рендериться? Наверное моих 8 гб оперативки явно маловато и лайт кеш с не самыми высокими настройками считался 11 часов((( Хотя коврик офигенно красивый... пошла делать фуром(
467
0
Юра Кошель
01.11.2010 16:04
отличный урок! спасибо
2
0
igor mikhailov
23.12.2010 10:05
!!!Замечательный урок-мэйкин оф ---называйте как хотите Противно что всякие уроды пишут что ерунда а не тутор-Вот из за таких люди и не делятся секретами своего мастерства--Напишешь распишешь-а тебе еще в лицо плюнут и скажут, а кому оно надо, хэлп написал и вообще это реклама. Скажу за себя-Ковер выдающийся нигде на просторах интернета похожего не видел-сразу захотелось узнать КАК!!! Автор в своем блоге написал что напишет урок))Ждал долговато но когда увидел его здесь--это был замечательный сюрприз. Спасибо огромное за урок.
2
0
qub
25.01.2011 9:41
Господа, подскажите пожалуйста как можно ускорить просчет Light cache. Сделал коврик по уроку, причем Max count поставил 200 000 вместо 400 000 . Все очень красиво, но Light cache рендерился 12 часов. Проц i7 920 6гб ОЗУ. Заранее спасибо
7
0
samorez
01.02.2011 15:21
qub Господа, подскажите пожалуйста как можно ускорить просчет Light cache. Сделал коврик по уроку, причем Max count поставил 200 000 вместо 400 000 . Все очень красиво, но Light cache рендерился 12 часов. Проц i7 920 6гб ОЗУ. Заранее спасибо
Перегоняете весь ковер в VRproxy и все, конкретно этот ковер в 300000 укладывается в 584мб, рендерится в интерьере на ура. Озу на ковер при этом уходит примерно 3.8гб и лайткэш считаеться быстро, без прокси у меня схавал больше 10 после этого я остановил, на тот момент расчетное кол-во времени на просчет лайткэша ушел в ~ ))
2
0
el604
03.02.2011 8:11
разве тожесамое нельзя сделать стандартным максовским скаттером?
47
0
ARTUS
19.03.2011 8:40
Большое человеческое спасибо вам!
68
0
Anton Viborniy
20.05.2011 15:13
отличный урок!
64
0
А можно каким ни будь образом получить геометрию на выходе из multiscatter?
2
0
Христинааа
06.04.2015 9:39
Добрый день! Я новичок в 3д мах, пожалуйста как сделать ворсинки? Спасибо!
2
0
7acrow
24.06.2016 8:03
BlackAgate, спасибо огромное, очень полезный урок! К слову сказать, при переводе сцены в Corona render, с использованием встроенного Corona scatter получается отменный результат! жаль нельзя картинку прикрепить...