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

Чтобы точно эмулировать реальный кусочек одежды, все точки одежды должны иметь заданную массу, которая определяет их движение в зависимости от прикладываемой силы. Точки, имеющую большую массу, требуют большей силы для сообщения ускорения, в то время как точки с меньшей массой получают большее ускорение при действии внешней силы. Это закон движения, гласящий, что сила, необходимая для перемещения объекта равна произведению массы тела на сообщаемое ему ускорение ^=11^).

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

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

Расстояния, которые пытаются сохранить пружины, являются начальными расстояниями между точками в самом начале имитации. Каждая пружина имеет собственный способ "возвращения" к начальному положению, основанный на значениях жесткости и амортизации пружины. Жесткость позволяет определить, сколько силы используется при попытке вернуть пружину в начальное состояние, в то время как амортизация уменьшает величину создаваемой пружиной силы, позволяя сделать движения точек гладкими при воздействии на них сил пружины.

Нас интересует взаимодействие точек одежды, массы и пружины; при моделировании в основном вся работа происходит с ними. Давайте рассмотрим более подробно, как имитировать движение одежды, используя эти точки и пружины.

Имитирование одежды и анимация мешей мягких тел || Оглавление || Определение точек одежды и пружин