Учебное пособие - Руководство пользователя Maya 2014

advertisement
Серия учебников «Завтра на работу»
Станислав Куракин
Autodesk Maya
- это просто
Под редакцией Надежды Куракиной
2014 год
Часть 1. Полигональное моделирование в Autodesk Maya с нуля
Для начала работы загрузи версию программы Autodesk Maya, которая наилучшим образом подойдёт для твоей
операционной системы и железа. Системные требования читай на официальном сайте разработчика:
http://knowledge.autodesk.com/support/maya/troubleshooting/caas/sfdcarticles/sfdcarticles/System-requirements-forAutodesk-Maya.html. Данное руководство написано с использованием 11 версии.
Теперь давай изучать операции, которые использует полигональный модельер в своей работе.
1. Проверь, чтобы на твоём мониторе всё было именно так как на рисунке, приведенном ниже.
А. Выбран режим полигонального моделирования – Polygons
Б. Выбрана закладка – Polygons
1
2
В. Стрелка мышки наведена на кубик
3
2. После этого щёлкни на кубике левой клавишей мышки и перенеси мышку на рабочую поверхность.
3. Ещё раз нажими левую кнопку мышки и проведи ей, удерживая при этом клавишу Shift. В итоге получится такой
красивый кубик:
4. После этого вызови Редактор Атрибутов как это показано на рисунке:
Его окно появляется справа и выглядит вот-так:
5. Выбираем вкладку pCube1
6. Раскрываем список Атрибутов Трансформации (Transform Attributes) и устанавливаем атрибут Перемещения
(Translate) в ноль для всех значений осей X, Y и Z.
Если непонятно, смотри сюда:
Более профессионально и правильно будет вписать скрипт вызвав Редактор сценариев (Script Editor), через
меню Window > General Editors > Script Editor (Окно > Редакторы общего назначения > Редактор сценариев)
Приведенный ниже скрипт скопируй в окно вкладки MEL
string $listObj[] = `ls -sl`;
for ($obj in $listObj){
xform -centerPivots $obj;
makeIdentity -apply true -t 1 -r 0 -s 0 -n 0 $obj;
float $pivPos[] = `xform -q -ws -piv $obj`;
move -ws ($pivPos[0]*-1)
($pivPos[1]*-1)
($pivPos[2]*-1) $obj;
}
Выглядеть он будет вот так:
Обрати внимание, что для выполнения команды кубик должен быть выделен. Делается это с помощью
инструмента Select Tool.
Сначала выбираем этот инструмент, а далее обводим наш кубик удерживая левую клавишу мышки:
Когда кубик выбран его грани окрасятся в зелёный цвет. Если хочешь, переключи его отображение вот в такое:
Делается это с помощью кнопок на экране:
или на на клавиатуре компьютера (цифры 5 и 4, соответственно). Поэкспериментируй с режимами просмотра,
обрати внимание что кубик выделен (грани окрашены в зелёный) и далее нажми кнопку Выполнить Execute в
окне Редактора сценариев (Script Editor).
Наш кубик переместиться в начало координат. Теперь окно Script Editor можно закрыть.
Ну, что? Немного освоился в Maya. Пора немного отдохнуть.
Переменка
А любознательным предлагаю покрутить наш кубик, обратившись к процедурной анимации.
Расположи курсор мышки в ячейке оси Х атрибута Вращение (Rotate) и нажав правую кнопку мышки выбери
пункт выпадающего меню Create New Expression.
Появится окно процедурной анимации:
В нём нужно задать имя процедуры 1, вписать формулу 2 и нажать кнопку Create 3
Формула: pCube1.rotateX = time * 50 показывает зависимость угла вращения по оси X от времени (поскольку
изменяющимся параметром у нас будет время или параметр time.
Для плавности анимации, увеличим количество кадров до 1000
Далее запускаем кнопку воспроизведения
Так, мимоходом мы познакомились с процедурной анимацией. Можно аналогично оси X задать Expression для Y и
Z. Обратите внимание, что ячейка атрибута с Expression окрашивается в жёлтый цвет.
Продолжаем заниматься нашим полигональным моделированием. Для удобства моделирования настроим
выделение полигонов «по центру».
Window > Settings Preferences > Preferences > Selection > Select Faces with=Center
И удалим Expression с атрибута RotateX (анимация отвлекает:)
Приблизим наш кубик, ввыделив его и нажав клавишу F на клавиатуре (обращай внимание на раскладку
клавиатуры, должна быть EN). Наш экран будет выглядеть следующим образом:
Нажимаем клавишу 5 на клавиатуре и далее переходим в компонентный режим просмотра, нажав его кнопку как
показано на рисунке:
В этом режиме выбираем полигоны
Итак, всё подготовлено переходим к нашему следующему шагу обучения.
7. Выбираем одну из граней кубика, щёлкая левой кнопкой мышки в её центре
8. Выполняем команду Выдавливания Extrude (обращаем внимание на режим работы, должен быть Polygons :)
Поскольку мы немного занимались анимацией, наше меню могло переключиться.
Переходим в режим фронтальной проекции…
выбираем инструмент Перемещение (Move Tool)…
и тянем за один из манипуляторов, предварительно увеличив его клавишей «+» на клавиатуре компьютера
Ну что-же. Твоя первая экструзия удалась успешно!
Поскольку эту утомительную операцию тебе на работе прийдётся выполнять очень часто, назначим на неё
горячую клавишу. Идём: Window > Settings/Preferences > Hotkey Editor
В появившемся окне выбираем Edit Mesh 1, PolyExtrude 2, ставим горячую клавишу (например Е), отметив
одновременно галку Ctrl 3 и далее нажимаем кнопку Assign 4.
Теперь в меню появилось сочетание клавиш на которое Maya будет быстро реагировать, выполняя
Выдавливание (Extrude). Кстати, от себя программа добавила ещё и клавишу Shift.
Теперь можно попрактиковаться в действии, которое будет одним из основных в твоей будующей работе.
Кстати, после выполнения команды в стандартных настройках программы предусмотрено переключение на
универсальный манипулятор, работу с которым тебе неплохо освоить. Попробуй сделать какую либо простую
полигональную конструкцию с помощью этого манипулятора.
Стрелки обозначают манипуляторы перемещения, квадратики возле них работают на маштабирование, а при
нажатии на окружность включаются манипуляторы вращения. Кстати, для отмены операции служит клавиатурная
клавиша «z».
Далее продолжим полигональное моделирование и сделаем вот такую модель арки:
1. Для начала откроем новую сцену сочетанием клавиш Ctrl+N и изменим отображение проекций на
ортогональное (вид сверху)
2. Создадим арку с помощью инструмента Three Point Circular Arc из меню Сreate > Arc Tools
Вид курсора измениться. Для привязки к сетке нужно удерживать клавишу “x”. Отступаем по шесть клеточек от
точки пересечения координат и ставим три точки по часовой стрелке.
3. Выбираем инструмент Create Polygon Tool из меню Mesh
Отступаем 9 клеточек вверх от горизонтальной оси координат и ставим две точки слева и справа также с
отступом на 9 клеточек от вертикальной оси координат, не забываем удерживать клавишу привязки к сетке «х».
Отступаем 12 клеточек вниз от горизонтальной оси координат и делаем прямоугольник, не забывая о привязке к
сетке. Получим вот такой рисунок:
4. Выбираем последний использованный инструмент в панели инструментов, расположенной слева. В нашем
случае это будет Create Polygon Tool.
Начинаем рисовать арку, используя созданные заготовки. Первой точкой у нас будет верхний правый угол
прямоугольника. Не забываем о привязке к сетке.
Когда дойдём до левой точки арки сделаем приближение. Для этого нужно удерживая клавиши Ctrl и Alt обвести
приближаемую область с помощью левой кнопки мышки. Курсор поменяет вид на стрелку со знаком “+” (ведём из
верхнего левого угла области увеличения в её нижний правый угол). Если сделать наоборот, курсор будет иметь
вид стрелки со знаком “-”, что означает отдаление объекта. Если нажать клавишу “5” на клавиатуре мы увидим
такое отображение:
Увеличив область возле дуги, ставим точки на её пересечении с координатной сеткой. Для привязки теперь
нажимаем клавишу «С» на клавиатуре.
Используя приближение и отдаление областей, проставляя точки в нужных местах, в итоге получим такой
рисунок:
5. Теперь удалим наши заготовки и очистим историю. Нажимаем кнопку выбора объектов:
С помощью левой кнопки мышки и клавиши Shift выделяем дугу и прямоугольник и удаляем их:
После удаляем историю Edit > Delete by Type > History
Теперь перейдём в окно перспективной камеры и выполним нашу любимую экструзию или выдавливание.
Предварительно не забыв выбрать компонентный режим 1 и нажав кнопку выбора граней 2
Теперь остаётся выбрать грань и нажать комбинацию быстрых клавиш для операции Выдавливания, которую
мы уже делали с нашим кубиком.
Потянув за синюю стрелку получим арку в объёмном виде:
Значение параметра экструзии нужно поставить равным 0.6. Делается это в Редакторе Атрибутов (Atribute
Editor), закладка Poly Extrude Fase History, атрибут Local Translate для оси Z:
После опять удаляем историю Edit > Delete by Type > History
6. Далее в компонентном режиме нажмём кнопку выбора рёбер
и отметим нижнее переднее ребро арки
После этого выполним команду меню Select > Select Contiguous Edges, которая выделит весь ряд рёбер.
и далее опять наше любимое Выдавливание (Extrude)
после изменим окно проекции на ТОР
и перейдём к инструменту Маштабирование (Scale Tool), нажав клавишу “R” на клавиатуре или кнопку Scale Tool в
панели инструментов
После этого, потянем красный кубик масштабирования по оси Х, переместив новую грань на одну клетку
Теперь нажав клавишу Ctrl на клавиатуре, убираем выделение с нижних рёбер
и тянем синий кубик масштабирования по оси Z вниз, поднимая новую грань на одну клетку
7. Переходим в режим выбора граней
удерживая клавишу Shift, выбираем грани нового элемента арки
и снова операция Выдавливания
В итоге получаем вот такую арку. Сохрани её, поскольку она пригодится нам дальше.
Чтобы её поднять в вертикальное положение, выбираем инструмент Перемещение (Move Tool)
Нажимаем клавишу Insert и переносим Центр вращения (Pivot) в нижнюю точку, задав её координаты в
Редакторе Атрибутов X(0), Y(0), Z(12)
Теперь выбираем инструмент вращение 1 и поднимаем арку.
Более быстрым, точным и правильным будет поставить атрибут RotateX в значение 90° 2
8. Для дублирования арки, смещаем Pivot в нижний правый угол, задав для его положения, значения в
Редакторе Атрибутов X(9), Y(0), Z(12)
далее нажимаем сочетание клавиш Ctrl+D это команда Дублирования (Duplicate) и ставим значения атрибута
Rotate X(90), Y(90), Z(0)
Теперь остаётся развернуть исходную арку на 180°, предварительно сместив её Pivot в центр основания.
Rotate X(90), Y(-180), Z(0)
Pivot X(0), Y(0), Z(12)
Полигональная модель арки готова.
Создать ещё два элемента и крышу, попробуй самостоятельно.
9. Теперь сделаем ворота, которые будут сами открываться, для этого открой сохранённый файл с аркой
и перейди в ортогональную проекцию
10. Для начала, нарисуй створку ворот, используя полученные знания
11. После немного уменьши размер створки относительно арки с помощью маштабирования (режим объекта)
Далее в компонентном режиме, нажми кнопку выбора рёбер…
и немного опусти нижнее ребро створки ворот
Далее наша любимая операция Выдавливание (компонентный режим граней)
Теперь остаётся создать вторую створку…
и отрегулировать зазор между створками с помощью выбора рёбер в компонентном режиме
используя инструмент перемещение
Что-бы скрыть вторую створку, выбери её и установи атрибут Visibility в 0 убрав с него галку (смотри
рисунке). При этом обрати внимание где он находится 2
1 на
Чтобы вернуть вторую створку на место, нужно сделать обратную операцию (поставить галку на место). Для этого
вызови Outliner …
и в нём выбери объект, относящийся ко второй створке 1. Далее поставь галку как была 2
13. Теперь сделай петли, используя полигональный примитив и полученные знания
для пропорционального маштабирования, используй центральный кубик инструмента…
для установки петель на место, работай в ортогональных проекциях…
для выбора лучше использовать Outliner 1, а как правильно создавать копии, ты уже знаешь 2
Теперь нам нужно перенести Центр вращения (Pivot) створок ворот в центр верхних петель, нажав клавишу
Insert и работая в ортогональных проекциях
Теперь нужно сгруппировать наш объект Ctrl+G …
и Pivot группы 1 сместить в нижнюю часть 2, задав для его положения следующие значения 3
Далее разворачиваем нашу группу…
и отодвигаем её
Ворота готовы. Можно теперь открыть створки
Возвращаем их на место, удаляем историю и сохраняем файл
Переменка: интересно знать
На переменке заглянем в комнату для любознательных. Как ты смог заметить, оси X, Y и Z в программе Maya
окрашены в различные цвета – красный, зелёный и синий. Это связанно с очерёдностью цветов в цветовой гамме
RGB, запомнив которую ты легко будешь ориентироваться в осях при любой проекции. Центральная часть,
расположенная на пересечении всех осей, отвечает за перемещение в пространстве 1 и пропорциональное
масштабирование 2.
При вращении внешняя окружность (жёлтого цвета) будет вращать объект параллально выбранной проекции.
Подсказку по цветам осей, также можно посмотреть в нижнем левом углу экрана проекции. Увеличивать и
уменьшать манипуляторы можно с помощью клавиш “+” и “-”, об этом ты уже знаешь.
Продолжаем занятие и сейчас мы сделаем новый атрибут, который будет отвечать за открытие ворот. Для
начала, выбери нашу группу 1 и с помощью команды Freeze Transformations 2 обнули все значения атрибутов
трансформации 3, задав исходное положение объёкту как первичное.
14. Открой створки ворот, задав значения вращения для оси Y
15. При выбранном объекте, выполни команду меню Modify > Add Attribute
дальше задай имя новому атрибуту 1 и обозначь минимальное, максимальное и начальное значения
2
В Редакторе Атрибутов появиться новый динамический атрибут
Теперь установи связь между ним и Вращением створки ворот по оси Y с помощью команды выпадающего меню
Set Driven Key
В появившемся окне с помощью кнопки Load Driver 1 выбираем управляющий атрибут LeftSashGate 2 и далее
выставляем управляемый атрибут rotateY 3 и нажимаем кнопку Key. Так мы установили значение для закрытых
ворот LeftSashGate = 0, rotateY = 0
Далее устанавливаем значение LeftSashGate = 1, переведя ползунок вправо 1, а rotateY = -180 градусов 2 и
снова нажимаем кнопку Key 3
Двигаем ползунок атрибута и наша створка открывается LeftSashGate = 1 или закрывается LeftSashGate = 0,
выполняя движение при промежуточных значениях
Далее создаём динимический атрибут RightSashGate для правой створки, после удаляем историю и сохраняем
файл
16. Следующим шагом свяжем между собой атрибуты LeftSashGate и RightSashGate для этого открой Windows
> General Editors > Connection Editor
Выбери левую створку 1 и нажми кнопку Reload Left 2
После выбери правую створку 1 и нажми кнопку Reload Right 2
далее убери галки в меню Left Display > Show Non-Keyable и Right Display > Show Non-Keyable
и выбери атрибуты LeftSashGate и RightSashGate
ячейка значений атрибута RightSashGate окрасилась в жёлтый цвет, это значит, что он зависит от LeftSashGate
теперь ползунок атрибута LeftSashGate открывает две створки ворот
17. Теперь приступаем к созданию мостика перед нашей аркой, который будет появляться при открытии ворот
С помощью уже знакомого тебе инструмента Create Polygon Tool из меню Mesh нарисуй в ортогональной
проекции прямоугольник 1 на 2 клетки, не забывая использовать привязку к сетке (клавиша «х»)
Примени к прямоугольнику операцию Выдавливания по оси Z
Установи Pivot в центре прямоугольника, работая в режиме выбора объектов при включённом инструменте
перемещения и выбрав команду меню Modify > Center Pivot
Далее с помощью команды меню Edit > Duplicate Special, нажав на прямоугольный бочёнок
вызови окно специального копирования Duplicate Special и установи здесь смещение по оси Y равное 3, а
количество копий 10
после выбери, созданные объекты через один и смести их в левую сторону по оси Х, задав значение -9
для остальных объектов задай значение Х=9, сместив их вправо
После сгруппируй отдельно левую и правую части мостика…
и задай имя всем группам плюс объектам групп
18. Для мостика создай дополнительные динимические атрибуты как и для створок ворот, только они будут
связаны не с вращением, а с масштабированием. Перед этим, смести Pivot левой и правой частей мостика…
значение ScaleX для левой и правой частей установи равным 10…
установи мостик на место, сместив его по оси Y на одну клетку вниз и выполни традиционные: Freeze
Transformations, Delete by Type > History, Ctrl+S
После задания ключей динамических атрибутов, создай управление обеими частями моста с помощью ползунка
Brige Left S, аналогично, как мы это делали со створками ворот
19. На следующей ступеньке мы научим наш мостик и ворота встречать весёлого колобка
Создайте полигональную сферу 2 на 2 клетки, используя инструменты привязки – это и будет прототип нашего
героя
Увеличь его масштаб и приподними на высоту мостика
Установи зависимость угла вращения от перемещения колобка создав Expression
kolobok.rotateX = 360 * kolobok.translateZ / (3.14 * kolobok.scaleZ)
Теперь при перемещении по оси Z наш объект – колобок будет вращаться вокруг оси X
Далее создай Expression для моста, установив его на атрибуте BridgeLeftS
if (kolobok.translateZ < 70)
BridgeLeft.BridgeLeftS = 1.8 - (kolobok.translateZ - Ark.translateZ) * 0.025;
else
BridgeLeft.BridgeLeftS = 0;
и для ворот, атрибут Left Sash Gate
if(kolobok.translateZ < 70)
LeftSashGate.LeftSashGate = 1.8 - (kolobok.translateZ - Ark.translateZ) * 0.025;
else
LeftSashGate.LeftSashGate = 0;
Теперь всё готово к приёму сказочного гостя
Download