Рис. 5.19. Траектория для объекта 230 Гпава 5 Настало время познакомиться с еще одним понятием в Blender— это C onstraint (Ограничитель). Подобно модификаторам, C onstraint может быть присоединен к объ екту в любой момент. Только в отличие от последних, ограничители обычно применя ются для анимации. С их помощью можно управлять поведением объекта при движе нии или вращении. C onstraint имеет свою собственную закладку в окне Properties (рис. 5.20). Рис. 5.20. Панель Constraint В данном случае для присоединения траектории к стрелке понадобится ограничитель Follow Path (Следование по траектории). Откройте закладку Object C onstraints (см. рис. 5.20) и выберите из меню на панели нужный ограничитель (рис. 5.21). Выберите в поле T arget созданный ранее объект Path. Теперь посмотрите в окно 3D View — стрелка переместилась в начало кривой. Но анимация работать пока не бу дет, т. к. даже здесь понадобятся анимационные ключи. Настройка ключей производится несколько непривычно. Они должны быть установле ны не для объекта, который движется, а для кривой. Выделите примитив Path, затем откройте панель Object Data в окне Properties (рис. 5.22). Среди них имеется закладка с названием Path Anim ation (по умолчанию она должна быть включена). Для создания анимации понадобится задействовать всего две опции: ♦ Fram es (Кадры) — количество кадров для выполнения всей анимации; ♦ Evaluation Time (Вычисляемое время)— длина кривой, которую должен пройти объект в течение времени, указанного в поле Frames. Target fiji NurtePath Animate Path — Follow Curve Curve Radius ( 0 Fixed Position ( Offset. 0.000 Forwa l Up Influence. Рис. 5.21. Параметры Follow Path Рис. 5.22. Настройки Path
Анимация 231 Сделано немного мудрено, поэтому рассмотрим настройку по шагам. Допустим, что стрелка должна пройти не весь путь, а лишь половину от длины кривой. Причем для всей анимации отводится 100 кадров: 1. Выделите кривую и откройте закладку Path Animation на панели Object Data (см. рис. 5.22). 2. Установите в окне Timeline первый кадр активным. 3. Наведите курсор мыши на поле Evaluation Time и нажмите правую кнопку мыши. Появится контекстное меню, где нужно выбрать пункт Insert Keyframe (Вставить ключ). 4. Установите в поле активного кадра значение 100. 5. Теперь нужно выбрать место на кривой, где остановится стрелка. Это выполняется с помощью поля Evaluation Time. При изменении его значения объект будет дви гаться по траектории. Выберите нужное место. 6. Щелкните правой кнопкой мыши по опции Evaluation Time и добавьте еще один ключ. 7. Установите значение 100 в поле Frames. Теперь можно проверить анимацию. Вот только ориентация стрелки при движении остается без изменений (рис. 5.23). Рис. 5.23. Здесь острие стрелки «не следит» за траекторией С ов ет При необходимости ключи кривой можно корректировать в окне Graph Editor. Другой спо соб — удалить или перезаписать неправильный ключевой кадр. Для этого установите его в качестве активного, щелкните правой кнопкой мыши по полю Evaluation Time и выберите пункт Delete Keyfram e (Удалить ключ) или Replace Keyfram e (Заменить ключ).
232Гпава 5Откройте ограничитель Follow Path, прикрепленный к объекту, и активируйте опцию Follow C urve (Следовать за кривой). Эта функция заставляет объект изменять свою ориентацию в соответствии с изгибами траектории. Опции группы Forw ard (Вперед) позволяют развернуть объект так, как нужно. Теперь анимация стрелки соответствует задуманному (рис. 5.24). Рис. 5.24. Стрелка изменяет направление в соответствии с кривой 5.5. Анимация и деформацияВ теплых морях обитает одна интересная рыбка, которая стала прообразом героев мно жества популярных мультфильмов и компьютерных игр. Речь идет о так называемых рыбах-ежах. В минуту опасности эта отнюдь небезобидная рыбка мгновенно раздувает ся и ощетинивается колючками, отчего напоминает свернутого в клубок ежа. Конечно, моделировать всю рыбу целиком мы не будем, но анимацию колючек сделаем. Тем более, этот пример как нельзя лучше подходит для рассматриваемой темы. Разговор пойдет об особом виде анимации, когда происходит не движение объекта в пределах сцены, а трансформация на уровне его элементов. Пусть прототипом рыбки послужит примитив Icosphere. Добавьте его в сцену из меню Add | Mesh. Особенностью этого объекта является его структура, где элементы пред ставляют собой треугольники одинакового размера. Однако для создания колючек стандартного разрешения сферы недостаточно. В нижней части панели Tool Shelf при создании примитива появляется вкладка с настройками Icosphere, где параметр Subdivisions отвечает за качество структуры. Поменяйте его текущее значение на 5 (рис. 5.25). Анимация233▼ Add ico Sphere Subdivisions S ze 1.000 Align to View Рис. 5.25. Настройки примитива Icosphere при его создании Работа с внутриобъектной анимацией, как и везде, базируется на использовании клю чей. Только в данном случае называются они Shape Keys (ключи формы). Создание и настройка их разительно отличаются от уже привычных ключевых кадров и осущест вляются в одноименной группе Shape Keys панели Object Data. Ключи формы устанавливаются в режиме редактирования объекта и привязываются к выделенным элементам. Важно знать, что каждый ключ Shape может иметь различ ное состояние: от исходной позиции элементов и до конечной. Кроме того, возможно использовать промежуточное значение. Собственно, Shape Keys хранят только измене ния структуры, а вот сама анимация осуществляется с помощью привычных ключевых кадров. Но не будем забегать вперед. Откройте панель Object Data редактируемого объекта. По умолчанию группа Shape Keys не имеет ключей (рис. 5.26). Как видите, управление ключами формы не отличается особой сложностью. Кнопка с плюсом создает ключ, а с минусом — удаляет его из списка. Запомните, управление ключами (создание, удаление, настройка) возможно только в режиме Object Mode, а вот присвоение действия осуществляется в режиме редакти рования объекта. Нажмите на кнопку +. Программа создаст первый ключ с названием Basis — это базо вый ключ, который несет информацию о начальной форме объекта. Нажмите на эту же кнопку еще раз. В списке появится новый ключ Key 1. Если назва ние не нравится, вы всегда его можете изменить. Удерживая клавишу , щелкните мышью по названию (рис. 5.27). Рис. 5.26. Группа Shape Keys Рис. 5.27. Настройки рабочего ключа
234Гпава 5Пришло время заняться созданием игл у шара. Выделите первый ключ в списке. Ло гично предположить, что если выделить вершины объекта через один или несколько элементов и применить масштабирование, то получатся необходимые колючки. Вот только вручную делать это совсем не понадобится, мы прибегнем к одной небольшой хитрости. Войдите в режим редактирования (<ТаЬ>). Работа будет происходить на уровне поли гонов, поэтому включите соответствующую кнопку на заголовке окна 3D View. В Blender имеется уникальный инструмент, позволяющий выделять элементы в слу чайном порядке. Откройте меню Select и выберите пункт Random (Произвольный). В левой панели окна появятся настройки функции: Action (Действие) и Persent (Про цент). Меню Action позволяет выбрать, что будет делать функция: Select (Отметить) или Deselect (Снять отметку), a P e rse n t— просто указывает процент заполнения. По пробуйте, к примеру, 20 %. Результат работы этой функции вы можете увидеть на рис. 5.28. Рис. 5.28. Здесь полигоны выделены случайным образомСледующая задача — это выдавливание игл. Стандартная функция E xtrude перемеща ет элементы в одном направлении, нам же нужно индивидуальное выдавливание. Такая функция в Blender имеется и называется Extrude Individual. Вы можете выбрать ее из меню Mesh или нажать клавиши + и щелкнуть в появившемся меню по пунк ту Individual Faces. В любом случае программа создаст дополнительные полигоны. Используйте мышь для вытягивания новых элементов на небольшое расстояние от объ екта, ведь в данном случае мы моделируем колючки «рыбы» в спокойном состоянии.
Анимация235Итак, сделана модификация базовой формы модели. Теперь выберите второй ключ Shape. Нажмите клавишу и вытяните иглы еще больше. Осталось только сжать крайние грани для придания остроты иглам. Это можно сделать, если использовать ин дивидуальное масштабирование (+), но есть вариант поизящнее. Нажмите клавишу , выберите функцию Merge, а в появившемся меню — пункт Collapse (Стягивать). Настройка ключей формы завершена, и самое время заняться их анимацией. Нажмите клавишу <ТаЬ> для выхода из режима редактирования. Результат наверняка вас обескуражит. Выход из Edit Mode заставил объект мгновенно сжаться и принять форму, которая была сделана для ключа Basis (рис. 5.29). Разгадка кроется в значении поля Value для второго ключа (см. рис. 5.27). Здесь в на шем случае регулируется степень деформации от базового Basis до Key 1. Так, при зна чении 0 результат деформации будет отсутствовать. Попробуйте подвигать слайдер для просмотра перехода, но если вы нажмете +, то движения в сцене не будет. Собственно, анимация выполняется в специальном режиме Shape Key E ditor в редак торе Dope Sheet. Откройте оконную раскладку Animation. Окно Dope Sheet по умолчанию располагает ся в левой верхней части программы. Рис. 5.29. Результат рендера сферы с иглами
236 Гпава 5 Это уже более высокоуровневый редактор, нежели G raph Editor. Здесь можно управ лять анимацией костей (скелета), всеми ключами сцены и Shape. В нашем случае нуж но выбрать из меню Mode в этом окне пункт Shape Key E ditor (рис. 5.30). Рис. 5.30. Меню Mode окна Dope Sheet Рис. 5.31. Здесь указываются ключи объекта После этого в левой части Dope Sheet появятся все ключи Shape выделенного объекта. В нашем случае это будет Key 1 (рис. 5.31). Создавать анимацию с помощью этого редактора очень просто. Попробуйте подвигать слайдер в окне (см. рис. 5.31). При изменении значения Value происходит автомати ческая установка ключа в текущем кадре сцены. Соответственно, анимация ключей Shape осуществляется по алгоритму: 1. Установить начальный кадр в Timeline. 2. Выбрать желаемое значение ключа Shape в окне Dope Sheet. 3. Установить конечный кадр. 4. Выбрать иное значение параметра Value. 5. В этом случае будут созданы ключи, которые появятся в самом Dope Sheet, G raph E ditor и на Timeline (рис. 5.32). Рис. 5.32. Ключи в окне DopeSheet Хотя в режиме Shape Key E ditor позволяется создавать ключи Shape, все же главное назначение редактора Dope Sheet — в управлении анимацией. Допустим, имеются несколько ключей Shape, которые создают различную мимику ли ца. В окне редактора будут одновременно показываться все анимации Shape с ключа ми. Путем перемещения ключевых кадров в правой части редактора можно управлять временем старта и завершения каждой анимации Shape. Для этого нужно выделить правой кнопкой мыши ключ и переместить на новое место (). Можно и удалить ненужные ключевые кадры Shape при помощи функции Delete (<Х>).
Анимация 237 5.6. Основы анимации персонажа Создание анимации для персонажа ввиду сложности самого объекта закономерно счи тается трудным действием. Возьмем, к примеру, модель человека. Движение рук, ног, пальцев, вращение головы — все это практически нереально выполнить с помощью рассмотренных ранее инструментов. Конечно, если модель состоит из отдельных, свя занных между собой объектов, то ограничиться простым использованием анимацион ных ключей можно, но не стоит, — есть вариант более удобный. Скелетная анимация — это способ анимации модели с помощью вспомогательных объектов. Свое название она получила по аналогии со строением живого организма, где каркасом является скелет, состоящий из костей, связанных между собой суставами. С помощью специальных инструментов каркас объединяется с моделью, и при движе нии его элементов осуществляется анимация частей объекта. Скелет остается невиди мым для рендера программы. Система костей в Blender носит название A rm ature (Арматура) и доступна для созда ния из меню Add | A rm ature (Добавить | Арматура) главного окна программы. По умолчанию это меню содержит всего один пункт Single Bone (Одиночная кость). Bone (Кость) — это элемент арматуры. С помощью костей выстраивается скелет для модели. Вращение или перемещение костей позволяет выполнить анимацию нужной части объекта (рис. 5.33). Рис. 5.33. Арматура кисти
238Гпава 5В свою очередь Bone состоит из трех элементов: основания (Root), тела (Body) и нако нечника (Tip). Здесь основание и наконечник служат для создания других костей, а также являются своеобразными шарнирами (рис. 5.34). К костям могут быть присоеди нены разнообразные ограничители (Constraint), с помощью которых устанавливаются определенные правила анимации. К примеру, голова человека не может вращаться на 360 градусов вокруг своей оси. Для ограничения поворота можно использовать специ альный Constraint. Рис. 5.34. Строение костиПосле создания арматуры и настройки движения костей следует этап присоединения скелета к модели. Такое действие в Blender носит название Skinning (Скининг). Задача моделлера заключается в присвоении частей объекта определенным костям. С по мощью специальных инструментов имеется возможность установки области влияния каждой кости или шарнира. Например, при движении руки у живого человека изменя ются формы грудных мышц, плечевого пояса и спины. Если бы этой возможности в Blender не было, получился бы эффект сломанной конечности. Для упрощения на стройки скининга программа предлагает автоматическое распределение областей влия ния костей скелета. В некоторых случаях эта функция работает некорректно, поэтому имеется возможность ручной подгонки результата. Третий, заключительный этап — создание анимации. Для этого программа предлагает специальный режим работы с арматурой, который называется Pose Mode (Режим по зы). Работа заключается в создании анимационных ключей для каждого движения. Эти последовательности носят название Action (Действие) и могут комбинироваться в спе циальном редакторе. Таким образом, для работы с арматурой программа имеет целых три режима: ♦ Object Mode (Режим объекта) — манипуляция всем скелетом в пределах сцены; ♦ Edit Mode (Режим редактирования) — редактирование костей и настройка связей; ♦ Pose Mode (Режим позы) — создание анимации. Все эти режимы становятся доступными в меню Mode окна 3D View при выделении объекта A rm ature. Конечно же, использовать арматуру можно не только для движения персонажей. Рас сматривайте скелетную анимацию лишь как еще один очень эффективный способ ани мации объекта. Анимация 239 5.7. Создание и редактирование скелета Создание скелета, правильная настройка костей — очень важный этап, от которого бу дет зависеть дальнейшая анимация модели. Тема сложная и многогранная, поэтому рассматривать работу с арматурой мы станем с помощью небольших практических уроков. Как вы уже знаете, базовой частью скелета является кость (Bone). Именно ее предлагает создать Blender в меню Add | Arm ature. Арматура является стандартным объектом про граммы, который подчиняется основным правилам манипулирования в сцене. Кость, как отдельный элемент A rm ature, доступна для редактирования в режиме Edit Mode. Прежде чем начинать работу со скелетом, советую включить режим просмотра Front View, который является наиболее удобным. Итак, добавьте в сцену объект Single Bone и нажмите клавишу . В режиме редактирования у кости можно выделять и манипулировать всеми элемента ми (см. рис. 5.34). Правда, в зависимости от выделения будут доступны разные режимы манипулирования: ♦ Root и T i p — позволяют изменять размер и ориентацию кости с помощью манипу лятора G rab (); ♦ выделение Body — отмечает целиком всю кость, поэтому становятся доступными все три вида манипуляции: перемещение, ротация, масштабирование. Создавать дополнительные кости можно различными способами, но удобнее использо вать стандартную функцию Extrude. Выделите верхнюю сферу кости (Tip) и нажмите клавишу <Е>. Сдвиньте мышь в любом направлении (рис. 5.35). Рис. 5.35. Результат Extrude для Tip
240Гпава 5Теперь проделайте ту же операцию, но со сферой Root первой кости. И в этот раз соз дастся новый элемент, но между этими, казалось бы, одинаковыми результатами име ется серьезное отличие. В первом случае была создана неразрывная цепочка, где на чальный объект являлся родительским, а второй — подчиненным. Попробуйте сдви нуть любой из них (выделите для этого Body) и убедитесь в том, что они неразрывно связаны между собой. Однако попытка переместить третью кость, созданную из Root, приведет к тому, что она оторвется и отправится в «свободное плавание» как отдель ный объект. Это СЛЕДУЕТ ЗАПОМНИТЬ!Кость (Bone), созданная из Root другой кости, является отдельным элементом, но принадлежит к одной и той же арматуре.Для редактирования скелета имеется стандартный набор функций, что и для элементов Mesh: Extrude. Duplicate, Subdivide, Delete, Merge. Как и обычно, они доступны в ви де горячих клавиш, на панели Tool Shelf или в меню A rm ature. Принцип использова ния их практически ничем не отличается от ранее рассмотренных объектов Mesh. По этому заострять внимание на них мы не будем. Вы всегда сможете найти описание этих функций в соответствующем разделе книги. Конечно же, есть и специфический набор, характерный только для A rm ature. Удалите из сцены все кости, кроме первой. Разверните Bone по оси X на 180 градусов, т. е. так, чтобы сфера Root оказалась вверху объекта. Выделите Tip и создайте новую кость с помощью функции Extrude. Еще раз выделите Tip первой кости и добавьте второй элемент. На рис. 5.36, а новые кости располагаются свободно, имеют разный размер и местопо ложение. Вроде бы ничего необычного, но если учесть, что строение любых живых организмов симметричное, то легко представить объем работы, необходимый для соз дания одинаковых частей скелета. Разработчики программы предлагают легкий способ создания симметричной арматуры, но для этого нужно учитывать важный момент— давать правильные имена звеньям. Это выполняется на специальной панели Bone окна Properties (рис. 5.37). В верхней части панели имеется окошко, где можно изменить текущее имя элемента. По умолчанию Blender создает производные имена от слова Bone (BoneOOl, Bone002 и т. д.). Дайте следующие названия имеющимся элементам: ♦ первая, главная кость — Root; ♦ кость справа — S h o u ld e rR ; ♦ кость слева — Shoulder_L. С английского слово Root переводится как «Корень», a Shoulder— как «Плечо». Дело вовсе не в конкретном слове. Вы вправе называть кости на свое усмотрение, но если хотите использовать симметричное редактирование, то прибавляйте к имени через под черкивание ключевые буквы: ♦ R или Right — для правой стороны; ♦ L или Left — для левой стороны. В этом случае программа сможет определить, что названные так звенья являются сим метричными по отношению друг к другу. |