Симуляция ткани

Симуляция ткани — весьма сложный и ресурсозатратный процесс. Таковым он является потому, что объект-ткань должен иметь большое количество полигонов. Зато ткань помогает достичь большой живости и реалистичности.

Создание ткани

Для симуляции ткани нам понадобится плоскость и объект, на который наша ткань будет падать. Расположим плоскость над объектом.

Плоскость, расположенная над кубом

Теперь включим для плоскости поведение Cloth на вкладке настроек физики.

Для плоскости назначаем физику Cloth

Ткань, как и мягкое тело, взаимодействует с объектами с поведением Collision. Назначим кубу поведение Collision

Выставляем Collision для куба

Запускаем анимацию

Если ты создал Plane, то у тебя выйдет какая-то странная картинка с вот такой вот кривой поверхностью.

Симуляция ткани (Plane)

Если же ты создавал Grid, то картина будет выглядеть получше.

Симуляция ткани (Grid)

Глядя на два этих примера, ты, наверное, уже догадался, что качество симуляции зависит от количества полигонов, на которые подразделена наша плоскость. В случае с Plane симуляция сработала не совсем корректно, потому что Blender не смог модифицировать один лишь полигон в настоящую ткань.

Чем больше полигонов — тем правдоподобнее будет симуляция и тем медленнее она будет просчитываться.

Симуляция ткани (количество полигонов на плоскости = 1296)

Настройки ткани

Ткань — это подвид Soft Body. Так что основные настройки похожи. Рассмотрим их подробнее

Включение симуляции ткани
  • Имеются готовые преднастройки, которые можно выбрать в списке PRESETS. Они меняют параметры материала.
  • QUALITY – качество. Определяет количество шагов вычислений симуляции за кадр анимации. Чем выше, тем лучше качество, но медленнее.
  • MASS – масса материала.
  • STRUCTURAL – упругость структуры материала. Его способность сохранять форму.
  • BENDING – коэффициент складок. Чем больше значение, тем меньше маленьких складок.
  • SPRING – упругость ткани. AIR – сопротивление воздуха.
  • VELOCITY – скорость ткани.
  • Галочка PINNING позволяет закрепить группу вершин, установленную в окошке ниже. На неё не будет распространяться симуляция. Это удобно при создании флага или плаща.

Столкновение ткани

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

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

Настройки столкновений

Проверь, что стоит галочка напротив Cloth Collision. Это значит, что столкновения ткани включены

Настройка столкновения ткани
  • QUALITY – основное свойство симуляции. Чем выше, тем лучше симуляция и тем она сложнее вычисляется.
  • DISTANCE – как только другой объект приблизится к ткани на это расстояние (в единицах Блендера), симуляция начнёт толкать ткань.
  • REPEL – сила отталкивания ткани, когда она близка к столкновению.
  • REPEL DISTANCE – максимальная дистанция для применения отталкивающей силы. Должна быть больше, чем минимальная.
  • FRICTION – сила трения, которая действует на ткань, когда она скользит по другому мешу. У шёлка, например, она меньше, чем у резины.

Столкновения ткани с собой

Настоящая ткань никогда не проходит сквозь саму себя и взаимодействует со своей поверхностью. Для того, чтобы осуществить это в Blender, в настройке Cloth Collision поставь галочку напротив Self Collision. Как только ты включишь внутренние коллизии, откроются дополнительные соответствующие настройки.

Настройки внутренней коллизии
  • QUALITY – качество. Работает по абсолютно такому же принципу, как и при общих коллизиях.
  • DISTANCE – дистанция столкновений. Значение 0.75 стоит по умолчанию и работает почти во всех случаях. Для быстрых объектов можно установить значение 1, значение 0.5 весьма рискованно, так как может стать причиной полигонных артефактов в поведении ткани. Однако оно работает быстрее.

Работа с тканью

Посмотри ролик и попробуй создать и «уронить» ткань на один из своих смоделированных ранее предметов.