Моделирование штор с различными сборками.

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

Готовы ? Тогда начинаем...

bdde75079edf483a463cd6c0abae33cc.jpg

Постарайтесь вспомнить все что Вы умеете в полимоделинге, особенно той его части, которая не меняет топологию сетки. Это нам очень пригодится!

Модификаторы. Мы пользуемся ими постоянно. Разными, под разные задачи.

Модификаторы сети Edit Poly, Edit Mesh - основа полимоделинга.

FFD - наверно самый часто используемый, где только он не возникает.

Bend - гнем все что требуется.

Twist - скручиваем где надо и где не надо.)

Push - поднимаем поверхность.

Spherify - делаем из объекта шарик.

и Т.Д.

Cloth - модификатор полотна. Добавляет поверхности объекта заданные физические свойства и позволяет ей взаимодействовать с другими объектами и силами в сцене.

Да, это всего лишь модификатор ! Основным свойством Cloth является то что он запоминает поверхность такой, какой она была в момент назначения модификатора. И как бы не менялась форма объекта  при симуляции, какие бы, всегда понятные для Cloth изменения, не происходили в стеке, эта поверхность останется неизменой.

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

В примере рассмотрим вариант сборки со встречными складками. 

Начинаем моделинг со сплайновой формы, который будет являться сечение верха нашей шторы. В горизонтальной плоскости создаем сплайн следующего вида  (внизу для наглядности показана его структура) и длинной по ширине будущей шторы ( в примере 830 мм. по оси X )

6f0989df1a5a93a49c0ca8a015e180c2.jpg

Убираем в сплайне интерполяцию (1) и екструдим его на нужную высоту (2) с необходимой сегментацией(3). Длину сегмента сделаем по высоте сборки. Чтобы  проекционные координаты соответствовали форме полотна, указываем что они будут (4) в реальных размерах (5), при необходимости в последствии сделаем упаковку в  анврапе.

d2b63c61a00fac7d5ebf726b325a3f99.jpg

Конвертируем в Editable Poly и уплотняем сетку в местах складок сборки коннектом (1) эджей (2).

6c8fd6abdd2cdf0c2c38fbd204317628.jpg

Заготовка полотна готова. Сделаем копию объекта и присвоим в названии литеру _morph, скопированный объект скрываем он нам потребуется позже. Накидываем Cloth и  указываем что curtains будет полотном, а Plane001 объектом твердой коллизии. В свойствах полотна зададим толщину ткани 2 мм. (1) (параметры полотна всегда в  см.), увеличим силу отталкивания (2) и немного понизим скейлинг по оси U (3).

3891dfbd789d68f87433ce2860b28b37.jpg

Для чего мы уменьшали скейлинг? Cloth ненавидит пересечения сетки и вершины имеющие одно пространственное положение ( вершины - только для  полигональной сетки,  к Garment Maker не относится ) Поэтому первой молниеносной симуляцией с демпфированием (1) мы немножко разведем их. Разумеется с отключенной гравитацией (2) и  самоколлизией (3)

a3347729940800baa4b8278f64df62a3.jpg

Теперь необходимо создать группу для блокировки. Edit Poly в вершине стека и через Graphite Tools выделяем вершины в местах сшивания складок.

4e1067a3966e26f6d3b788702ee322c7.jpg

Перетаскиваем Edit Poly под Cloth (1) и переносим выделение (2). Добавляем к выделению весь верхний ряд вершин, создаем группу (3) (4) и блокируем ее (5).  Укажем что у группы будут отличные от полотна свойства (6) и оставим их по дефолту. Это сделаем для того что между некоторыми вершинами расстояние меньше чем  заданная толщина полотна.

e51df69cee5c3e2a94bc91f1cb69b3c6.jpg

Для того чтобы полотно имело возможность провиснуть используя FFD 2х2х2 уменьшим его на 30 мм. по оси X. ( Важно! Тоже самое нам необходимо проделать и с  объектом curtains_morph ). Провисание между точками крепления к карнизу мы зададим сами, не будем полагаться на волю случая. Используя Soft Selection опускаем  серединку.

2299885185dccefff818ea0ae0ced8f3.jpg

И оставив выделение зададим рандомность модификатором Noise.

69b30f49465afc0f591526d1f3636222.jpg

Сделаем релакс исключив из него заблокированную группу.

78d711227833767fe235bad300fed164.jpg

Переносим изменения в Cloth (1) (2) Не забываем про отображение вершины стека (3), отключаем вершину стека (4), включаем гравитацию (5) и самоколлизию (6), в  свойствах полотна вернем скейлинг по оси U к дефолтному (7). Запускаем симуляцию (8), В процессе симуляции чтобы ускорить просчет полезно делать переключения на  Simulate Local (damped) чтобы успокоить инерцию.

b03e73f85cf462dd1248872d1433df44.jpg

При достижении желаемого результата останавливаем симуляцию. Соединяем наши швы, которые мы развели перед симуляцией. Для этого поднимаем выделение с первого  Edit Poly и делаем морф к объекту curtains_morph.

9d8b19a24ee52cacd864620b85d26478.jpg

Вот собственно полотно с запланированной сборкой готово. Как Вы понимаете вариант сборки напрямую зависит от созданного в самом начале сплайна, так что сделать  можно любую.

3562c495a5db7dffa96c56c72d14643b.jpg

Можно было бы завершить на этом повествование, но остается ощущение какой-то незавершенности.

Дополним наш урок еще немного. Опустим низ шторки на пол.

Создаем плоскость пола. Уплотняем сетку низа шторы уже известным способом.

1cb68f4f5e80c74fd5589d6d7a51fd30.jpg

На все три объекта накидываем новый Cloth.

f64e5532e36fd0c6f5adf0c3d6cdc47e.jpg

С помощью FFD вносим рандомность в складки.

456ff7e3d37f67352aa1a17a622b2035.jpg

Укладываем низ на плоскость любыми инструментами и так как нам этого захочется, хоть до последней складочки! Инструментов в Максе предостаточно.

c9b7373e56d2007873f4447a0810e7bc.jpg

Переносим деформации в Cloth. Блокируем верх у шторки.

fa33f9c22485e872b58c2c625162f7c8.jpg

Симулируем, сначала с демпфированием чтобы полотно расправилось, затем как удобно.

16e2589437548bd9f33a983235833728.jpg

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

b6a1d6f0668030fd02b0289497fe2dc6.jpg

Ну вот наверно и все.

1f7848472adc4e32f68db18fbfdc7ccc.jpg

model

Рабочий файл с открытым стеком в 2010 формате Вы можете забрать тут.

В заключение хочу добавить:

Данный алгоритм прекрасно подойдет не только для моделирования с нуля, и разумеется не только для штор. Вы можете также дорабатывать с его помощью уже готовые модели под  свои нужды!

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

Удачи!

Комментарии (31)

+8
alesya5enot
Ну что тут скажешь?! Спасибо Вам огромнейшее! Вы очень помогаете людям, которые сами вряд ли до этого дошли бы. ( P.S. : мне :) )
+1
arsa35
Наконец то дождался твоего урока)))) ну все хана зд стокам)))
0
jaroslaw_chns
Попробую в синеме такое повторить.
0
ilia.garbuzov
Получилось?
0
Sanfoura
ой, вот спасибо, как раз, сижу постель делаю, вдохновлённая уроком, а тут на сайт захожу и там урок "занавески". Ну вот, ОГРОМНОЕ прям СПАСИБО
+2
vv1namp
спасибо за труды, будем почитать
+2
zagg
наконец-то то что ждал спасибо за урок +5
+2
Andry_K
Да! Конкурс уроков администрация придумала - какое благо для нас - тех кто хочет развиваться! А такие чудесные 2 урока от Tmin заслуживают высочайших похвал и конечно-же победы в этом месяце! Спасибо!
+2
Danku
Как же долго я ждал от тебя урока, низкий тебе поклон и огромное моё уважение. Спасибо.
0
Maketer
Победит либо tmin либо tmin )))
0
JJane
А может тогда две уже награды? ;) Оба урока этого заслуживают)
0
rabser
спасибо!
+5
defrost
больше уроков от Тмина ! )))
0
Bazhenov
Лови 5 )
Спасибо!
0
Ardecus
Спасибо за урок и спасибо отдельное админам, что создали мотивацию для написания! Мы скоро все станем суперпрофами)
+1
tkozodaev
Да классный урок. Спасибо.
0
adrealina
В закладоньки))
0
Charlyxxx
Супер урок! Победа за тобой! =) +5 Благодарю!
+2
yuretz_oguretz
Как же хорошо что ввели бонусы за хорошие уроки! Сразу смотрю попёрло. Много полезного подцепил за последние месяц-два. Спасибо разработчикам и Вам, разумеется, Tmin, за урок!
+2
nnnkkk
У уважаемого автора редкий дар - не только предельно понятно объяснить то, что задумано, но и дать намного больше материала для размышлений, и кучу полезнейших побочных сведений. И при этом не потратить ни одного лишнего слова! Огромное спасибо! Будем учиться.
0
Sontik
Комментарий удален
+1
naumov-studio
Мастер приоткрывает секреты Шаолиня. Теперь каждый смертный сможет овладеть "техникой моделинга Tmin".

Спасибо, за классный урок и отдельное спасибо за грамматику, любо-дорого учиться.
Желаю победы! Удачи
0
ilennkali
Dragut.... Super!!!
+1
eroshik75
спасибо огромное
+2
asdfg01
"бедующей шторы" уморило! Спасибо за урок!
+1
Tmin
Спасибо, поправил ! )
+1
MARSALA
Вот эти шторы я так давно мечтала научиться моделить, но не знала как,спасибо Вам Tmin! Буду пробовать.
+2
Анянко
Пробую ваш урок и есть для меня непонятные места ,"Для того чтобы полотно имело возможность провиснуть используя FFD 2х2х2 уменьшим его на 30 мм. по оси X"- с помощью масштабирования все полотно? и "Сделаем релакс исключив из него заблокированную группу." - не нашла где исключить. По возможности ответьте.
0
design-kad
толково, со знанием дела!
+1
cbapog
да это удобнее, чем экспорт в марвел и обратно
0
StunModeler
Спасибо!