Динамика упругого тела
Имитация динамики упругого тела в Maya осуществляется за счет создания вокруг объекта системы частиц. Когда эти частицы попадают в зону действия поля или сталкиваются с другими объектами, они перемещают связанную с ними поверхность. Это идеально подходит для моделирования гибких материалов органического происхождения. Имитация динамики упругого тела также применяется для создания таких объектов, как желатин или резина.
По умолчанию упругие тела бесконечно растягиваются или сжимаются практически от любого воздействия. Для получения более реалистичного поведения необходимо создать мишени или пружины. Мишени (goals) предоставляют гибкому объекту форму, которую он стремится принять, примерно как резиновая игрушка, которая после сжатия возвращается в исходное состояние. В отличие от мишеней пружины (springs) позволяют движению одной частицы оказывать влияние на движение других. В этой главе мы познакомим вас со вторым подходом.
Создание упругого тела
Любой объект, созданный на основе NURBS-кривых или сетки полигонов, может быть преобразован в упругое тело. Это осуществляется путем размещения частиц в местах расположения управляющих точек (для NURBS-объектов) или вершин (для полигональных объектов) и управления их положением в соответствии с движением частиц. В окне диалога Soft Options (Параметры упругости), вызываемом щелчком на квадратике, расположенном справа от команды Create Soft Body (Создать упругое тело) меню Soft/Rigid Bodies (Упругие/Твердые тела), указывается, хотите ли вы просто превратить объект в упругое тело или предпочитаете, чтобы оригинал объекта остался в сцене в качестве мишени. Обычно используется второй метод. В результате упругое тело пытается принять форму исходного объекта.
Так как упругие тела основаны на системах частиц, для имитации динамики необходимо настроить столкновения этих частиц с определенным объектом сцены. Для каждого объекта, который должен принимать участие в столкновениях, необходимо проделать следующую операцию: выделить одновременно этот объект и систему частиц и выбрать в меню Particles (Частицы) команду Make Collide (Заставить сталкиваться).
Добавление пружин
Когда нужно создать более упругий объект, чем развевающееся на ветру знамя, к нему можно добавить параметр Springs (Пружины), обеспечив своего рода поддерживающую структуру. В результате между всеми частицами появятся виртуальные пружинки. В зависимости от требуемой степени упругости объекта можно увеличить значение параметра Wire Walk Length (Глубина связи). Если этот параметр равен единице, для каждой частицы связь устанавливается с ближайшими соседями со всех сторон, если двум — связь распространяется на две частицы. Также можно увеличить значение параметра Stiffness (Жесткость), чтобы заставить пружины быстрее возвращаться в исходное состояние. Параметр Damping (Торможение) определяет скорость, с которой они приходят в состояние покоя.
Упражнение. Резиновые гантели
Создадим упругое тело из гантелей, заставив их отскакивать от предметов окружающей обстановки. Загрузите файл ch13tut03start.mb.
Это можно сделать в окне диалога Dynamic Relationship (Динамические связи).
Рис. 13.13. Окно диалога Dynamic Relationships
ВНИМАНИЕ
Убедитесь, что в данный момент для параметра Playback Speed (Скорость воспроизведения) выбран вариант Play every frame (Воспроизводить каждый кадр). В противном случае может создаться впечатление, что в процессе своего движения объект внезапно взрывается. Помните, что в процессе имитации динамики должен быть выбран именно этот вариант. И не забывайте устанавливать ползунок таймера анимации на отметку нулевого кадра после каждого воспроизведения.
Щелкните на квадратике, расположенном справа от команды Create Springs (Создать пружины) меню Soft/Rigid Bodies (Упругие/Твердые тела). Выберите в меню Edit (Правка) появившегося окна диалога команду Reset Settings (Сбросить параметры) и нажмите кнопку Create (Создать). Гантель окажется окруженной зеленым коконом. Нажмите комбинацию клавиш Ctrl+h, чтобы скрыть пружины и не замедлять работу программы.
Самостоятельно исследуйте, какое влияние на динамику движения тел оказывают такие параметры, как масса, начальный импульс, момент инерции объекта и трение соприкасающихся поверхностей. Попытайтесь создать анимацию, имитирующую игру в пинбол, в которой на пути катящихся но наклонной плоскости шариков возникают различные препятствия. Исследуйте приемы работы с системами частиц, которые используются для имитации таких эффектов, как фейерверк или стекающая жидкость. Изменяйте все возможные параметры частиц и наблюдайте за производимым эффектом, чтобы понять, как они работают.
Создайте NURBS-плоскость и с помощью имитации динамики упругого тела заставьте ее полоскаться, как знамя на ветру.
Рис. 13.14. Скрытые пружины можно выделить в окне диалога Outliner и затем настроить их параметры таким образом, чтобы движение гантели стало более приближенным к реальности