Первые шаги в Maya. Урок 21. Динамика мягких тел

Светлана Шляхтина

Теоретические аспекты

Примеры сцен с мягкими телами

Волнующаяся водная гладь

Падающая на поверхность капля

Падающий по лестнице пластилиновый куб

Раскачивающийся на нити воздушный шарик

Развевающийся на ветру флаг

Примеры сцен с мягкими телами

Волнующаяся водная гладь

Воспользуемся возможностью создания мягких тел для получения имитации волнующейся водной поверхности. Смоделируйте NURBS-плоскость, имеющую по 50 разбиений по обеим осям (рис. 38). Выделите плоскость и превратите ее в мягкое тело, воспользовавшись командой Soft/RigidBodies => CreateSoftBody и установив при создании вариант Duplicate, MakeCopySoft, а также уменьшив значение параметра Weight до 0,3 (рис. 39). Выделите связанную с мягким телом систему частиц. Назначьте частицам турбулентную силу, щелкнув на квадратике у команды Fields => Turbulence (Поля => Турбулентность) и установив значения параметров Magnitude (Степень воздействия) и Attenuation (Ослабление) равными 40 и 0 (рис. 40). Проиграйте анимацию — гладкая поверхность покроется непрерывно бегущей по ней рябью, что создаст иллюзию волнующейся водной глади (рис. 41 и 42). При желании измените интенсивность ряби, подкорректировав для турбулентной силы значение параметра Magnitude, а для системы частиц — параметра Goal Weight.

 

Рис. 38. Исходный вид сцены

Рис. 38. Исходный вид сцены

 

Рис. 39. Установка параметров создания мягкого тела

Рис. 39. Установка параметров создания мягкого тела

 

Рис. 40. Настройка параметров турбулентности

Рис. 40. Настройка параметров турбулентности

 

Рис. 41. Вид преобразованной плоскости в одном из кадров анимации

Рис. 41. Вид преобразованной плоскости в одном из кадров анимации

 

Рис. 42. Волнующаяся водная гладь

Рис. 42. Волнующаяся водная гладь

В начало В начало

Падающая на поверхность капля

Создадим анимацию падающей капли. Начнем с процесса «опадения» капли, в ходе которого вытянутая форма капли постепенно изменяется на округлую (это происходит в момент достижения каплей некоторой поверхности). После изменения формы капля не замирает, а некоторое время еще подрагивает и немного деформируется, что характерно как раз для мягких тел. Создайте три шара и расположите их в окне Front строго друг под другом (рис. 43). Второй шар представляет собой основу для капли, а первый и третий шары будут использоваться как мишени. Выделите второй шар и сформируйте для него пространственную решетку 4x4x4, щелкнув на квадратике у команды Deform => CreateLattice (Деформация => Создать решетку) и отрегулировав параметры решетки (рис. 44). Деформируйте инструментами MoveTool и ScaleTool пространственную решетку так, чтобы сфера превратилась в каплю (рис. 45). Удалите историю создания капли, применив команду Edit => DeletebyType => History (Редактировать => Удалить по типам => История).

 

Рис. 43. Исходная сцена

Рис. 43. Исходная сцена

 

Рис. 44. Настройка параметров решетки

Рис. 44. Настройка параметров решетки

 

Рис. 45. Деформирование решетки

Рис. 45. Деформирование решетки

 

Выделите каплю и превратите ее в мягкое тело, применив команду Soft/RigidBodies => CreateSoftBody и выбрав из встроенного меню окна SoftOptions команду Reset (последнее обеспечит восстановление настроек по умолчанию). Это приведет к появлению в сцене связанной с каплей системы частиц. Выделите систему частиц и, при нажатой клавише Shift, первый шар и назначьте его в качестве первой мишени, применив команду Particles => Goal (Частицы => Мишень). Повторите данную операцию для третьего шара, который станет в итоге второй мишенью. Создайте новый эмиттер, воспользовавшись командой Paritcles => CreateEmitter (Частицы => Создать эмиттер). В окне Outliner выделите связанную с эмиттером систему частиц (рис. 46) и удалите ее, нажав клавишу Del. Свяжите мягкое тело с новым эмиттером — выделите систему частиц и (при нажатой клавише Ctrl) эмиттер и примените команду Particle => UseSelectedEmitter (Частицы => Использовать выделенный эмиттер).

 

Рис. 46. Выделение связанной с эмиттером системы частиц

Рис. 46. Выделение связанной с эмиттером системы частиц

 

Выделите систему частиц, в редакторе атрибутов откройте вкладку pSphere2ParticleShape и в свитке Soft Body Attributes отключите флажок Enforce Count From History (рис. 47). В свитке Emission Attributes введите в поле MaxCount то же самое значение, что установлено в поле Count (свиток General Control Attributes), а в свитке LifespanAttributes измените режим LifespanMode на Constant и обнулите параметр Lifespan (рис. 48). Запомните начальное состояние параметров (соответствующих исходному состоянию капли), воспользовавшись командой Solver => InitialState => SetForSelected (Решатели => Начальное состояние => Установить для выделенного) — рис. 49. Измените значение параметра Lifespan с 0 на 1000 (рис. 50). Скройте мишени (команда Display => Hide => HideSelection), установите в анимации 100 кадров и проиграйте ее — капля опадет, превратившись в шар, и некоторое время продолжит еще подрагивать и менять свою форму.

 

Рис. 47. Корректировка параметров свитка Soft Body Attributes

Рис. 47. Корректировка параметров свитка Soft Body Attributes

 

Рис. 48. Первая корректировка глобальных параметров частиц

Рис. 48. Первая корректировка глобальных параметров частиц

 

Рис. 49. Выбор команды SetForSelected

Рис. 49. Выбор команды SetForSelected

 

Рис. 50. Вторая корректировка глобальных параметров частиц

Рис. 50. Вторая корректировка глобальных параметров частиц

 

Добавим теперь к полученной анимации процесс падения капли — в простейшем случае для этого достаточно сформировать всего два ключевых кадра: первый с положением капли в начальный момент падения, а второй — в конечный момент. Конечно, для естественности надо было бы еще смоделировать процесс деформирования капли при падении, но для экономии времени мы этого делать не будем и ограничимся лишь самим падением. Поскольку падение капли предшествует процессу ее «опадения», придется сдвинуть второй из процессов по временной шкале — выделите систему частиц и в окне каналов измените значение параметра Start Frame (Начальный кадр) с 1 на 51 (рис. 51). После этого создайте в 1-м и 50-м кадрах ключи для начального и конечного положений капли при падении. При этом не забывайте, что придется создавать ключи для положения не только самой капли, но и ее мишеней. Проиграйте анимацию и убедитесь, что теперь капля ведет себя именно так, как было задумано (рис. 52).

 

Рис. 51. Изменение номера начального кадра

Рис. 51. Изменение номера начального кадра

 

Рис. 52. Падающая капля

Рис. 52. Падающая капля

В начало В начало

Падающий по лестнице пластилиновый куб

Попробуем создать падающий на деформированную в виде лестницы плоскость пластилиновый куб. Создайте полигональные плоскость и куб, причем куб должен иметь по три разбиения по всем трем осям, а плоскость — одну область по оси X и десять по оси Z (рис. 53). Выделите плоскость, переключитесь в режим работы с ребрами (клавиша F10) и преобразуйте плоскость в лестницу в соответствии с рис. 54 — вначале у плоскости были последовательно перемещены требуемым образом ребра, а потом проведено двукратное сглаживание при помощи команды Polygons => Smooth (Полигоны => Сгладить). Превратите плоскость в пассивное твердое тело, выделив ее и применив команду Soft/RigidBodies => CreatePassiveRigidBody. Преобразуйте куб в мягкое тело — выделите его, щелкните на квадратике у команды Soft/RigidBodies => CreateSoftBody и в поле CreationsOptions установите вариант MakeSoft. Назначьте кубу гравитационную силу, воспользовавшись командой Fields => Gravity. Выделите связанную с кубом систему частиц, щелкните на квадратике у команды Soft/RigidBodies => CreateSprings и в поле CreationMethod установите вариант All (рис. 55). Спрячьте пружины, применив команду Hide=> Hide Selection. Выделите куб, а затем, при нажатой клавише Shift, плоскость и настройте столкновения при помощи команды Particles => MakeCollide с параметрами по умолчанию (команда Reset из меню окна Make Collide).

 

Рис. 53. Исходный вид сцены

Рис. 53. Исходный вид сцены

 

Рис. 54. Результат деформирования плоскости

Рис. 54. Результат деформирования плоскости

 

Рис. 55. Создание виртуальных пружин

Рис. 55. Создание виртуальных пружин

 

Установите в анимации 200 кадров и проиграйте ее — куб упадет на лестницу и начнет скатываться по ступенькам, превратившись сразу после падения в совершенно бесформенное тело (рис. 56). Попробуем исправить ситуацию. Во-первых, изменим настройки столкновения. Выделите систему частиц и откройте в редакторе атрибутов вкладку geoConnector1. Для мягких тел параметр Resilience (Упругость), определяющий силу удара при столкновении, может быть порядка 0,15-0,2, поэтому уменьшите его до 0,15. Что же касается параметра Friction (Трение), определяющего уровень трения, то при реальном столкновении он не может быть равным нулю (что установлено по умолчанию), поскольку воздействие трения неизбежно даже при достаточно гладкой поверхности. Задайте его равным 0,1 (рис. 57). Во-вторых, отрегулируем настройки виртуальных пружин. Выделите соответствующий объект, в редакторе атрибутов откройте вкладку springShape1 и установите параметры Stiffness (Жесткость) и Damping (Торможение) равными 46 и 0,270 соответственно (рис. 58) — это обеспечит относительное сохранение кубом своей формы. Стоит отметить, что данные параметры в каждом случае будут свои, поскольку имеет значение еще и высота, с которой падает куб, а также характер плоскости, на которую он падает. По окончании переключитесь в режим Modeling и добавьте кубу сглаживание (эту операцию можно проводить лишь после выполнения всех прочих настроек, поскольку она изменяет положение частиц), применив команду Polygons => Smooth (Полигоны => Сгладить). В итоге будет получена анимация желатинового куба (рис. 59).

 

Рис. 56. Вид сцены в некоторых кадрах анимации

Рис. 56. Вид сцены в некоторых кадрах анимации

 

Рис. 57. Изменение настроек столкновения

Рис. 57. Изменение настроек столкновения

 

Рис. 58. Корректировка параметров виртуальных пружин

Рис. 58. Корректировка параметров виртуальных пружин

 

Рис. 59. Падение желатинового куба

Рис. 59. Падение желатинового куба

В начало В начало

КомпьютерПресс 5'2008

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует