Первые шаги в Maya. Урок 11. Анимация вдоль пути
Технология создания анимации вдоль пути
Привязка объекта к готовой кривой-траектории
Формирование траектории по ключевым положениям объекта
Редактирование траектории движения
Определение поведения объекта при его движении по траектории
Искажение формы объекта при его поворотах
Перемещение объекта по поверхности
Практические примеры создания простых анимаций вдоль пути
Ползущая и оставляющая светящийся след морская звезда
Плывущая рыба
На одном из предыдущих уроков мы создали модель рыбы, которой сейчас и воспользуемся, — отправим ее в плавание по океанским глубинам. Откройте сцену с рыбой и сгруппируйте все относящиеся к ней элементы: саму рыбу, представляющую собой Subdivide-поверхность, и две NURBS-сферы, задействованные в качестве глаз. Уменьшите размеры рыбы нужным образом, а затем любым из инструментов для создания кривых сформируйте путь (рис. 59). Выделите группу с элементами рыбы и, учитывая, что ведущей при движении рыбы будет ее голова, переключитесь в режим работы с опорными точками (клавиша Insert), а затем перетащите опорную точку к краю головы (рис. 60). Нажмите на клавишу Insert для отключения режима работы с опорными точками.
Рис. 59. Рыба и созданная для нее траектория
Рис. 60. Перемещение опорной точки рыбы
При выделенной группе примените команду Display=>ComponentDisplay=>LocalRotationAxes (Отображение=>Компоненты отображения=>Локальные оси вращения) и сориентируйтесь, как направлены локальные оси. В данном случае рыба вытянута вдоль локальной оси Z, а двигаться она будет вдоль локальной оси X (рис. 61). В окне Outliner выделите группу с рыбой и, удерживая нажатой клавишу Shift, — кривую-путь, а затем свяжите рыбу с траекторией, установив параметры привязки в соответствии с рис. 62. В итоге рыба станет двигаться строго по траектории, но лежа на боку (рис. 63). Чтобы исправить ситуацию, выделите группу с рыбой, удостоверьтесь, что ползунок таймера анимации стоит на первом кадре, и щелкните в окне каналов под заголовком INPUTS (Входные данные) на строке motionPath1. Затем поверните рыбу относительно локальной оси X на –90° — либо инструментом ShowManipulatorTool, либо установив параметр FrontTwist равным –90 (рис. 64). После этого рыба станет перемещаться по траектории уже естественным образом (рис. 65). Для большей зрелищности измените траекторию рыбы так, чтобы она путешествовала на разной глубине (рис. 66). После этого создайте толщу воды и океанское дно: в качестве первого объекта может выступить большая сфера, а в качестве второго — обработанная инструментом SculptSurfacesTool NURBS-плоскость с большим числом разбиений в обоих направлениях. Назначьте объектам сцены материалы и визуализируйте все кадры анимации — вид плывущей рыбы в некоторых из них представлен на рис. 67.
Рис. 61. Вид локальных осей рыбы
Рис. 62. Настройка параметров привязки к пути
Рис. 63. Первоначальное положение рыбы при ее движении
Рис. 64. Поворот рыбы относительно локальной оси X
Рис. 65. Вид сцены в промежуточных кадрах анимации
Рис. 66. Результат изменения траектории движения
Рис. 67. Плывущая рыба
Ползущая и оставляющая светящийся след морская звезда
Попробуем усложнить только что созданную сцену, внедрив в нее морскую звезду, смоделированную на одном из предыдущих уроков. Теперь заставим ее ползти по морскому дну по некоторой извилистой траектории и оставлять за собой светящийся след (последнее, правда, нехарактерно для реальной морской звезды, но зато весьма полезно в рамках данного урока).
Сразу уточним детали. Путь звезды должен пролегать по морскому дну (то есть следует учитывать рельеф поверхности) — значит, кривая-путь должна создаваться сразу связанной с поверхностью дна. Кроме того, звезда будет оставлять за собой след — его можно имитировать Extrude-поверхностью, построенной по копии кривой-пути.
Импортируйте звезду из соответствующей сцены, применив команду File=> Import (Файл=>Импорт), масштабируйте ее и разместите подходящим образом — рис. 68. Создайте NURBS-окружность — это будет кривая-профиль. Выделите поверхность и преобразуйте ее в активный объект, щелкнув на кнопке MaketheselectedObjectLive (Сделать активным выделенный объект). Выберите один из инструментов для создания кривых и постройте нужную кривую — это будет кривая-путь для Extrude-поверхности. Данная кривая должна начинаться в начале координат, а две ее первые вершины будут лежать на оси X (рис. 69). Учитывая, что нам потребуется еще одна точно такая же кривая (в качестве траектории движения звезды), сделайте ее дубликат, применив команду Edit=>Duplicate с параметрами по умолчанию. Выйдите из режима MakeLive, щелкнув на кнопке MaketheselectedObjectLive. Выделите окружность, а затем (при нажатой клавише Shift) — кривую-путь. Выделение следует производить через окно Hypergraph (рис. 70), так как в окне Outliner связанные с поверхностью кривые не отображаются. Щелкните на квадратике справа от команды Surfaces=>Extrude (Поверхности=>Выдавить) и настройте параметры Extrude-поверхности в соответствии с рис. 71. Получится примерно такой же Extrude-объект, как показан на рис. 72.
Рис. 68. Вид сцены с внедренной звездой
Рис. 69. Исходные кривые для Extrude-поверхности
Рис. 70. Выделение кривых для Extrude-поверхности
Рис. 71. Настройка параметров операции Extrude
Рис. 72. Вид объекта, полученного в ходе операции Extrude
Выделите звезду и включите отображение ее локальных осей (команда Display=>ComponentDisplay=>LocalRotationAxes — Отображение=>Компоненты отображения=>Локальные оси вращения). Видно, что звезда вытянута вдоль локальной оси X, а двигаться будет в направлении локальной оси Z. Выделите в окне Hypergraph кривую-путь для движения звезды и Extrude-поверхность и разместите их на сцене подходящим образом (рис. 73). Временно скройте Extrude-поверхность, чтобы она не мешала работе. Выделите звезду, а затем при нажатой клавише Shift — ее траекторию и свяжите их между собой с параметрами, настроенными в соответствии с рис. 74. Проиграйте анимацию — звезда будет двигаться вдоль пути, но в перевернутом состоянии (рис. 75). Поэтому выделите звезду, активируйте инструмент ShowManipulatorTool и отрегулируйте положение звезды (рис. 76) — она станет перемещаться как должно.
Рис. 73. Вид сцены после корректировки положения траектории перемещения звезды и Extrude-поверхности
Рис. 74. Настройка параметров привязки к пути
Рис. 75. Первоначальный вид звезды при ее движении
Рис. 76. Изменение положение звезды относительно локальных осей
Сделайте видимым скрытый Extrude-объект. Теперь нужно так настроить анимацию, чтобы объект увеличивался по мере движения звезды. Для этого активируйте первый кадр и включите режим анимации с автоматическим созданием ключей. В окне Outliner выделите второй узел Extrude-объекта, установите значение параметра MaxValue равным 0 (поскольку в первом кадре никакого светящего следа еще быть не должно) и создайте ключ (команда Animate=> Set Key — Анимация=>Создать ключ) — рис. 77. Переключитесь в последний кадр анимации, установите значение параметра MaxValue равным 1 (рис. 78) и отключите режим автоматического создания ключей. Проиграйте анимацию — звезда будет двигаться по траектории, а Extrude-объект увеличиваться по мере ее перемещения, правда размер следа не будет соответствовать размерам звезды. Поэтому выделите NURBS-окружность, играющую роль кривой-профиля для Extrude-поверхности, и деформируйте ее так, чтобы след стал более реальным по размеру (рис. 79). Теперь нужно изменить положение следа по отношению к звезде. Активируйте второй кадр (то есть кадр, в котором след становится видимым), включите режим создания анимации с автоматической генерацией ключей, отрегулируйте положение следа и создайте ключ, применив команду Animate=>SetKey (Анимация=>Создать ключ), — рис. 80. Отключите режим создания анимации с автоматической генерацией ключей. Назначьте Extrude-объекту подходящий материал (можно использовать обычный полупрозрачный Blinn-материал) и визуализируйте все кадры анимации — вид ползущей звезды в двух из них представлен на рис. 81.
Рис. 77. Создание ключа для первого кадра (для параметра MaxValue)
Рис. 78. Создание ключа для последнего кадра (для параметра MaxValue)
Рис. 79. Результат деформирования кривой-профиля
Рис. 80. Создание ключа для первого кадра (для положения Extrude-объекта)
Рис. 81. Ползущая и оставляющая светящийся след морская звезда