Очень часто встречающаяся проблема, при моделировании предметов имеющих пластичные физические свойства, это пересечения. Неприятно наблюдать когда одна форма насквозь пронизывает другую. Попробуем разобраться с тем, как это убрать, и как дополнение - улучшить модель.
Разумеется осуществлять это будем посредством модификатора Cloth. Поэтому первое что делаем - назначаем модификатор на наш объект и сделаем его тканью. В параметрах для ткани увеличим толщину (1), которая всегда будет в см., и силу отторжения (2), параметры сохранения формы оставим без изменения (3), делаем захват текущего состояния (4). Именно это состояние будет стремится сохранить симулятор пока у нас не будет отмечено его использование (5) и в пропорциональном соотношении заданном в группе Keep Shape (3).
Теперь нам необходимо заблокировать группу вершин у основания. Но как их выделить? Очень многие опускают такую возможность модификатора Unwrap UVW , как модификатора выделения. Unwrap UVW => открываем окно редактора и выделяем нужный нам полигоны.
Edit Poly => с уровня полигонов через Ctrl переключаем выделение с полигонов на вершины. Нужное нам выделение получено.
Перетаскиваем Edit Poly под Cloth (1), поднимаем выделение в Cloth (2), создаем группу (3), блокируем её (4) и исключаем из коллизий (5) (лишние просчеты нам не нужны).
Теперь необходимо устранить пересечения. Делаем это путем масштабирования неблокированной части. Инвертируем выделение вершин Ctrl+I, сокращаем (1) и через Ctrl переходим на уровень рёбер.
Масштабируем выделенное и принимаем состояние в Cloth (1).
Как видите, благодаря тому что Cloth запоминает полотно таким , каким оно было в момент назначения, редактирование формы возможно и внизу стека. Правда возможности такого редактирование сильно ограниченны.
Дополним наш процесс ещё и бендом по карте. Я воспользуюсь "неровностями". Конечно в идеале оптимальным будет смешать карту бампа с материала с подходящей трехмерной процедурной .
Настраиваем симулятор, оставив в нашем случае только самоколлизии (1) и симулируем (2). Разумеется в зависимости от стоящей задачи мы можем добавить в процесс симуляции дополнительные объекты твердой коллизии и полотна.
И так, что у нас на выходе?
- Мы избавились от нежелательных пересечений.
- Наша модель, с уходом пересечений, стала равномернее распределяться по занимаемому объему. В ряде случаев это позволит значительно уменьшить количество элементов при размещении сохранив общий вид.
- Бонусом получили дополнительную рандомность, причем довольно естественную.
- Узнали еще одну сторону Клоуза ! ;)
Комментарии (31)





























