Новые возможности в Maya 6


Новые возможности в Maya 6

         

Обзор проекта «Солнечная система»

Проект «Солнечная система» познакомит вас с процессом моделирования объектов и даст представление о таких элементах, как иерархические цепочки и опорные точки объектов. Как следует из названия проекта, нам предстоит создать аналог Солнечной системы.

Упражнения данной главы дадут возможность попрактиковаться в формировании иерархических цепочек и выделении объектов. Вы узнаете, как создать иерархическую связь и как выбрать в группе нужные узлы для получения корректной анимации.

Планирование

Приступать к работе без хорошего плана действий не имеет смысла. Чем больше информации по теме проекта вы соберете, тем достоверней будет результат. В данном случае важно узнать, где по отношению к Солнцу и к остальным элементам Солнечной системы располагается каждая из планет и сколько спутников она имеет.

Известно, что Солнце располагается в центре системы. Вокруг него вращаются Меркурий, Венера, Земля, Марс, Юпитер, Сатурн, Уран, Нептун и Плутон. Орбита вращения каждой из этих планет представляет собой эллипс, но в нашем случае для простоты решения они будут вращаться по окружности. Большинство планет имеет один или несколько спутников, а одна из них «украшена» большими кольцами (табл. 3.1). Таблица 3.1. Планеты и спутники



Планета

Количество спутников

Земля

1 спутник

Марс

2 маленьких спутника

Юпитер

16 спутников

Сатурн

3 больших кольца и 18 спутников

Уран

18 спутников

Нептун

8 спутников

Плутон

1 спутник

Может показаться, что создавать и анимировать все перечисленные объекты не имеет особого смысла, но это совершенно потрясающий способ получить навык работы в Maya. Впрочем, уловить суть вы сможете и сократив количество спутников.

Создание проекта

Начнем с создания нового проекта. Выберите в меню File (Файл) команду Project > New (Проект > Создать), чтобы открыть окно диалога New Project (Новый проект) (рис. 3.1). Файлы Maya сохраняются определенным способом. На верхнем уровне находится папка проекта, содержащая набор вложенных папок с файлами. Среди них есть папки Scenes и Images. В первой хранятся файлы, содержащие всю информацию о сцене, а во второй — изображения, полученные в результате визуализации.



Рис. 3.1. Окно диалога New Project в операционной системе Windows. Для каждого проекта Maya автоматически создает новый набор файлов

ПРИМЕЧАНИЕ

Файлы, содержащие информацию о сценах из упражнений, которые вам предстоит выполнять, можно найти на прилагаемом к книге компакт-диске. После создания каждого из проектов их имеет смысл скопировать в соответствующую папку на жестком диске вашего компьютера.

Итак, займемся созданием нового проекта:

1. Введите в поле Name (Имя) окна диалога New Project (Новый проект) имя Solar_ System. В поле Location (Маршрут доступа) укажите маршрут доступа к папке, в которую будут сохранены файлы вашего проекта. По умолчанию в операционной системе Windows для этой цели используется папка My_Docu-ments\maya\projects. В операционной системе Мае это будет папка Home (/Users/ <ваше имя>), вложенная в папку Documents/Maya/projects/default. При желании можно поместить папку проекта на другой логический диск и держать ее отдельно от системных файлов. Это облегчает создание резервных копий. 2. В операционной системе Windows создайте папку Projects, воспользовавшись для этого, например, приложением Windows Explorer. В окне диалога New Project (Новый проект) щелкните на кнопке Browse (Просмотр) и выберите папку D:\Projects. Теперь достаточно щелкнуть на кнопке Use Defaults (По умолчанию), и все остальные поля будут заполнены автоматически (рис. 3.2). Щелкните на кнопке Accept (Принять).



Рис. 3.2. Заполненное окно диалога New Project

Сколько места на диске вам потребуется, зависит исключительно от проекта. Сами по себе файлы сцены обычно занимают не очень большой объем, а вот сотни визуализированных кадров могут занять значительное пространство. Для данного проекта достаточно 10-15 Мбайт.

СОВЕТ

Переход от одного проекта к другому легко выполняется с помощью команды Project > Set (Проект > Набор) из меню File (Файл). Эта команда позволяет также выбирать место для нового проекта. В результате приложение будет использовать указанную вами папку до тех пор, пока вы не перейдете к работе над другим проектом.


Моделирование объектов и их анимация

Как упоминалось в главе 1, подготовка анимации обычно делится на различные фазы. В рассматриваемом случае мы сначала создадим Солнце, планеты и их спутники, а потом займемся программированием их движения.


Создание Солнца и планет

Начнем мы с создания Солнца и планет:

1. Выберите в меню File (Файл) команду New Scene (Создать сцену). Появится окно диалога с вопросом, хотите ли вы сохранить текущую сцену. Щелкните на кнопке Yes (Да), если хотите сохранить этот файл.

2. Перейдите к четырехоконному представлению, поместите указатель мыши над окном проекции Тор (Вид сверху) и нажмите клавишу Пробел, чтобы развернуть это окно на весь экран.

3. Чтобы создать Солнце, выберите в меню Create (Создать) команду NURBS Primitives > Sphere (NURBS-примитивы > Сфера). В начале координат появится сфера. Именно эта точка станет центром нашей Солнечной системы.

4. Выделите строчку nurbsSpherel в верхней части окна диалога Channel Box (Окно каналов) и присвойте объекту имя Sun.

Не забывайте о том, что в Maya большое значение имеет регистр букв. Соответственно, названия sun и Sun могут принадлежать разным объектам.

СОВЕТ

Присваивать объектам значимые имена лучше всего в момент их появления в сцене. Это значительно упрощает операции с файлом, особенно в случае групповой работы над проектом.

5. Нажмите клавишу г, чтобы активизировать инструмент Scale (Масштабировать), и равномерно увеличьте размер сферы примерно в четыре раза. Если вы хотите получить точный результат, введите в поля Scale X (Масштабирование по оси X), Scale Y (Масштабирование по оси Y) и Scale Z (Масштабирование по оси Z) окна диалога Channel Box (Окно каналов) значение 4 (рис. 3.3). С помощью манипуляторов подобной точности достичь практически невозможно.



Рис. 3.3. Значение параметров Scale для объекта Sun в окне диалога Channel Box

Создание планет

Займемся созданием планет.

1. Создайте еще одну NURBS-сферу и присвойте ей имя Mercury.

2. Меркурий является одной из самых маленьких планет. Меньше его только Плутон. Поэтому введите в поля Scale X (Масштабирование по оси X), Scale Y (Масштабирование по оси Y) и Scale Z (Масштабирование по оси Z) окна диалога Channel Box (Окно каналов) значение 0,2.

3. Нажмите клавишу w, чтобы активизировать инструмент Move (Переместить), и слегка переместите новую сферу в положительном направлении оси X. Для этого нужно щелкнуть на красной стрелке и перетащить указатель мыши вправо. В результате расстояние между Солнцем и Меркурием должно равняться двум квадратикам координатной сетки.

4. Повторите шаги 1-3 для создания остальных планет. Вот значения параметров Scale (Масштабирование), которые нужно использовать:

Венера — 0,5;

Земля — 0,5;

Марс — 0,4;

Юпитер— 1,0;

Сатурн - 0,9;

Уран - 0,7;

Нептун — 0,7;

Плутон —0,15.

Разумеется, это далеко не точные пропорции планет Солнечной системы, однако в нашем случае особая точность и не требуется. Результат, который вы должны получить, показан на рис. 3.4.



Рис. 3.4. Вид выровненных по одной линии NURBS-сфер, соответствующих планетам Солнечной системы

Привязки

Теперь пришло время воспользоваться привязками (табл. 3.2).

Таблица 3.2. Кнопки для работы с привязками

Значок

Название

Описание

Snap to Grids (Привязка к сетке)

Привязывает объекты к линиям координатной сетки

Snap to Curves (Привязка к кривым)

Привязывает объекты к различным кривым

Snap to Points (Привязка к точкам)

Привязывает объекты к вершинам или управляющим точкам

Snap to View Planes (Привязка к плоскостям)

Привязывает объекты к видимым плоскостям

Привязки используются для точного размещения объектов в сцене. В данном случае с их помощью нужно будет слегка поменять положение планет, отцентрировав их по ближайшим узлам координатной сетки:

1. Выделите первую планету Mercury и щелкните на кнопке Snap to Grids (Привязка к сетке) в строке состояния.

2. Точка схода управляющих векторов преобразования Move (Переместить) превратится из квадрата в круг, указывая на включенный режим привязки. Перетащите объект Mercury вправо или влево вдоль оси Хдо ближайшего узла координатной сетки.

3. Проделайте описанную операцию с остальными планетами, стараясь сохранять между ними интервал в две клетки. Солнце двигать не надо, так как оно уже находится в точке пересечения линий сетки.

Кольца Сатурна

Теперь нужно смоделировать кольцо Сатурна:

1. Выберите в меню Create (Создать) команду NURBS Primitives > Torus (NURBS-при-митивы > Тор), чтобы получить объект, имеющий форму кольца. В режиме привязки к узлам сетки переместите его вдоль оси Xтаким образом, чтобы Сатурн оказался внутри кольца. Оба объекта должны иметь один и тот же центр.

2. Убедитесь в том, что тор по-прежнему выделен, и присвойте ему имя Ring.

3. Нажмите клавишу Пробея для перехода к четырехоконному представлению и разверните на весь экран окно проекции Perspective (Перспектива).

4. Нажмите клавишу F, чтобы поместить кольцо (а соответственно, и планету Сатурн) в центр окна проекции.

5. Нажмите клавишу 5 для перехода в режим показа тонированных оболочек объектов, а затем нажмите клавишу 3, чтобы максимально увеличить детализацию тора.



Рис. 3.5. Изменение параметров тора в окне диалога Attribute Editor

6. Нажмите клавишу г, чтобы активизировать инструмент Scale (Масштабировать), и уменьшите размер тора по оси У практически до нуля. В результате должно получиться почти плоское кольцо.

7. Сейчас кольцо «касается» планеты. Вам же требуется получить зазор между планетой и кольцом. Этого можно добиться, изменив внутренний радиус тора.

8. Нажмите комбинацию клавиш Ctrl+a, чтобы открыть окно диалога Attribute Editor (Редактор атрибутов), и перейдите на вкладку makeNurbsTorusl (рис. 3.5).

9. Параметру Radius (Радиус) присвойте значение 1,5, а параметру Height Ratio (Отношение высоты к радиусу) — значение 0,25.

Итак, все планеты готовы. Пришла пора заняться моделированием спутников.

ПРИМЕЧАНИЕ

Изменение исходных атрибутов объекта, которое вы только что проделали, часто называют параметрическим моделированием (parametric modelling).

Сохранение сцены

Сохраните результат своего труда. Желательно, чтобы регулярное сохранение сцен вошло у вас в привычку. Падение напряжения и прочие непредвиденные обстоятельства случаются не очень часто, но тем не менее от них никто не застрахован. Функция инкрементного сохранения (сохранение с возрастающими именами) позволяет создать резервные копии для каждой из стадий работы над сценой. Так как в данном случае вы начали новый проект, окно диалога Save As (Сохранить как) предложит вам сохранить файл в папку Scenes текущего проекта. Присвойте сцене имя planets.mb. Если вы работаете с версией Maya PLE, сохраните файл в формате mp.

Чтобы посмотреть наш вариант сцены, откройте файл Planets_vl.mb, расположенный в папке ChapterFHes\Solar_System\scenes прилагаемого к книге компакт-диска.

Инкрементное сохранение

В процессе работы над проектом может возникнуть необходимость создания набора резервных копий сцены. Профессионалы обычно сохраняют результат своего труда после завершения каждой стадии. Ведь часто возникает ситуация, когда клиенты или художественный редактор выдвигают требования изменить ту или иную сцену. В этом случае наличие как можно большего числа резервных копий позволяет сэкономить время. В конце концов, файлы формата mb имеют не очень большой объем, а место на диске стоит не так уж дорого. Нужно только правильно систематизировать набор резервных копий, например, поместив файлы со старыми версиями сцены в отдельные папки. В Maya 6 существует возможность сохранения файлов с инкрементными именами, позволяющая сохранять сцену нужное количество раз. Нужно только включить эту функцию. В результате, если ваша работа будет неожиданно прервана, например, из-за зависания компьютера, вы сможете продолжить редактирование с наиболее поздней версии.

Для включения этой функции щелкните на квадратике, расположенном справа от команды Save Scene (Сохранить сцену) в меню File (Файл), и установите флажок IncrementalSave (Сохранение с возрастающими именами) в появившемся окне диалога. В результате внутри папки Scenes появится еще одна папка с именем текущего файла. В нес будут помещаться все сохраненные версии сцены, при этом к имени файла добавляется номер текущий копии, например planets_001.mb.

Все файлы сцен для проектов из этой книги находятся на прилагаемом к ней компакт-диске. Они представляют собой опорные материалы для каждой из стадий определенного проекта. Сравнивайте полученные результаты с нашими версиями, чтобы убедиться в том, что вы все сделали правильно. Кроме того, в следующих главах выполнение некоторых проектов будет начинаться именно с загрузки уже готового файла. При этом имена наших файлов отличаются от имен, присваиваемых при инкрсментном сохранении, например planets_vl.mb вместо planets_001.mb. Это устраняет возможность случайной записи одного файла поверх другого. При работе над реальными проектами иногда имеет смысл создавать резервные копии с помощью функции Save As (Сохранить как), в случае использования которой имена файлам присваиваются вручную. При этом желательно следовать единой системе именования. В дальнейшем это облегчит поиск нужных файлов. Также имеет смысл делать небольшие примечания, описывающие различия между отдельными версиями. Имейте в виду, что между названием файла и номером версии следует вставлять знак подчеркивания (_), а не пробел. Наличие пробелов может стать источником проблем во время работы с приложением, особенно на стадии визуализации.


Создание спутников

Теперь нужно создать еще один набор NURBS-сфер, которые будут выполнять функции спутников. Упростим сцену, ограничившись двумя спутниками для каждой из имеющих их планет. Впрочем, при желании вы можете смоделировать все спутники, указанные в таблице.

Начнем со спутника Земли:

1. Создайте NURBS-сферу и уменьшите ее размер примерно до половины размера Земли с помощью манипуляторов преобразования Scale (Масштабировать). В данном случае точный размер не имеет значения, поэтому его вполне допустимо оценить на глаз.

2. Щелкните на кнопке Snap to Grids (Привязка к сетке) в строке состояния, чтобы отключить функцию привязки к сетке, так как в данном случае она не понадобится. Активизируйте инструмент Move (Переместить) и поместите сферу на расстояние, равное примерно половине квадратика координатной сетки.

3. Создайте остальные спутники, также размещая их на расстоянии, равном половине квадратика координатной сетки, от соответствующих планет.

4. Закончив создание и размещение спутников, выделите все элементы сцены и нажмите клавишу 3, чтобы максимально увеличить их детализацию. Вид сцены в окне проекции Perspective (Перспектива) показан на рис. 3.6.


Назначение материалов

Сделаем планеты легко отличимыми друг от друга, назначив им простые материалы. Это можно сделать с помощью окна диалога Hypershade (Редактор узлов):



Рис. 3.6. Вид Солнечной системы после создания всех планет и спутников



Рис. 3.7. Окно диалога Hypershade

1. Выберите в меню Window (Окно) команду Rendering Editors > Hypershade (Редакторы визуализации > Редактор узлов). Появится окно, показанное на рис. 3.7. Обратите внимание на три загружающихся по умолчанию узла материалов.

2. Щелкните на значке Lambert (По Ламберту) на расположенной слева панели Create Maya Nodes (Создание узлов Maya). Новый узел появится одновременно на верхней и нижней вкладках окна диалога Hypershade (Редактор узлов). Щелкните на этом значке еще восемь раз, чтобы получить девять материалов на основе раскраски Lambert (По Ламберту).

3. Дважды щелкните на узле Iambert2, чтобы открыть для этого материала окно диалога Attribute Editor (Редактор атрибутов). В текстовое поле, расположенное в верхней части этого окна, введите имя Mercury_Color, чтобы однозначно указать, что этот материал предназначен для планеты Меркурий.

4. Присвойте и остальным материалам имена в соответствии с планетами, для которых они предназначены (Venus_Color, Earth_Color, Mars_Color, Jupiter_Color, Saturn_Color, Uranus_Color, Neptune_Color и Pluto_Color).

СОВЕТ

Для переименования узлов в окне диалога Hypershade (Редактор узлов) вовсе не обязательно каждый раз вызывать окно диалога Attribute Editor (Редактор атрибутов). Достаточно щелкнуть на узле правой кнопкой мыши и выбрать в появившемся меню команду Rename (Переименовать).

Еще раз напоминаю вам о том, как важно выработать собственную систему именования и использовать значимые имена. Это позволит избежать рутинной работы по перебору десятков безымянных узлов с целью найти среди них нужный. После присвоения имен всем материалам сохраните сцену.

Теперь присвоим каждому из материалов свой цвет:

1. Дважды щелкните на узле Mercury_Color, чтобы открыть для этого материала окно диалога Attribute Editor (Редактор атрибутов) (рис. 3.8), если вы его уже закрыли.

2. Чтобы изменить цвет материала, щелкните на цветовом поле, расположенном рядом с именем атрибута Color (Цвет). Появится окно диалога Color Chooser (Выбор цвета), в котором с помощью ползунков Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) выбирается нужный цвет. Введите в поля, расположенные слева от этих ползунков, значения 29,89, 0,788 и 0,5 соответственно (рис. 3.9).

3. Присвойте остальным материалам следующие цвета (табл. 3.3).

Таблица 3.3. Материалы для планет

Планета

Цвет

Hue

Saturation

Value

Венера

Серовато-желтый

50,80

0,522

0,482

Земля

Синий

238,23

0,851

0,5

Марс

Красный

3,27

0,779

0,851

Юпитер

Желто-зеленый

66,18

0,830

0,750

Сатурн

Бледно-желтый

60,00

0,221

1,00

Уран

Голубой

178,06

1,00

0,847

Нептун

Цвет морской волны

166,48

0,669

0,5

Плутон

Светло-серый

166,48

0

0,906



Рис. 3.8. Окно диалога Attribute Editor для материала Mercury_Color



Рис. 3.9. Окно диалога Color Chooser

Вид окна диалога Hypershade (Редактор узлов) после назначения материалам указанных цветов показан на рис. 3.10.

4. По очереди выделяйте планеты в окне проекции, щелкайте правой кнопкой мыши на имени соответствующего материала и выбирайте в появившемся меню команду Assign Material to Selection (Назначить материал выделенному объекту). Можно также средней кнопкой мыши перетащить материал из окна диалога Hypershade (Редактор узлов) на объект в окне проекции, хотя этим способом пользоваться не рекомендуется. Спутникам оставьте заданный по умолчанию серый цвет. Вид сцены после назначения материалов показан на рис. 3.11.

Итак, сцена полностью подготовлена к анимации. Сохраните файл. Благодаря включенной ранее функции сохранения с инкрементными именами, сцене будет присвоено новое имя. Теперь, если вы сделаете ошибку и потребуется восстанавливать анимацию, вам, по крайней мере, не нужно будет заново создавать планеты и назначать им материалы. Достаточно вернуться к последней сохраненной версии файла.



Рис. 3.10. Окно диалога Hypershade после назначения всех материалов



Рис. 3.11. Вид планет после назначения материалов

Анимация сцены

Для выполнения этой фазы проекта вы можете как загрузить файл Planets_v2.mb из папки ChapterFHes\Solar_System\scenes прилагаемого к книге компакт-диска, так и продолжить работу над созданной вами сценой. Анимация движения по орбитам является вполне очевидным процессом. Сначала нужно запрограммировать вращение планет вокруг своей оси, затем вы заставите спутники вращаться вокруг планет, а напоследок планеты вместе со своими спутниками будут приведены в движение вокруг Солнца.

В этом упражнении вам предстоит на практике познакомиться с иерархическими цепочками и опорными точками объектов. Опорная точка по умолчанию располагается в геометрическом центре объекта и является центром преобразований поворота и масштабирования.

Произведем предварительные настройки будущей анимации:

1. Нажмите клавишу F2 для перехода в режим Animate (Анимация).

2. В поле End Time (Конечное время), расположенном справа от шкалы диапазонов, введите значение 240. В результате продолжительность анимации станет равна 240 кадрам.

3. Щелкните на кнопке Animation Preferences (Параметры анимации). Выделите в списке Categories (Категории) появившегося окна диалога строчку Settings (Настройки) и в раскрывающемся списке Time (Время) выберите вариант NTSC (30 fps).

4. Убедитесь в том, что переключатель Up Axis (Направленная вверх ось) стоит в положении Y. Это гарантирует, что ось У в окне проекции Perspective (Перспектива) будет направлена вверх, а в окне проекции Тор {Вид сверху) — на наблюдателя.

СОВЕТ

В списке Categories (Категории) окна диалога Preferences (Параметры) выделите строчку Undo (Отмена) и установите переключатель Queue-(CteK) в положение Infinite (Бесконечность). В результате вы сможете применять команду Undo (Отмена) бесконечное число раз. Чтобы закрыть окно диалога Preferences (Параметры), щелкните на кнопке Save (Сохранить).

Установка ключевых кадров

Установить ключевые кадры можно разными способами. Чтобы лучше познакомиться с этой функцией, щелкните на квадратике, расположенном справа от команды Set Key (Создать ключ) в меню Animate (Анимация). Появится окно диалога Set Key Options (Параметры создания ключей).

Если просто выбрать команду Set Key (Создать ключ) в меню Animate (Анимация), ключ анимации будет создан для всех допускающих это атрибутов. На первый взгляд может показаться, что это удобно, но на самом деле в большинстве случаев такой подход не имеет практического смысла.

Ключи анимации для атрибутов, которые не меняются во времени, приводят к появлению лишних функциональных кривых и перегружают сцену. По умолчанию переключатель Set Keys On (Создавать ключ) стоит в положении All Manipulator Handles and КеуаЫе Attributes (Все управляющие векторы и атрибуты, допускающие создание ключей). Установите его в положение АИ КеуаЫе Attributes (Атрибуты, допускающие создание ключей анимации). Переключатель Channels (Каналы) установите в положение From Channel

Box (Из окна каналов). Теперь выбор команды Set Key (Создать ключ) в меню Animate (Анимация) будет приводить к созданию ключей анимации только для выделенных вами в окне диалога Channel Box (Окно каналов) каналов. Сохраните сделанные настройки, выбрав в меню Edit (Правка) окна диалога Set Key Options (Параметры создания ключей) команду Save Settings (Сохранить настройки), и щелкните па кнопке Close (Закрыть).

Вращение Меркурия

Заставим Меркурий вращаться!

1. Выделите объект Mercury и нажмите клавишу е, чтобы активизировать инструмент Rotate (Повернуть). Разверните окно проекции Perspective (Перспектива) на весь экран и нажмите клавишу f, чтобы увеличить изображение планеты.

2. Убедитесь в том, что ползунок таймера анимации стоит на отметке первого кадра.

3. Меркурий будет вращаться вокруг оси У. Выделите канал Rotate Y (Поворот относительно оси Y) в окне диалога Channel Box (Окно каналов) и выберите в меню Animate (Анимация) команду Set Key (Создать ключ). Выделенный атрибут окрасится в оранжевый цвет, указывая на то, что для него создан ключ анимации. Если бы вы оставили заданные по умолчанию параметры инструмента Set Key (Создать ключ), ключи анимации были бы созданы для всех указанных в окне диалога Channel Box(Окно каналов) каналов.

4. Установите ползунок таймера анимации на отметку кадра № 240. Сделайте полный оборот сферы вокруг оси Y, воспользовавшись зеленым управляющим кольцом.

5. Убедитесь в том, что канал Rotate Y (Поворот относительно оси Y) в окне диалога Channel Box (Окно каналов) по-прежнему выделен, и снова выберите в меню Animate (Анимация) команду Set Key (Создать ключ).

6. Чтобы посмотреть на полученный результат, подвигайте ползунок таймера анимации. Для этого щелкните на временной шкале и, удерживая левую кнопку мыши нажатой, перетаскивайте указатель. Вы увидите, что Меркурий вращается вокруг своей оси.

Такое количество действий для создания всего двух ключей анимации может показаться избыточным, но вспомните, что пока вы не прибегаете к клавиатурным комбинациям и контекстным меню. С ними вы познакомитесь при анимации следующей планеты.

Итак, Меркурий вращается вокруг своей оси. Так как у него нет ни одного спутника, осталось заставить его вращаться вокруг Солнца.

Создание группы и изменение положения опорной точки

Вы уже знаете, что все объекты в Maya имеют опорную точку, которая является центром преобразований поворота и масштабирования. Именно она определяет координаты объекта. Возникает вопрос — как заставить Меркурий вращаться вокруг Солнца, если опорная точка объекта Mercury располагается в его геометрическом центре?

Логичным действием кажется перемещение опорной точки сферы Mercury в центр объекта Sun, но при этом она уже не сможет вращаться вокруг своей оси. Вам требуется создать новую опорную точку с помощью нового, родительского узла. Информацию об узлах и иерархических цепочках вы получили в главе 2.

Итак, приступим к созданию новой опорной точки.

1. Убедитесь в том, что объект Mercury по-прежнему выделен, и выберите в меню Edit (Правка) команду Group (Группировать). В верхней части окна диалога Channel Box (Окно каналов) появится имя нового узла — groupl. Обратите внимание на то, что управляющие векторы преобразования Rotate (Повернуть) переместились из центра сферы Mercury в начало координат (рис. 3.12).



Рис. 3.12. Группировка объекта Mercury с самим собой приводит к появлению новой опорной точки, расположенной в начале координат

Сгруппировав объект Mercury с самим собой, вы, по сути, создали новый объект. Опорные точки создаваемых в Maya объектов по умолчанию помещаются в начало координат. Именно такой результат вам и нужен. Теперь ничто не мешает запрограммировать вращение планеты Меркурий вокруг Солнца.

2. Щелкните на слове groupl в верхней части окна диалога Channel Box (Окно каналов) и присвойте новой группе имя Mercury_0rbit.

3. Щелкните в произвольной точке окна проекции, чтобы снять выделение с объекта Mercury_0rbit. Попытайтесь снова выделить этот узел. Обратите внимание на то, что щелчок на объекте Mercury приводит к выделению только самой сферы. Это связано с тем, что сейчас вы находитесь в режиме выделения объектов.

СОВЕТ

Для выделения группы Mercury_0rbit нужно переключиться в режим выделения иерархии, нажав кнопку Hierarchy Mode (Режим выделения иерархических цепочек) в строке состояния. Не забудьте после этого вернуться в режим выделения объектов, нажав расположенную рядом кнопку Object Mode (Режим выделения объектов).

4. Верните ползунок таймера анимации на отметку первого кадра и создайте ключ анимации для атрибута Rotate Y (Поворот относительно оси Y) объекта Mercury_ Orbit, выбрав в меню Animate (Анимация) команду Set Key (Создать ключ).

5. Установите ползунок таймера анимации на отметку кадра № 240 и дважды поверните сферу Mercury вокруг Солнца. Можно также напрямую ввести значение 720 в поле Rotate Y (Поворот относительно оси Y) окна диалога Channel Box (Окно каналов).

6. Выберите в меню Animate (Анимация) команду Set Key (Создать ключ). Подвигайте ползунок таймера анимации, чтобы посмотреть на полученный результат.

Одна планета уже анимирована! Осталось еще восемь.

Анимация Венеры

Анимацию следующей планеты — Венеры — произведите по уже знакомому вам алгоритму. Сначала заставьте Венеру вращаться вокруг своей оси, затем сгруппируйте этот объект с самим собой, присвойте новому узлу имя Venus_0rbit и заставьте его двигаться вокруг Солнца.

Анимация Земли и Луны

Анимация третьей от Солнца планеты осуществляется примерно таким же способом, но ситуация осложняется наличием у Земли спутника. В этой части упражнения вам впервые предстоит воспользоваться клавиатурной комбинацией.

ПРИМЕЧАНИЕ

Нажатие клавиши s аналогично выполнению команды Set Key (Создать ключ). Но перед тем как прибегнуть к подобному методу создания ключей, обязательно нужно вызвать окно диалога Set Key Options (Параметры создания ключей) и проверить параметры данной команды.

Приступим к анимации Земли и ее спутника:

1. Выделите объект Earth и заставьте его вращаться вокруг своей оси уже известным вам методом. Но на этот раз вместо выбора в меню Animate (Анимация) команды Set Key (Создать ключ) просто нажимайте клавишу s.

2. Выделите спутник Земли и также заставьте его вращаться вокруг своей оси.

3. Чтобы заставить Луну вращаться вокруг Земли, сгруппируйте этот объект с самим собой с помощью команды Group (Группировать) из меню Edit (Правка). Присвойте новой группе имя Moon_0rbit.

4 Но в данном случае преобразование поворота должно совершаться относительно центра Земли, а не центра Солнца. Поатому опорную точку нужно переместить.

5 Включите режим привязки к сетке и нажмите клавишу Insert для перехода в редактирования опорной точки. Манипулятор изменит свои вид, так как теперь он управляет не поворотом объекта, а перемещением опорной точки.

6. Перетащите опорную точку в центр объекта Earth (рис. 3.13).



Рис. 3.13. Результат перемещения опорной точки объекта Moon_Orbit в центр сферы Earth

7 Снова нажмите клавишу Insert, чтобы вернуться в режим редактирования объекта и убедившись, что ползунок таймера анимации стоит на отметке кадра № 1 создайте ключ анимации для параметра Rotate Y (Поворот относительно оси Y) Установите ползунок таймера анимации на отметку кадра № 240, поверните Луну вокруг Земли и создайте еще один ключевой кадр.

Группировка Земли и Луны

Теперь нужно заставить Землю вращаться вокруг Солнца, причем Луна должна сопровождать ее в этом движении. Поэтому вам недостаточно будет выделить объект Earth и сгруппировать его с самим собой. Эта задача решается следующим образом:

1 Перейдите в режим выделения иерархии, нажав кнопку Hierarchy Mode (Режим выделения иерархических цепочек) в строке состояния, и щелчками при нажатой клавише Shift выделите сначала Землю, а потом Луну. Выберите в меню Edit (Правка) команду Group (Группировать) и присвойте новой группе имя Earth Orbit Помните, что для выделения группы нужно предварительно перейти в режим выделения иерархии. Опорная точка новой группы располагается в начале координат, то есть в центре объекта Sun.

2. Создайте ключ анимации для атрибута Rotate Y (Поворот относительно оси Y) группы Earth_Orbit в кадре № 1.

3. Установите ползунок таймера анимации на отметку кадра № 240, несколько раз поверните группу вокруг Солнца и создайте еще один ключевой кадр.

Вот уже три планеты в нашей сцене вращаются вокруг своей оси и движутся по орбитам вокруг Солнца. Вокруг одной из планет вращается спутник. Сохраните сцену, если вы еще этого не сделали.

Анимация остальных спутников

Повторите процедуру анимации для остальных планет и спутников, оставив на месте только один из спутников Марса и последнюю планету — Плутон.

ВНИМАНИЕ

Если окажется, что один из спутников не вращается вокруг своей планеты или прекратил вращение вокруг своей оси, значит, вы допустили ошибку при группировке. Воспользуйтесь функцией Undo (Отмена), чтобы разорвать связь между объектами, и произведите группировку заново.

Автоматическое создание ключевых кадров

При создании анимации иногда удобно пользоваться функцией автоматической установки ключевых кадров, которая включается нажатием кнопки Auto keyframe (Автоматическая установка ключевых кадров), расположенной справа от шкалы диапазонов. Идея метода состоит в том, что после включения этой функции любое изменение параметров объекта приводит к созданию ключа анимации. Например, вы задаете ключевой кадр для атрибута Rotate Y (Поворот относительно оси Y) и перемещаете ползунок таймера анимации. В результате изменение этого параметра автоматически приводит к появлению ключа в текущем кадре.

Рассмотрим, как работает функция автоматической установки ключевых кадров, на примере статичного пока спутника Марса.

1. Нажмите кнопку Auto keyframe (Автоматическая установка ключевых кадров).

2. Убедитесь в том, что ползунок таймера анимации установлен на отметку кадра № 1. Выделите строчку Rotate Y (Поворот относительно оси Y) в окне диалога Channel Box (Окно каналов) и нажмите клавишу s.

3. Установите ползунок таймера анимации на отметку кадра № 240 и введите в поле Rotate Y (Поворот относительно оси Y) значение 720. Новый ключевой кадр готов. Сохраните файл.


Окно диалога Outliner

Посмотрим, как же выглядит иерархия планет и спутников в окне диалога Outliner (Структура). Если объекты были сгруппированы корректно, вы увидите структуру сцены, подобную показанной на рис. 3.14. Выберите в меню Window (Окно) команду Outliner (Структура). Если вы не успели присвоить каким-то из планет и спутников значимые имена, исправьте этот недостаток.

В качестве примера рассмотрим иерархическую цепочку планеты Марс и двух ее спутников. Иерархические цепочки остальных планет с двумя спутниками имеют точно такую же структуру.



Рис. 3.14. Иерархические зависимости для созданной вами модели Солнечной системы в окне диалога Outliner

В нижней части иерархии располагаются два спутника Марса — mars_moon и mars_ moon2. Каждый из них вращается вокруг собственной опорной точки, расположенной в геометрическом центре. Затем каждый из этих спутников был сгруппирован сам с собой. В результате появились узлы mars_moon_ orbit и mars_moon2_orbit. Их опорные точки были перемещены в центр сферы Mars, что дало возможность смоделировать движение по орбите.

Планета Марс, в свою очередь, вращается вокруг собственной опорной точки, но чтобы заставить ее двигаться вокруг Солнца, требуется еще одна. Кроме того, спутники должны перемещаться вместе с планетой. Поэтому нужно выделить объекты Mars, mars_moon и mars_moon2 и объединить их в группу. Опорная точка этой группы окажется в начале координат, в центре объекта Sun. Полученный в результате узел носит имя Mars_orbit. Он располагается наверху группы, то есть является предком по отношению к остальным узлам. Дочерние объекты наследуют все его преобразования.

Подобные типы иерархических цепочек встречаются в Maya довольно часто. Поэтому вы должны четко осознать, как они формируются, и изучить все приемы работы с ними.


Редактирование иерархических цепочек в окне диалога Outliner

В рассматриваемом случае вполне может возникнуть ситуация, когда планета начинает вращаться вокруг Солнца без одного или обоих своих спутников. Сейчас в сцене остается статичным только Плутон с его спутником. Намеренно сделаем ошибку в формировании иерархической цепочки, чтобы узнать, как ее можно скорректировать в окне диалога Outliner (Структура).

Выделите Плутон и выполните следующие действия:

1. Заставьте Плутон вращаться вокруг своей оси.

2. Заставьте его спутник также вращаться вокруг своей оси.

3. Сгруппируйте спутник с самим собой и в режиме привязки к координатной сетке поместите опорную точку группы в центр Плутона. Затем заставьте спутник вращаться вокруг планеты.

Итак, все готово для группировки Плутона и его спутника и анимации их движения вокруг Солнца.

4. Именно теперь вы сделаете ошибку. В режиме выделения объектов выделите сферу pluto_moon, а затем — сферу Pluto. Ошибка состоит в том, что вы забыли перейти в режим выделения иерархии.

5. Выберите в меню Edit (Правка) команду Group (Группировать) и присвойте новой группе имя Pluto_Orbit.

6. Заставьте группу Pluto_Orbit вращаться вокруг Солнца.

7. Запустите воспроизведение анимации.

Обратите внимание на то, что спутник перестал вращаться вокруг планеты. Это Вызвано тем, что вы забыли включить объект ptuto_moon_orbit в группу Pluto_Orbit. Именно в этом узле хранится информация о движения спутника по орбите планеты. А так как он не присоединен к узлу-предку Pluto_Orbit, это движение просто игнорируется.

На рис. 3.15 показано отличие иерархической цепочки Плутона от цепочек остальных планет. Там четко видно, что узел, управляющий вращением спутника, оставлен за пределами группы. Окно диалога Outliner (Структура) позволяет легко решить эту проблему. Достаточно поместить узел pluto_ moon_orbit под узлом Pluto_Orbit. Убедитесь в том, что ползунок таймера анимации стоит на отметке Первого кадра, и средней кнопкой мыши перетащите узел pluto_ moon_orbit вниз (рис. 3.16). Когда под именем узла Pluto_Orbit появится черная черта, а указатель мыши изменит форму, отпустите кнопку мыши.



Рис. 3.15. Некорректная иерархическая цепочка, созданная для планеты Плутон



Рис. 3.16. Перегруппировка объектов в окне диалога Outliner

Вы только что добавили узел pluto_moon_orbit в группу PlutoJDrbit. Этот процесс называется формированием иерархической цепочки (parenting). Теперь осталось сделать узел pluto_moon_orbit родительским по отношению к узлу pluto_moon. Для этого средней кнопкой мыши перетащите узел pluto_ moon на узел pluto_moon_orbit. Теперь при воспроизведении анимации вы увидите, что спутник вращается вокруг Плутона, а оба они в то же время вращаются вокруг Солнца. И структура иерархической цепочки Плутона в окне диалога Outliner (Структура) ничем не отличается от структуры цепочек других планет.

Файл Planets_v3.mb, расположенный в папке ChapterFHes\Solar_System\scenes прилагаемого к книге компакт-диска, даст вам представление о том, как должна выглядеть сцена. Но сгруппированы и анимированы в ней только первые пять планет. Закончить работу над проектом вам предлагается самостоятельно.

СОВЕТ

Для удаления объекта из группы достаточно в окне диалога Outliner (Структура) перетащить его средней кнопкой мыши за пределы группы

Терминология

Словосочетание «группировка узла А под узлом В» означает, что узел А требуется сделать дочерним по отношению к узлу В. Соответственно, узел В становится предком по отношению к узлу А. Это также означает, что узел А унаследует любые преобразования узла В.

Если группировке подвергаются одновременно узел А и узел В, они оба становятся потомками нового узла С, который принято называть пулевым узлом (null node). Группируются объекты их одновременным выделением и последующим выбором команды Group (Группировать) в меню Edit (Правка).

Процесс формирования иерархических цепочек (parenting) приводит к размещению первого выделенного узла под вторым. Например, если вы выделили узел А, а затем при нажатой клавише Shift выделили узел В и выбрали в меню Edit (Правка) команду Parent (Сделать родителем), узел А окажется дочерним по отношению к узлу В. Эта процедура аналогична перетаскиванию узлов средней кнопкой мыши в окне диалога Outliner (Структура).


Подведем итоги

Созданная в этой главе анимация планет представляет собой наложение друг на друга простых движений для получения сложного. Подобный подход позволяет сделать анимацию более наглядной и в общем случае получить более качественный результат. При работе над анимацией большая часть времени тратится на редактирование нюансов движения. Ведь именно нюансы делают сцену достоверной. Скоро вы убедитесь в том, что на создание заготовки сцены уходит 15 % от всего времени работы над ней. Оставшиеся 85 % времени уходят на доведение сцены до совершенства.