Трава стандартными средствами 3ds Max + V-Ray

Добрый день! При моделировании в 3ds Max у меня неоднократно возникала необходимость имитации травяного покрова. Перепробовал массу вариантов: специализированые плагины, а также различные генераторы волос и меха, встроенные средства макса, такие как Scatter, и тому подобное. Почти всегда что-то не устраивало: ненатуральность, долгий рендер, отсутствие гибких настроек…

В результате, как мне кажется, я нашёл оптимальный и неординарный вариант моделирования и быстрого (все относительно) рендера травы.

Ну что ж приступим!

Открываем макс, настраиваем единицы измерения: меню → CustomizeUnits Setup… → отмечаем точку рядом с «Metric» и выбираем в строке ниже Centimeters OK, теперь все размеры в сцене будут в сантиметрах. Идем в меню → Create → Shapes → Rectangle, чертим в окне «Top» прямоугольник размером 200,0 cm на 200,0 cm.

Применяем модификатор Garment Maker, параметр Density поднимаем таким образом, чтобы плотность сетки получилась примерно как на рисунке (не увеличивайте сразу намного — компьютер может надолго задуматься).

Заранее в Photoshop-е я нарисовал вот такую текстуру:

Идем в список модификаторов и применяем к плоскости, которую я назвал «Ground001», модификатор Displace. В разделе Image: под надписью Bitmap: жмем кнопку None и указываем путь к нашей текстуре, в разделе Displacement: устанавливаем параметр Strength равным 10,0 cm или больше, как кому нравится, это будет высота неровностей на почве.

Конвертируем то, что получилось, в Editable Mesh (правой кнопкой на названии модификатора Displace и нажимаем Collapse All), дублируем получившейся объект, соответственно, дубликат будет называться «Ground002» и временно скроем копию (Display → Hide Selected). Снова кликнем по Ground001, заходим в Editable Mesh → Polygon, выделяем все нижние полигоны и удаляем их.

Теперь создадим собственно травинки, в окне Front рисуем Plane размером приблизительно 15,0 cm на 1,5 cm с сегментами 10 на 2 соответственно.

Применяем модификатор FFD(box)7х3х2 и, манипулируя контрольными точками…

…добиваемся примерно вот такого результата:

Используя модификатор Edit Mesh, на уровне подобъекта скопируем несколько раз нашу травинку, уменьшая и поворачивая копии, мы получим вот такой травяной «кустик»:

Важно!

Теперь необходимо выполнить еще два действия:

  1. на боковой панели зайти на вкладку Hierarchy, нажать кнопку Affect Pivot Only, это позволит переместить центр координат объекта в нужное положение, в нашем случае это самое основание «кустика», как бы точка, откуда растут травинки;
  2. во вкладке Utilities нажмите кнопку Reset XForm и ниже еще одну Reset Selected, перейдите во вкладку Modify, нажмите правой кнопкой на названии «XForm» и выберите Collapse All. Естественно, при этом, объект Blade001 (так я назвал нашу травку) должен быть выделен.

Ну, вот подготовительную работу мы сделали, приступим к созданию газона. На вкладке Create в выпадающем меню найдите группу объектов Particle Systems и создайте в любом месте сцены (положение не имеет значения) объект PArray. Да, да не удивляйтесь именно систему частиц мы и будем использовать для генерации травяного покрова! Перейдем на вкладку Modify.

Теперь в разделе Object-Based Emitter нажимаем кнопку Pick Object и указываем в качестве эмиттера «Ground001», в разделе Viewport Display ставим точку напротив Mesh, в окошке рядом с Percentage of Particles ставим 100%, в группе команд Particle Generation, в разделе Particle Quantity точку напротив Use Total и ниже вписываем 5000 (это общее количество частиц), в разделе Particle Motion – Speed: 0, Variation: 0, Divergence: 0; в разделе Particle Timing – Emit Start: -30 (минус 30), Emit Stop: 0, Display Unitil: 100 (или до конца активного участка), Live: 130 (или как минимум, на 30 кадров больше чем Display Unitil), Variation: 0. Далее переходим к группе команд Particle Type, ставим точку напротив Instanced Geometry, в разделе Instancing Parameters нажимаем кнопку Pick Object и кликаем на нашу травинку (Blade001), вернемся в группу команд Particle Generation и в разделе Particle Size выставляем размер травинок (Size), у меня стоит: 0,03cm, но вы можете поставить больше или меньше, смотря какой высоты, требуется трава. Зайдем в группу команд Rotation and Collision и в разделе Spin Speed Controls поставим, Phase: 50, Variation: 50, это отрегулирует хаотичный поворот и наклон травинок. Смотрим что получилось.

Да-а-а, как-то не очень симпатично вышло, но это не страшно — все впереди. Однообразно, если честно, давайте-ка создадим второй вид травы, но с другими листиками, вот, примерно так:

Примечание: для того что бы во время работы не возникали «тормоза», в настройках неактивной PArray необходимо изменить отображение частиц. В разделе Viewport Display вместо Mesh, включить, к примеру, Dots, Ticks или BBox.

Назовем новую травку Blade002, скопируем объект PArray001, у нас получится вторая система частиц PArray002, зайдём в настройки и в группе Instancing Parameters жмем на кнопку Pick Object и кликаем на нашу травку №2 (Blade002), еще необходимо нажать на маленькую кнопочку New в группе Particle Generation, в разделе Uniqueness для того чтобы новая травка не располагалась в тех же местах, что и первая. Еще я увеличил общее количество травинок в разделе Particle Quantity до 8000.

Ну что ж, теперь плоскость Ground001 можно спрятать через кнопочку Display → Hide Selected и вытащим на свет объект, который будет изображать землю Ground002 кнопкой Unhide by Name.

Займемся материалами. Накладываем текстуру земли, например вот такую, или по вашему желанию любую другую.

Создадим материал травы:

Я не стал в рамках данного урока использовать сложные VRay-евские материалы — это тема для отдельного тутора а, использовал обычный Max-совский Standard, настройки на картинке, при желании, возможно, использовать текстуру. Для второй травы материал точно такой же, только изменил слегка оттенок и яркость. Теперь необходимо добавить освещение, я поставил всего лишь один Target Direct с тенями VRayShadow, включил GI, ну, и положил HDR на Environment. Здесь я не буду вдаваться в подробности, ищите уроки по настройке V-Ray. Смотрим картинку:

Уже лучше…

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

Добавим посторонних деталей. Ну, вроде и все.

Данный способ также подходит для имитации меха, махровых ковриков, например.

Удачи Вам и Вашей семье!

751 0 850 64
25
2011-06-16
Спасибо, трава выглядит прилично. Ещё не пробовал выполнить. Но как она будет вести себя на огромных участках в пару гектаров, например? Не положит систему? Можно ли использовать прокси? Можно ли с помощью карт регулировать размер травинок? Наклон по разным осям? Плотность травы? Можно ли не удалять полигоны там, где не нужна трава, а, допустим, распределить частицы только по выделенным полигонам или по текстуре? Просто я никогда не работал с системами частиц. Если это возможно, то можно не использовать сторонние плагины для травы.
2011-06-16
Систему более чем вероятно что положит. Способ хороший, но с появлением Muliscatter не очень актуальный, т.к. не оптимизирует работу с большим числом поликов и не работает с проксями, в отличие от Multiscatter. Сам давно пробовал такой способ но макс вылетал не прощаясь при попытке озеленить довольно крупный склон холма. :)
2011-06-16
Shtarty! Доброе времв суток! Может быть способ и не самый актуальный, но я ставил задачу: добится результата стандартными средствами. А по скорости рендера, в сравнении со стандартным максовким Scatter-ом, получился очень даже солидный выигрыш.
2011-06-16
dfcz85! Привет! Карты к сожалению использовать нельзя. Не работает PArray с картами. На больших площадях сам еще не пробовал - надо проверить.
2011-06-16
А мне очень понравился урок! Описано доступно и просто. Да и результат впечатляет! Помнится я как-то загнал свою лошадку в коматозное состояние подобным методом - замахнулся на многие гектары... ох, как не хватало тогда этого урока. А вот для небольших сцен, если вдруг нет сторонних плагинов, способ очень даже замечательный и оригинальный. Так что, спасибки!
2011-06-16
Непрактично, прирост на небольшом участке во времени может и есть. Попробуйте применить этот метод к реальному проекту, обсадите экстерьер например. А если понадобиться внеси изменения? Например тропинку добавить или убрать. Мне кажется в условии реального проекта мало применимо.
2011-06-16
Я пробовал подобное, но только с помощью Pflow, а не PArray. В этом случае и карты можно использовать. Урок полезный. а Multiscatter только для ментала, ну и еще для вирея, a есть еще Maxwell, Fryrender, Final render и другие не менее полезные рендеры.
2011-06-18
[b]Благодарю ! [/b] Я конечно уважаю профи , Но наезды на АВТОРА УРОКА , немного завышены - зачем всё засаживать ТРАВОЙ ? Не логичнее определится на какие места необходима трава в ближнем виде ?! Ведь так можно за деревьями леса не увидеть ! Так можно и машины Пентагона положить , если на мелочи отвлекаться ! Ещё раз Мерси ВАМ [b]Олле_Лукое[/b] за Добрый УРОК ;)
2011-06-19
Годный урок. Странные вы люди. Понятное дело, для чая, каши и десерта нужны разные ложки. Чел показал один из способов конкретно для подобного примера. При чём здесь огромные площади? Тут ближний вид. Именно этот вариант травы именно для этого вида - один из оптимальных и быстрых. Если, к примеру, для ближнего вида стены можно кирпичи геометрией сделать, то для дальнего - и средненькой текстуры достаточно. Никто же от вас не требует, чтобы, скажем, трёхмерный посёлок был смоделирован до последнего гвоздя. Не нужно пихать одну и ту же вату во все щели.
2011-06-20
Спасибо автору, дельный урок. А по поводу критики, если кто то хочет покритиковать, то будь добр сначала скажи спасибо автору за то, что потратил время и в отличии от тебя (абстрактного критика), что то сделал, а потом уже критикуй. (это я не кому то конкретно, это я в сторону критики в общем, так как считаю, что на подобных трудах, негативных комментарие быть недолжно, максимум отметил хорошие стороны\потом отметил недостатки).
2011-06-20
Олле - [quote]В результате, как мне кажется, я нашёл оптимальный и неординарный вариант моделирования и быстрого (все относительно) рендера травы.[/quote] забыл написать, когда он это сделал. В 1998-м году? :)
2011-06-24
Лично мне трава понравилась из всех уроках на Render.ru она самая реалистичная на мой взгляд. 5ть за урок и 5ть за актуальность, для меня он актуален сделал дом и там есть небольшие клумбы перед ним, вот как раз туда она очень хорошо вписывается. На щёт больших площадей там лучше другими методами, а вообще хотел бы урок как Vue завязать с 3D Max, вот из него и ландшафт и небо и деревья с цветами и травой на больших площадях очень реалистично смотрится. Вообщем респект автору за урок в моей задаче именно такая трава будет идеальной.
2011-06-25
спасибо!
2011-06-27
Молодец, красиво! :)
2011-07-04
Очень актуально. Лови пятаки!!!
2011-07-04
протестил. конечно, для масштабных работ не прокатит, для этого есть мультискейтер. а для ближнего боя самое то!!!
2011-07-15
Спасибо за урок. Трава выглядит отлично. Обязательно попробую данный метод!
2011-08-05
Такую траву можно сделать рассадив все вручную, при этом затратив на это не больше времени чем частицами. Это оригинальный способ для тех кто в третий раз открыл 3д макс... Лучше расскажите мне как засадить здоровое поле высокой, красивой травой, которая будет еще и от ветра колыхаться воздушными волнами(ну как это по настоящему бывает) и что бы комп не превращался в кирпич, когда на рендер нажимаешь.... Сделал более менее приличную траву, но не финальную, рендериться уже полтора часа на четырехядерном компе с 8 гигами оперативы. А вообще хороший урок))
2011-08-24
VRay Autograss - реалистично и без особых затрат времени и ресурсов.
2011-09-07
[quote=Bishop_v1.0] grass-o-matic probably will help you
2011-09-12
сделал все как надо в Parray выставил се так же,но не растет,как стоял 1 кустик так и стоит,что делатЬ? прошу помощи!
2012-02-05
Опаньки... Как оказывается просто кусты размножить по плоскости.... А я мучился по кусточку расставлял... Будет время обязательно опробую новый способ :)
2013-02-20
Отличный способ!!! Спасибо автору!! Использую его теперь постоянно!!!
2013-11-25
Не пойму почему не получилось. все настройки как по картинкам, а травинка одна как была так и осталась...
2013-11-25
[b]Светлана[/b] Одно из двух: либо в разделе Instancing Parameter не присвоен объект (ваша травинка), либо в Viewport Display не поставлена точка на Mesh. Ну или еще в разделе Particle Generation не укзано количество отображаемых частиц. Удачи!!!
RENDER.RU