3ds max не работает симуляция ткани
Приветствую! Уже второй день подряд мучаюсь с модификатором CLOTH. Необходимо создать анимацию в 2400 кадров. Все настроил - все супер получается, но просчет анимации приостанавливается на каком-либо кадре. Причем кадр всегда разный. Сналача оно остановилось на 380м кадре, потом на 426, потом на 170м вроде. Сейчас на 725. Продолжить расчет нет возможности. Сдавать анимаху послезавтра. Что делать? Как сделать так чтобы расчет не прерывался.
Очень жду помощи от знатоков.
Также, интересно узнать другие способы создания анимации тканей в 3DS Max.
3DKing
Знаток
mikinik
Знаток
maiden666
Мастер
ну вроде это изюминка Макса - динамические симуляции и партиклы, всё на одном ядре, хочется многопоточности - добро пожаловать в АЙС и Гудини
Анимация встаёт - ну очевидно кэш забивается, попробовать запечь её в ключи?
3DKing
Знаток
так оно пока не посчитает - в кэш не запечь. Или ты имеешь в виду то что посчиталось запечь, а потом продолжить с этого кадра?
3DKing
Знаток
Вчера начитался про косяки CLOTH`а. Есть парпметр cm/unit и он у меня стоял 0,1 а должен был 1. Потом возникали OverStrached - поставил в свойствах ткани 100 - чтобы практически не было растяжений. Опят поставил на калькуляцию и вот что получилось:
Вложения
mikinik
Знаток
100 мало очень, ставь 1000-2000. б-курв обратно на 0 поставь. если растяжение не нужно совсем, ставь высокие значения еще в ув компрес и шир. а вообще опиши сцену, не понятно чего добиться хочешь. отключи еще показывать и использовать швы, вроде ж не нужны они тебе, судя по скрину?
mikinik
Знаток
3DKing
Знаток
100 мало очень, ставь 1000-2000. б-курв обратно на 0 поставь. если растяжение не нужно совсем, ставь высокие значения еще в ув компрес и шир. а вообще опиши сцену, не понятно чего добиться хочешь. отключи еще показывать и использовать швы, вроде ж не нужны они тебе, судя по скрину?
Спасибо за рекомендации и ответ!
По сцене, смысл такой: необходимо показат что некая ткань, по свойствам приближенная к шелку, медленно и плавно падает, но необходимо так, чтобы она падала постепенно и очень плавно. Я сделал не большую гравитацию и слабый слабый ветер снизу вверх. Также добавл три куба которые проанимировал сверху вниз. Они тянут ткань вниз медленно. Это сделал для того чтобы ткань не заворачивалась при падении (т.е. не нужно чтобы было супер реально). Собственно это и все.
Вся эта канитель на протяжении 2400 кадров. Сейчас идет просчет и вроде бы все норм. Дождусь окончания. Если вдруг будет лаг - поставлю ваши параметры.
Помогите, пожалуйста, разобраться! Не работает модификатор Cloth или работает некорректно! Простейшая сценка из плейна, куба и плейна (ткань). Ткань либо неправильно деформируется и не падает на куб или вообще не двигается. Ед. изм. в сцене милиметры, cm/unit в модификаторе 2,54 (когда меняю вылетает макс). ткани назначил коттон, силк и др. Кубу и плену (земля) "колизион объект", "офсет" поднимал до 5. Ткань немного наклонил( как советовали тут) и сделал сетку поплотнее. "Сабсемпл" - 1.Также несколько раз вылазила ошибка "объект имеет изолированные вершины". Так и не получилось их удалить и увидеть. Как это делаете вы? Помогите разобраться. Что это вообще за вершины? Я пробовал нажимать xVies - isoleted vertises, высвечивалась снизу зеленая надпись " изолейтед вертисес=0" (примерно так), во вкладке edit vertise нажимал remove isoleted vertise, но проблема осталась.
cm/unit 1 хватит. К боксу и змле проверьте еще раз применена точно колизия, у меня в разных версиях всегда включалась с двух раз. То есть после нажатия ок, приходилось по новой заходить в настройки и выбирать колизион. Еще проверьте размеры в сцене, что бы скатерть не 20 мм была)
cm/unit 1 хватит. К боксу и змле проверьте еще раз применена точно колизия, у меня в разных версиях всегда включалась с двух раз. То есть после нажатия ок, приходилось по новой заходить в настройки и выбирать колизион. Еще проверьте размеры в сцене, что бы скатерть не 20 мм была)
Спасибо за комментарий! Не понял на счет 20 мм. cm/unit пробовал сделать и 1 и 0,1 - макс вылетает
Стоит поменять и системные с дюймов на мм., тогда cm/unit будет 0,1.
Также несколько раз вылазила ошибка "объект имеет изолированные вершины". Так и не получилось их удалить и увидеть. Как это делаете вы?
И велд с маленьким значением всех вершин не будет лишним.
Спасибо за помощь! Не понял на счет 20 мм. cm/unit пробовал сделать и 1 и 0,1 - макс вылетает.
Делаю учебное упражнение, скатерть должна осесть на поверхность, края должны обвиснуть, но этого не происходит. Очертания круглого стола есть, но поверхность падает сквозь стол.
Андрей Бельский
Знаток
К М (Polarman)
Знаток
В настройках object properties столик в качестве объекта коллизии назначили?
(ну и, естественно, скатерку в качестве cloth - там же, но наверху свитка)
Вложения
Новичок Руслан
Пользователь сайта
В настройках object properties столик в качестве объекта коллизии назначили?
(ну и, естественно, скатерку в качестве cloth - там же, но наверху свитка)
Новичок Руслан
Пользователь сайта
Бабуин
Мастер
Терен Тамабрахама
Мастер
ахтунг
Терен Тамабрахама
Мастер
Лёля поля
Знаток
Что бы ткань не пролетала сквозь стол , можно попробовать следующее :
1-- Делать в единицах измерения сцены-сантиметры. При единицах измерения сцены сантиметр – ткань меньше пролетает сквозь объект. Потому что , в модификаторе Cloth есть функции , которые делают расчёт в сантиметрах . Но не всегда удобно делать единицы измерения сцены сантиметры . В этом случае стоит обратить внимание на функцию + Simulation Parameters > Cm \ unit . И что бы функции , которые делают расчёт в сантиметрах , корректно работала - надо в Cm \ unit отрегулировать этот момент . Если единицы измерения сцены сантиметры , то значение Cm \ unit надо ставить - 1. Если единицы измерения сцены миллиметры , то значение Cm \ unit надо ставить – 0.1 .
2 -- Рекомендуется в объекте , через который пролетает ткань , увеличить значение + Object > Object Properties >Collision Object > Collision Properties> Offset . Но при увеличении значения Offset - ткань на объект ложится не плотно. То есть , между тканью и объектом получается расстояние. И ещё стоит помнить что , если значение Offset слишком велико- то это приводит к пролёту ткани сквозь объект .
3 -- Обратить внимание на функцию + Simulation Parameters > Subsample . Функция Subsample - увеличивает точность расчёта . Чем больше значение , тем точней расчёт симумяции . Но стоит помнить , что функция Subsample при больших значениях может сильно увеличить время расчёта симуляции .
4 -- Перед падениям сделать ткань под наклоном относительно стола . Глупость , но иногда помогает .
5 -- Увеличить плотность сетки ткани , и увеличить плотность сетки объекта на которой ткань падает.
6-- Попробовать разные способы симуляции : + Object > Simulation > Simulate Local + Object > Simulation > Simulate Local ( damped ) + Object > Simulation > Simulate
Pavel Tompson
Активный участник
Что бы ткань не пролетала сквозь стол , можно попробовать следующее :
1-- Делать в единицах измерения сцены-сантиметры. При единицах измерения сцены сантиметр – ткань меньше пролетает сквозь объект. Потому что , в модификаторе Cloth есть функции , которые делают расчёт в сантиметрах . Но не всегда удобно делать единицы измерения сцены сантиметры . В этом случае стоит обратить внимание на функцию + Simulation Parameters > Cm \ unit . И что бы функции , которые делают расчёт в сантиметрах , корректно работала - надо в Cm \ unit отрегулировать этот момент . Если единицы измерения сцены сантиметры , то значение Cm \ unit надо ставить - 1. Если единицы измерения сцены миллиметры , то значение Cm \ unit надо ставить – 0.1 .
2 -- Рекомендуется в объекте , через который пролетает ткань , увеличить значение + Object > Object Properties >Collision Object > Collision Properties> Offset . Но при увеличении значения Offset - ткань на объект ложится не плотно. То есть , между тканью и объектом получается расстояние. И ещё стоит помнить что , если значение Offset слишком велико- то это приводит к пролёту ткани сквозь объект .
3 -- Обратить внимание на функцию + Simulation Parameters > Subsample . Функция Subsample - увеличивает точность расчёта . Чем больше значение , тем точней расчёт симумяции . Но стоит помнить , что функция Subsample при больших значениях может сильно увеличить время расчёта симуляции .
4 -- Перед падениям сделать ткань под наклоном относительно стола . Глупость , но иногда помогает .
5 -- Увеличить плотность сетки ткани , и увеличить плотность сетки объекта на которой ткань падает.
6-- Попробовать разные способы симуляции : + Object > Simulation > Simulate Local + Object > Simulation > Simulate Local ( damped ) + Object > Simulation > Simulate
На счет первого пункта, по умолчанию в максе 2018 параметр cm/unit стоит 2,54 и если его менять, вылетает ошибка
Ura2301
Просмотр профиля
Делаю симуляцию ткани с помощью модификатора Cloth.
Симуляция проходит нормально до какого-то момента.
А потом останавливается в каком то кадре.
Возможно в этом месте очень сложная симуляция. Вертексов много. Может быть памяти не хватает. Я точно не знаю.
Подскажите, как увеличить возможности сложной симуляции ткани. Какой параметр в максе за это отвечает?
cad
Просмотр профиля
Ura2301
Просмотр профиля
В диспетчере всё нормально.
Я предполагаю, что МАХу чего-то не хватает для сложной симуляции.
Например, скатерть на столе. Пока она падает - всё нормально, но когда начинает касаться пола - симуляция замедляется (но это нормально) а если ткань сложная то симуляция останавливается на этом кадре.
Иногда этому предшествует резкий сдвиг какой-либо вершины в сторону. Видимо появляется какая-то ошибка. А в следующем кадре ошибка симуляции становится настолько весомой, что симуляция останавливается.
Если я симулирую эту же ткань с меньшим количеством вершин, то всё проходит нормально.
С чём это может быть связано?
Tenor
Просмотр профиля
у меня такое случалось например когда в клозе задаю тип ткани шелк а поликов для такой эластичной ткани маловато, поэтому и происходила остановка.
попробуй увеличить количество поликов (конечно в разумных пределах)
(это одна из возможных причин)
a-black
Просмотр профиля
бывает такое, когда много взаимопересечений. нужно подбирать u-bend и уменьшать скорей всего damping. ну и увеличение поликов - хороший совет
Ura2301
Просмотр профиля
бывает такое, когда много взаимопересечений. нужно подбирать u-bend и уменьшать скорей всего damping. ну и увеличение поликов - хороший совет
Да, взаимопересечений много.
Я то думал, что поликов слишком много и я старался их количество уменьшить.
Попробую теперь всё наоборот.
И подскажите, могут ли на вылет симуляции влиять параметры Step и Subsample из панели Simulation Parameters?
Я пробовал экспериментировать, но так и не разобрался.
tamagochy
Просмотр профиля
Ura2301
Просмотр профиля
Всё перепробовал.
Результат тот же самый.
Как только появляется много точек соприкосновения ткани и объекта - симуляция вываливается.
Увеличил количество вершин - не помогает. Только медленней симуляция. Ну это понятно.
Subsample = 5
Step = 0.01
Может этого мало?
Кто как эти параметры выставляет для сложной симуляции?
Jahman
Просмотр профиля
gibson1980
Просмотр профиля
Да прибудет с вами 3D сила
RGhost
Просмотр профиля
Помню что в 2010 у меня легкая ткань переставала считаться, или "улетала" в никуда - та же сцена, с теми же настройками, в 2011 считалась/ется без проблем. Были еще проблемы с юнитами сцены, когда сцена была в cm cloth-2010 косячил.
tamagochy
Просмотр профиля
вообще после многочисленных тестов я понял что ткань лучше всего считается когда систем юнитс дюймы.
Учитывая объем возможностей 3ds Max, было бы странно не увидеть инструмент для создания ткани. Но учитывая, насколько сложная у нее бывает форма, создавать ткань руками слишком трудоемко. Для помощи в этой задаче существует модификатор Cloth, который создает ткань за вас.
1. Подготовка объектов к симуляции
Для начала необходимо создать минимум 2 объекта: ткань и поверхность, на которой ткань будет лежать.
Ткань чаще всего создается из плоскости. Это удобно тем, что симуляции будет проходить значительно быстрее, чем с закрытой геометрией. Также важно, чтобы у ткани было много полигонов. В примере для ткани используется 10000 полигонов. Располагаться будущая ткань должна обязательно над поверхностью, куда она ляжет. Это важно, т.к. во время симуляции она будет опускаться вниз по своей оси.
Второй объект может быть практически любым. Но очень важно, чтобы он имел как можно меньше острых углов, а на всех краях присутствовали фаски. Также, в некоторых случаях, ткань может понадобиться предварительно анимировать, опустив ниже поверхности стола. Пример создания анимации можно увидеть в статье «Анимация и Motion blur в 3ds Max»
2. Использование модификатора
Теперь нужно определить объекты симуляции перейти в Modify – Modifier List – Cloth – Object Properties.
В открывшемся окне необходимо выбрать все объекты, которые будут участвовать в симуляции. В данном случае нужно добавить стол. Для этого нажмите Add Objects. В открывшемся окне выберите необходимый предмет и нажмите Add.
После добавления объектов нужно их настроить. Выберите объект ткани в окне Object Properties и установите флажок Cloth. Эта функция определит, какой объект считать тканью. После этого выберите объект, куда ткань будет накладываться (Table) и включите флажок Collision Object и измените параметр Offset на значение от 5 до 10. Флажок Collision Object определяет объект как твердое препятствие.
Offset создает небольшой отступ коллизии от края. Это улучшает результат наложения ткани.
Как только всем объектам будет назначен тип, нажмите OK. После этого окно Object Properties закроется. Чтобы начать симуляцию нажмите Simulate.
Результат симуляции можно выбрать, сдвигая ползунок кадров. Найдя подходящее положение, конвертируйте плоскость в Editable Poly. При желании можно воспользоваться модификаторами Shell (для создания объема), Turbosmooth (для уменьшения угловатости ткани), а также оптимизировать количество полигонов. Инструменты для этого можно найти в статье «5 модификаторов, меняющие количество полигонов 3ds Max». (ссылка на статью)
Также можно создать материал с цветовой текстурой в виде карты и наложить на ткань. Описание полезных карт можно найти в статье «10 самых нужных карт 3ds Max»
Модификатор Cloth очень объемный инструмент. Его можно использовать для самых разных типов тканей, задавать множество свойств. Более того, это не единственный модификатор – симулятор в 3ds Max. Симулировать можно даже плавление объектов. Безусловно, есть программы, которые справятся с похожими задачами лучше. Но не всегда есть возможность к ним обратиться. В то время как 3ds Max позволяет создавать все вещи в одном месте.
Читайте также: