Меню

Модификатор cloth ткань проваливается

Проблема с модификатором Cloth (3D max 2018)

Спасибо за комментарий! Не понял на счет 20 мм. cm/unit пробовал сделать и 1 и 0,1 — макс вылетает

Стоит поменять и системные с дюймов на мм., тогда cm/unit будет 0,1.

И велд с маленьким значением всех вершин не будет лишним.

Спасибо за помощь! Не понял на счет 20 мм. cm/unit пробовал сделать и 1 и 0,1 — макс вылетает.

Размер ткани должен быть не 20х20 мм. , а в реальных размерах, носовой платок и то больше.

cm/unit нельзя поменять без глюка пока системные единицы дюймы . У Макса от такой задачи крыша едет )

Открываешь новую сцену, меняешь системные единицы с дюймов на см. или мм., и делаешь в ней все заново. Будет все работать и поменять все можно будет.

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

Источник

Модификатор cloth ткань проваливается

Уже не новичок

Группа: Пользователи
Сообщений: 21
Регистрация: 17/10/2006
Пользователь №: 38 700

Системная единица — mm
т.о. в модификаторе Cloth: cm/unit = 0.1 (модификатор и сам это верно определяет)
Довольно большая тряпка 3000×1500 mm c подробной регулярной топологией (plane 300×150 сегментов)
collision объекты — несколько боксов
При cm/unit = 0.1 примерно половина вертексов тряпки пролетает насквозь боксов.
Никакие эксперименты с depth/offset (с другими переменными тоже) ситуацию в корне не поменяли.

Но при cm/unit = 1 этого эффекта почти незаметно,
а при cm/unit = 1 нет вообще.

В чем дело?
При cm/unit = 0.1 моя тряпка ведет себя именно так как нужно (за исключением описанных косяков)
Как можно от них избавиться?

Учитель

Группа: Пользователи
Сообщений: 386
Регистрация: 22/02/2006
Из: Петрозаводск
Пользователь №: 23 834

поменяй mm на дюймы, должно помочь
self Collision накрути.
depth/offset по 4-ке поставь.

Сообщение отредактировал a3dline — 21/07/2008, 09:45

Леди форума

Группа: Пользователи
Сообщений: 2 572
Регистрация: 26/12/2007
Из: Олимпа
Пользователь №: 60 025

Уже не новичок

Группа: Пользователи
Сообщений: 21
Регистрация: 17/10/2006
Пользователь №: 38 700

Прошу прощения. опечатался, при cm/unit = 10 вертексы уже никуда не пролетают

Всем спасибо, перечитал двадцатый раз хелп, практически добился чего хотел, косяки руками подправил (хорошо хоть не анимация):

Источник

Repetitor3d.ru

3d графика и дизайн

Модификатором cloth: создаем реалистичное покрывало в 3ds max

Если для вашей модели не подходит ни одна готовая модель покрывала, то, уверяю вас, вы вполне можете сделать его самостоятельно — 3d max отлично справляется с симуляцией ткани. Мы уже разбирали, как сделать с помощью модификатора Cloth скатерть и шторы, и даже подушку, а сегодня смоделируем покрывало на кровать, со складками и подворотом.

Создаем основу

Разбираем пример создания покрывала на основе стандартных примитивов. Итак, создаем:

  • Plane с размерами 3000×3000 мм — он будет имитировать пол.
  • Располагаем на нем Box с размерами 1400×2000х400 мм — это будет как бы кровать с матрасом.
  • Над «кроватью» размещаем Box по размерам покрывала. Для нашей кровати хватит 2000×2200х15 мм. Задаем боксу большое количество полигонов, чем больше их будет, тем реалистичнее будет выглядеть смятая ткань.

Теперь поработаем отдельно с покрывалом. Для начала подготовим его для будущего текстурирования. Применим к его верхней и нижней части два отдельных материала, далее вы поймете, зачем мы это делаем. Итак, перегоняем его в Editable Poly, переходим на уровень Polygon и на боковой проекции выделяем нижние полигоны и кромку, выбирая их рамкой.

Накидываем на низ материал, изменив его цвет на белый.

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

Теперь изогнем будущее одеяло, сделав отворот: применяем к нему модификатор Bend.

Выставляем настройки, как на скриншоте.

Чтобы отодвинуть линию сгиба ткани, жмем на плюсик возле Bend, переходим на уровень Gizmo, координатной стрелкой отодвигаем линию сгиба.

Применяем модификатор

Теперь следуем пошаговой инструкции по созданию покрывала:

  1. Выбираем Box-заготовку. Накидываем на нее модификатор Cloth.
  2. Нажимаем кнопку Object Properties в самом верху свитка — тут мы будем задавать, какие из объектов приобретут свойства ткани, а какие станут твердыми телами, на которые эта ткань ляжет.
  3. В левом верхнем углу выбираем Add Objects и добавляем в список Box и Plane.
  4. Теперь выбираем Box001 (кровать), настройки для него на скриншоте. Выбрав Collision Object, мы определили его как твердый объект. То же самое выставляем и для Plane (пола).
  5. Выбираем Box002 (покрывало) и задаем ему параметр Cloth. Внизу в окошке Pressure прописываем значение 5 — этот параметр отвечает раздувание, он придаст одеялу объем.
  6. Жмем «Ок». Листаем свиток настроек в самый низ. Тут важно поставить галочку Self Collision со значением не меньше двух — это не даст полигонам ткани пересекаться с самими собой.
  7. Осталось нажать Simulate и подождать, пока просчитается анимация поведения ткани при падении. Сбросить результаты симуляции можно кнопкой Erase Simulation.

Если какая-то вершина или группа вершин провалились в геометрию, поправьте это, применив модификатор FFD или запустите симуляцию заново, задав твердым объектам побольше полигонов.

Текстурирование

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

Угловатость покрывала снизит модификатор Turbosmooth.

Описание модификатора и принцип его работы мы освоили в полной мере. В качестве заключения скажу, что Cloth я использую очень часто. С помощью него можно сделать простыню, одеяло, плед, небрежно накинутый на спинку стула (для этого назначаем стул Collision объектом), и еще множество тканей, придающих интерьеру живости.

Источник

Cloth. Используй с умом.

Приветствую всех профессионалов и любителей компьютерной графики.

Сегодня мы с Вами поговорим о работе модификатора «Cloth» в не совсем привычной для него роли. Роли укладчика проводов, шнуров и т.п. моделей, а также узнаем, какие секреты этот модификатор может хранить в себе. Но для начала хотелось бы сделать небольшое отступление.

Читайте также:  Вискоза 60 терилен 40 что за ткань

Все мы с Вами неоднократно слышали о таком термине как физическая корректность: Физически корректный шейдер, физически корректная симуляция, физически корректный рендер и т.д. В общем, независимо от сферы деятельности, будь то игровая индустрия или сфера дизайна все кругом стремятся к этой самой физической корректности. Ну а что такое физическая корректность применительно к интерьерной визуализации? Бытует распространённое мнение дескать фотореал (физ.корректность) – это слагаемое трёх компонент: качественная геометрия, корректный шейдер + освещение. И с этим трудно не согласиться.

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

Мы сегодня постараемся ликвидировать пробел в этом вопросе и научимся реалистично укладывать разные соединительные элементы в интерьере.

Для работы нам понадобятся:

  • Вилка, розетка, провод в прямолинейном виде (с корректными текстурными координатами);
  • Сцена интерьера:

Рассматривать мы будем самый простой и очевидный вариант применения модификатора Cloth – симуляция через драйвер формы. Напомню, что такой вид симуляции здорово экономит ресурсы компьютера, а следовательно сокращается и время самой симуляции.

1. В центр заготовки для будущего провода «Wire 1» помещаем драйвер формы «Driver 1» с необходимым количеством сегментов. Чем больше, тем лучше, но увлекаться особо не стоит:

2. Используя модификатор «SkinWrap» привязываем основную форму провода к «родителю»:

3. На драйвер формы назначаем модификатор «Cloth» и во вкладке «Object Properties» указываем, что это у нас Cloth- объект, но чтобы он вёл себя не совсем как «тряпка» повышаем его сопротивляемость к изгибанию – параметр «Bend», остальные свойства не трогаем:

Далее, мы вовлечём в процесс такое замечательное свойство модификатора «Cloth» как способность вбирать в себя изменения произведённые вверху стека. Как правило, «Cloth» корректно воспринимает подобные манипуляции (все виды трансформации, модификаторы «Push», «Relax», «FFD», «Skin Wrap» и т.д.)не связанные с изменением количественного состава геометрии.

1. Вверх стека нашего драйвера «Driver 1» назначаем модификатор «Edit Poly». С его помощью мы размещаем оба конца драйвера (крайние его вершины) в тех местах, где они и должны быть в итоговом варианте – это входы в вилку и лампу, а остальное полотно драйвера посредством инструмента «Scale» сплющиваем до такого состояния, чтобы его было легко контролировать. В итоге у нас получится что-то не совсем на первый взгляд вразумительное, но лиха беда начало:

Далее, необходимо перенести эти изменения в сам «Cloth». Обязательно нужно следить за тем, что бы при захвате состояния в модификаторе была активна кнопка «Show End Result». Без неё захват состояния (как говорится) не состоится:

Алгоритм данной возможности построен таким образом, что при захвате состояния в модификатор, оно (состояние) плюсуется к тому, которое было произведено вверху стека. Поэтому объект деформируется дважды и при серьёзных преобразованиях (как в нашем случае) может значительно менять своё положение. Это легко решается отключением верхней части стека (до «Cloth»), у нас это всего один модификатор «Edit Poly»:

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

3. Переходим на уровень подобъектов «Group» и выделив рамкой соответствующие вершины создаём группу, даём ей название и фиксируем вершинки командой «Drag»:

4. Теперь необходимо добавить в симуляцию Collision – объекты. Это действие лучше осуществлять не через вкладку «ObjectProperties» , а последовательным выбором каждого объекта через кнопку «AddObjects», расположенную в самом низу панел «Object».Ну и соответственно так же как мы делали это для Cloth– объекта, указываем, что все эти элементы являются Collision – объектами с установленными параметрами взаимодействия.
Здесь стоит упомянуть о единицах измерения сцены, которые в случае с «Cloth» являются критичными. В данной сцене используются сантиметры, отсюда и такие значения в полях «Depth» и «Offset». Если Вы пользуетесь миллиметрами, скорее всего эти поля будут заполнены целыми числами.

Теперь всё готово к запуску симуляции

5. Жмём кнопку «Simulat Local» и наблюдаем за тем, как нечто бесформенное извиваясь змейкой начинает отдалённо напоминать самый обычный провод. Постепенно это сходство становится всё более выразительным и общая форма обретает более естественный вид.

Стоит добавить, что если нам что-то не нравится в текущей «укладке», в любой момент времени мы можем остановить симуляцию и подредактировать дайвер формы через вершину стека. Точно так, как мы это делали до симуляции.

Опять же, редактирование через вершину стека не единственный способ правки симуляции. Многие забывают, что у модификатора «Cloth» помимо уровня подобъектов «Group» имеется ещё два – «Panel» и «Face».

Уровень «Panel» работает в связке с «Garment Maker»,поэтому его мы рассматривать не будем, а вот уровень «Face» в данном случае для нас весьма интересен.

На этом уровне подобъектов мы можем менять положение драйвера перемещая выделенные полигоны в сетке в реальном режиме времени:

Читайте также:  Как правильно кроить ткань гофре

Таким простым, но затейливым способом можно укладывать не только провода различных электроприборов, но и всевозможные шланги, верёвки и даже гофрированные объекты. Но об этом чуть позже. А пока давайте детальней рассмотрим получившийся продукт симуляции. Мы видим, что он получился (в некоторых местах) слегка плоским, хотя в наших ожиданиях он совершенно справедливо должен быть объёмным по всей своей длине т.к. мы его таковым изначально и создавали:

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

Так в чём же дело, что не так с нашей моделью? Забегая немного вперёд стоит сказать, что это вполне предсказуемый результат. После симуляции с использованием драйвера – искажения неизбежны. Есть два варианта решения данной проблемы.Мы сразу рассмотрим основной метод, а второй способ будет проиллюстрирован в качестве альтернативы первому. Итак:

На предыдущем скриншоте Вы наверняка обратили внимание на тот момент, что у исходного провода в стеке присутствует дополнительный модификатор «Cloth». И именно он делает основную «погоду» в решении вопроса ликвидации искажений. А в разбираемом нами примере в стеке исходного объекта (провода) имеется только модификатор «Skin Wrap». Изначально наши действия не были исчерпывающими и сделано это было умышленно с целью последовательной подачи информации. А вот теперь пришло время поведать о тех тайнах, которые «Cloth» способен хранить в себе )).
Одной из ключевых возможностей данного модификатора является способность хранить ту форму, которую он запоминает в момент своего назначения в стек модификаторов. Как это выглядит на практике?
Если в стек изначально прямолинейного объекта (до применения к нему всевозможных трансформаций) назначить модификатор «Cloth», то последний может успешно хранить в себе (за семью замками) эту форму и в нужный для пользователя момент «включать» функцию «Возврат к исходной форме». Нет, конечно же стопроцентного возврата к исходной форме не произойдёт (хотя «Cloth» будет очень стараться сделать это), зато искажённая форма исходного объекта примет естественный вид. Именно для запоминания исходной формы объекта в его стек (ещё до применения каких либо действий) накладывается модификатор «Cloth».

Как же эта функция работает?

За «Возврат к исходной форме» отвечает раздел «Keep Shape», а именно расположенные в этом разделе два параметра: «Bend» и «Stretch»:

Первый отвечает за сохранение углов м/у гранями сетки, а второй за длину рёбер. Т.е. они стараются выпрямить текущую форму объекта, вернуть её в то состояние, которое модификатор запомнил в момент своего назначения. По умолчанию значения у этих параметров выставлены в максимум (100%). И нас это вполне устраивает, поскольку нам нужно вернуть утраченные позиции — объём.

Но прежде чем приступать к отвоёвыванию «былой мощи», необходимо вооружить войска – забрать в «Cloth» текущее состояние драйвера, которое как мы помним посредством «Skin Wrap» передаётся и самому проводу. Т.е. если сейчас отключить верхний модификатор «Skin Wrap» провод просто напросто вернётся в прямолинейное состояние.

Поэтому действуем тем же способом, который мы апробировали в начале урока:

Как мы уже отметили ранее, нас вполне устраивают дефолтные настройки раздела «Keep Shape» ? Дело остаётся за малым – включить эту функцию. Осуществляется это во вкладке «Object»:

Запускаем симуляцию и наслаждаемся результатом:

Мы только-что на практике убедились в том, насколько просто и удобно использовать Cloth – симуляцию, применительно к не самой заурядной задаче. Но это не предел совершенства, при желании мы можем повысить реалистичность имеющегося результата. Для этого достаточно призвать на помощь другой интересный модификатор, имя которому «Loft».

Располагая корректно уложенным драйвером нашего провода, мы может снять с него сплайновую форму (кнопка «Create Shape»), которую в последствии будем использовать как заготовку для функции «Path» в модификаторе «Loft», а сечение можно взять с прямолинейной части провода. В результате, благодаря расширенным возможностям «Loft» мы достигнем дополнительной убедительности в уложенном ранее проводе, а так же получаем абсолютно корректное сечение без искажений.

1. Добавляем в стек Драйвера модификатор «Edit Poly». Делим объект на две части продольным ребром и снимаем с него сплайновую форму. Точно также поступаем и с сечением нашего провода:

Получаем две сплайновые формы: «Сечение» и «Путь».

2. На «Путь» накидываем модификатор «Loft» и в качестве формы указываем наше «Сечение». Как результат, получаем адекватную фору провода, но с «адской» плотностью сетки:

В настройках самого модификатора «Loft» нас в основном будут интересовать только две вкладки «Skin Parameters» и «Deformations».

В первой вкладке разбираемся с плотностью сетки, оптимизируем её (насколько позволяют эти настройки). Во-второй добавляем «перекрученности» проводам. В результате имеем вполне убедительный результат.
У меня получилось так:

Но вернёмся к «Cloth» и рассмотрим ещё пару похожих примеров, в которых герой нашего блога проявляет себя с самой лучшей стороны.

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

Рассмотрим пример с установкой шланга на лейку душа:

Здесь будем использовать гибкий шланг в гофрированный латунной оболочке и наша задача заключается в аккуратном «подключении» его к лейке.

Геометрия такой модели в плане реализации не представляет большой сложности. Из сплайнового примитива «Helix» создаётся спиралевидная форма с одним полным оборотом и полученный элемент тиражируется на необходимую длину шланга. А вот с точки зрения симуляции такой заготовки, есть некоторые нюансы.

Дело в том, что в при изгибании подобного шланга в реальном мире, деформации внешних рёбер спирали не происходит. Однако, если попытаться реализовать такой изгиб в 3d– пространстве, искажений не избежать. И чем острее угол изгиба, тем заметнее они становятся. И именно здесь явных конкурентов у «Cloth» снова нет.
В этом примере мы воспользуемся уже рассмотренным нами способом устранения искажений, но с некоторой оговоркой.
Помимо того, что «Cloth» способен хранить в себе информацию об исходной форме объекта и в нужный момент задействовать механизм возврата к этому состоянию, он это ещё может делать очень деликатно. Т.е. если модификатору указать на конкретные участки сетки, то он будет обрабатывать (восстанавливать форму) только их. И именно эта особенность модификатора нам потребуется в реализации следующего примера.

Читайте также:  Ткани для катеров sunbrella

Возьмём стандартную душевую кабину и заменим имеющийся в ней шланг на другой – собственного производства:

Всё лишнее можно срыть. Механизм подачи воды перенесём правее, чтобы максимально «заострить» угол изгиба у будущего шланга.

В нашем распоряжении, как и в предыдущем примере имеется прямолинейный вариант шланга «Hose» (1,5 м.) и находящийся в одной плоскости с ним драйвер формы «Driver (Hose)».

Алгоритм наших с Вами действий практически ни чем не будет отличаться от предыдущего примера, но в данном случае мы будем изначально действовать полноценно, т.е. сначала добавим исходной модели модификатор «Cloth», а уже затем приступим к остальным манипуляциям:

1. Размещаем в стеке объекта «Hose» модификатор «Cloth»:

2. Поверх «Cloth» размещаем модификатор «Skin Wrap» и привязываем шланг к драйверу.

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

Именно на данном этапе нам и необходимо воспользоваться описанным выше качеством модификатора и именно для этого в первом пункте мы размещали «Cloth» в стек исходной формы шланга:

1. Активировав объект «Hose», через вершину его стека забираем в «Cloth» текущее состояние драйвера «Driver (Hose)». После чего модификатор «Skin Wrap» можно отключить или вовсе удалить, он свою работу сделал.

Тем самым мы передали «хранителю» исходной формы дополнительную информацию о текущем состоянии объекта, а оно благодаря драйверу изменилось.
«Cloth» принял эти изменения к сведению и теперь во всеоружии готов начать симуляцию объекта «Hose». Нам лишь остаётся дать команду модификатору включить функцию «Возврат к исходной форме» и тем самым подтянуть её (форму) в нужных (проблемных) местах. Но как это сделать, ведь если мы вот так просто «в лоб» активируем галку «UseTarget State», то «Cloth» со всей своей цифровой самоотверженностью будет стараться вернуть исходную форму всему объекту. А нам нужно, чтобы свою форму восстановили только внешние рёбра спирали. Так как же поступить? Помните фразу про деликатную обработку?

Всё достаточно просто, нам нужно создать группу вершин относящихся к тем самым внешним рёбрам спирали и указать «Cloth», что восстановить форму нужно только у этой части геометрии.
Итак, как это сделать?

1. Для начала нам необходимо создать выделение нужной части геометрии. Это удобно делать на самом нижнем уровне стека («Edit Poly»), поскольку объект имеет прямолинейную форму и любые манипуляции с выделением подобъектов осуществляются очень легко и доступно (хотя в конкретном случае со спиралью это непринципиально):

2. Переходим в модификатор «Cloth» на уровне подобъектов «Group» принимаем созданное на нижнем уровне стека выделение вершин, создаём группу и даём ей логическое название:

3. Да, и не забываем фиксировать концы шланга:

4. Теперь, для группы «Keep Shape» нужно назначить восстановление формы. Делается это во вкладке «Group Parameters»:

Это и есть та самая деликатная настройка поведения Cloth– объекта. Теперь при запуске симуляции, форма нашего шланга слегка «подтянется» и примет более естественный вид.

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

Ну и в довесок ко всему вышесказанному замолвим словечко о связке «Path Deform» + «Cloth».

Суть такой связки заключается в доработке «Cloth_ом» уже готовой формы (полученной при помощи модификатора «Path Deform»).

Для примера из базы сайта 3ddd.ru можно взять вот такой пылесос и заменить ему шланг на более презентабельный (без претензий к автору модели):

За основу была взята обычная прямолинейная гофра, отмоделенная при помощи базовых инструментов + сплайновая форма выполняющая роль «пути» для гофрированной заготовки

Как и в предыдущем примере до применения к этому объекту каких-либо трансформаций в его стек был добавлен модификатор «Cloth» – «хранитель формы», а уже потом «Path Deform»:

Далее, путём нехитрых манипуляций «натянули» гофру на сплайн и получили вот такой шланг. Причём, если к нему внимательно присмотреться, то в глаза бросаются серьёзные искажения формы.

А инструментами способными «победить» подобные артефакты «Path Deform» не располагает, поэтому был применён этот же алгоритм «деликатного» восстановления состояния. В результате у нас получилась вполне корректная модель с правильными изгибами, близкими к реальным.

Сегодня мы с Вами познакомились с весьма привлекательной методикой укладки проводов и не только их. Использовать ли её в своём рабочем процессе каждый решит сам. Но преимущества данного подхода на мой субъективный взгляд налицо.

При владении даже начальными навыками работы с Cloth– симуляцией, укладка такого рода объектов становится простой, быстрой и наглядной. Я бы даже сказал поведение моделей очень близко к физически корректному, а это немаловажный фактор в достижении фотореализма в своих проектах, о чём мы и говорили с Вами в начале урока.
На этом моё повествование можно считать законченным.

Вам всего доброго, хорошего настроения и здоровья)))

Источник