Убираем пересечения.

31b5d4d4e32540ac98bfd1a19c145f20.jpg

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

 Разумеется осуществлять это будем посредством модификатора Cloth. Поэтому первое что делаем - назначаем модификатор на наш объект и сделаем его тканью. В параметрах для ткани увеличим толщину (1), которая всегда будет в см., и силу отторжения (2), параметры сохранения  формы оставим без изменения (3), делаем захват текущего состояния (4). Именно это состояние будет стремится сохранить симулятор пока  у нас не будет отмечено его использование (5) и в пропорциональном соотношении заданном в группе Keep Shape (3).

7b389a26556a8bc2cec92217b22a127d.jpg

 Теперь нам необходимо заблокировать группу вершин у основания. Но как их выделить? Очень многие опускают такую возможность модификатора Unwrap UVW , как модификатора выделения. Unwrap UVW => открываем окно редактора и выделяем нужный нам полигоны.

0b6ee5f88cf6fa4828b729e4f08bc8b1.jpg

 Edit Poly => с уровня полигонов через Ctrl переключаем выделение с полигонов на вершины. Нужное нам выделение получено.

bea10c9b8a8fe4addc77bbb34d74979b.jpg

 Перетаскиваем Edit Poly под Cloth (1), поднимаем выделение в Cloth (2), создаем группу (3), блокируем её (4) и исключаем из коллизий  (5) (лишние просчеты нам не нужны).

5315c4bcfd101f464333e0f7f049c0d5.jpg

 Теперь необходимо устранить пересечения. Делаем это путем масштабирования неблокированной части. Инвертируем выделение вершин Ctrl+I, сокращаем (1) и через Ctrl переходим на уровень рёбер.

18c68ca2a7bb654037945af3b90831cf.jpg

 Масштабируем выделенное и принимаем состояние в Cloth (1).

3de0c82a9815ec94b8c62a3011c5f3bb.jpg

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

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

a02a5cc71e19acf1acc2f3baaa5567dd.jpg

 Настраиваем симулятор, оставив в нашем случае только самоколлизии (1) и симулируем (2). Разумеется в зависимости от стоящей задачи мы можем добавить в процесс симуляции дополнительные объекты твердой коллизии и полотна.

98c292bfd096844b07340e5b06868281.jpg

 И так, что у нас на выходе?

 - Мы избавились от нежелательных  пересечений.

 - Наша модель, с уходом пересечений, стала равномернее распределяться по занимаемому объему. В ряде случаев это позволит значительно уменьшить количество элементов при размещении сохранив общий вид.

 - Бонусом получили дополнительную рандомность, причем довольно естественную.

 - Узнали еще одну сторону Клоуза !   ;)

моделирование органикицветылистьяcloth

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

+3
Maketer
Ах, как я давно ждал этого урока!!!
+2
AuRu
Я тоже)) Спасибо огромное!!
+2
Sanfoura
И я того же мнениЯ!))))))+
+1
AlexHappy
В закладки для изучения! Спасибо!
+1
sten
ну клоз сильная штука! Спасибо за урок
+1
VladimirG
Давно искал решение проблемы с пересечениями и вот одно из них ! Спасибо!
0
KarikhSergey
Интересный способ, попробуем.Терпеть не могу этот модификатор, по тому, что не умею с ним работать. Постоянно вылазят какие то ошибки и объект разрывает на части... Другое дело майский nCloth вот это тема!
За материал поставлю 5.
+1
пек
спасибо чувак !
+1
Tmin, ты the best!!!
Даже и подумать не мог, что такое возможно)
+1
sla3d
Шикарно, это победа!
+1
kolbasnikov
То что нужно! Прекрасный рецепт!)
+1
Da!
Благодарю!
Очень хотел узнать этот секрет, но не решался спросить.
+1
MARSALA
Я в восторге от Ваших уроков! Спасибо огромное!
+1
Kosten
Спасибо!!! ОЧЕНЬ полезный урок!
+1
AlexRicco
Актуальнейший урок!
+2
gus_ann
Попробовала, все работает и замечательно работает. Огромное спасибо за урок!!!! Очень полезный и очень нужный.
+2
Sontik
Да,шикарная победа! Отличный урок. Надо вот ..вот так вот, захотел -взял.не захотел не взял.. Это насчет награды)))
+6
MpaKo6ec
Действительно круто и очень полезно, для любых проектов. Здорово, что урок выходит за рамки архвиза.

Ну и отдельно спасибо за скриншоты и писанину, настоящий олдскульный урок :)
+1
Tmin
МраКобес, спасибо!
Твоя оценка дорогого стоит для меня.
+3
pletenka
Большущее спасибо! Как хорошо,когда есть у кого учиться!
+1
usov.80
Виталь извини,как то пропустил я этот урок(- мне).
Очень полезная информация как всегда,впрочем ты нас уже к этом у приучил.
Спасибо большое тебе!)
И да,мои поздравления с победой!)
+3
rudnikov2006
Убрал таким способом пересечение готовых штор и тюли в интерьере - работы на 5 минут, и не надо вручную убирать пересечения, тем более аккуратно их убрать никогда не получается. Спасибо!
0
HelloSPB
Подскажите, правильно ли я понимаю, что в этом методе пересечения убираются за счет маштабирования каждого объекта?
А не за счет того что объекты деформируются. Как если бы два соседних цветка упирались друг об друга листьями ?
0
Tmin
Второе!!!
Масштабирование чисто технический аспект... Разумеется оно должно быть правильным исходя из задачи.
0
HelloSPB
на травинках конечно плохо видно. было бы лучше на липестках показать с более крупным планом и с меньшим количеством ,чтоб понятно было
0
Tmin
Травинки проще для усвоения материала, чтобы избавится от лишних телодвижений . Орхидеи с титула сделаны по этому алгоритму. Их можно даже посмотреть )
https://3ddd.ru/3dmodels/show/bukiet_orkhidiei 
0
Ilae
Добрый вечер! Пробовал, пробовал весь вечер... не получается. Не посоветуете видео по данной теме или может у Вас есть?
0
Tmin
Видосов нет.
Что конкретно не получается?
0
Ilae
Создал с помощью growfx тестовую ветку с несколькими листьями. Перевел в poly и специально сделал пару пересечений. Затем начал работать по уроку. Заблокировал в группу все точки ствола и несколько точек основания листа. При запуске симуляции исчезает вся модель.
0
Tmin
Сетку надо почистить, Клоуз привередлив в этом плане.
+1
Ilae
Хочу выразить огромное признание автору!
Информация ценная сама по себе.
Так Виталий еще помог мне разобраться с моими ошибками.
Спасибо!!!