Первые шаги в Maya. Урок 22. Динамические эффекты
Старая амфора
Применим эффект Shatter для моделирования старой амфоры, на поверхности которой появились неровности и трещины. Создайте сцену с плоскостью и сосудом, напоминающим амфору, который построен путем вращения NURBS-кривой (рис. 81). Конвертируйте NURBS-поверхность в полигональную модель, применив команду Modify => Convert => NURBS to Polygons (рис. 82). Удалите историю ее создания при помощи команды Edit => DeletebyType => History (Редактировать => Удалить по типам => История).
Рис. 81. Исходная сцена с NURBS-поверхностью
Рис. 82. Появление полигональной модели
Переключитесь в режим работы с вершинами (клавиша F8) и выделите вершину, от которой должна быть сформирована трещина (рис. 83). Щелкните на квадратике справа от команды Effects => Shatter, откройте вкладку CrackShatter и настройте параметры разрушения, определив количество разломов и их длину (параметры Crack Count и CrackLength соответственно), уровень зубчатости краев (EdgeJagginess) и характер выдавливания треснувших элементов ( Extrude Shards) — рис. 84. Кроме того, установите в поле PostOperation вариант Sets. В итоге на поверхности амфоры появится группа трещин (рис. 85). Смоделируйте еще две-три подобных группы трещин (рис. 86), а затем текстурируйте сцену, возможный вариант которой представлен на рис. 87.
Рис. 83. Выделение вершины
Рис. 84. Настройка параметров эффекта Shatter
Рис. 85. Появление трещины
Рис. 86. Результат внедрения дополнительных трещин
Рис. 87. Старая амфора
Разбивающийся стакан
Воспользуемся эффектом Shatter для имитации падения стеклянного стакана с последующим разбиванием его на множество мелких фрагментов. Создайте сцену с плоскостью и стаканом, получив последний путем булевой операции (команда Polygons => Booleans => Difference) из двух вложенных полигональных цилиндров (рис. 88). Выделите стакан и удалите историю его создания, применив команду Edit => Delete by Type => History. Выделите стакан, щелкните на квадратике справа от команды Effects => Shatter и откройте вкладку SolidShatter. Настройте параметры эффекта (рис. 89) — установите требуемое число осколков (ShardCount) и уровень зубчатости краев (EdgeJagginess), в поле PostOperation установите вариант Rigidbodieswithcollisionsoff (поскольку осколки должны быть твердыми телами) и в поле Original Surface включите вариант Hide. В итоге будет получен некоторый набор осколков (рис. 90).
Рис. 88. Исходная сцена
Рис. 89. Настройка параметров эффекта Shatter
Рис. 90. Появление осколков
Превратите плоскость в пассивное твердое тело, воспользовавшись командой Soft/RigidBodies=>CreatePassiveRigidBody, и установите для плоскости значение параметра Collision Layer равным –1. В окне Outliner выделите все осколки (рис. 91) и назначьте им гравитационную, турбулентную и ньютоновскую силы (команды Gravity, Turbulence и Newton из меню Fields). Для поля Ньютона установите значения параметров Magnitude (Степень воздействия) и Attenuation (Ослабление) равными 30 и 2, а у турбулентного поля уменьшите степень его воздействия (параметр Magnitude) до 4. Проиграйте анимацию — стакан упадет на плоскость и рассыплется на осколки (рис. 92). Однако падать будет уже стакан с трещинами, чего в действительности быть не может.
Рис. 91. Выделение осколков
Рис. 92. Вид сцены в одном из промежуточных кадров анимации
Попробуем исправить ситуацию. Внимательно просмотрите все кадры анимации и зафиксируйте момент, когда стакан коснется плоскости (в нашем случае это 46-й кадр) — будем считать, что именно в этот момент он и должен разлететься на осколки. Поэтому перейдите на 1-й кадр анимации, в окне Outliner выделите исходный стакан (а не его осколки), в окне каналов установите в поле Visibility значение on и создайте ключ на данный параметр, вызвав из контекстного меню команду Key Selected (Установить ключ), — рис. 93. После этого выделите осколки и сделайте их невидимыми, установив в поле Visibility значение off и также создав ключ (рис. 94). Переключитесь в 46-й кадр и сделайте исходный объект невидимым, а осколки видимыми также с созданием соответствующих ключей. Установите в редакторе атрибутов для всех осколков одновременно 46-й кадр в качестве кадра начала разрушения (рис. 95) — в противном случае стакан начнет разрушаться прямо с 1-го кадра. Назначьте исходному объекту гравитационную силу. Проиграйте анимацию — в целом стакан падает так, как и было задумано, однако осколки ведут себя не совсем естественно и продолжают переворачиваться до самого последнего кадра. Вместе с тем они достаточно быстро должны замедлять свое движение и останавливаться, поэтому увеличьте для всех осколков значение параметра Damping (Торможение) примерно до 0,8, уменьшите значение Bounciness (Подпрыгивание) до 0,4 и увеличьте массу осколков до 1,5 (рис. 95). Это позволит добиться достаточно реалистичной анимации разбивания стакана — возможный вид сцены в некоторых кадрах анимации представлен на рис. 96.
Рис. 93. Корректировка видимости исходного объекта
Рис. 94. Корректировка видимости осколков
Рис. 95. Перемещение по анимационной шкале момента начала разрушения
Рис. 96. Настройка параметров осколков
Рис. 97. Разбивающийся стакан