Серия учебников «Завтра на работу»
Станислав Куракин
Autodesk Maya
- это просто
Под редакцией Надежды Куракиной
2014 год
Часть 1. Полигональное моделирование в Autodesk Maya с нуля
Для начала работы загрузи версию программы Autodesk Maya, которая наилучшим образом подойдёт для твоей операционной системы и железа. Системные требования читай на официальном сайте разработчика: http://knowledge.autodesk.com/support/maya/troubleshooting/caas/sfdcarticles/sfdcarticles/System-requirements-for-Autodesk-Maya.html. Данное руководство написано с использованием 11 версии.
Теперь давай изучать операции, которые использует полигональный модельер в своей работе.
1. Проверь, чтобы на твоём мониторе всё было именно так как на рисунке, приведенном ниже.
А. Выбран режим полигонального моделирования – Polygons 1
Б. Выбрана закладка – Polygons 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 окрашивается в жёлтый цвет.
Продолжаем заниматься нашим полигональным моделированием. Для удобства моделирования настроим выделение полигонов «по центру».
W indow > 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. Для начала, нарисуй створку ворот, используя полученные знания
1 1. После немного уменьши размер створки относительно арки с помощью маштабирования (режим объекта)
Далее в компонентном режиме, нажми кнопку выбора рёбер…
и немного опусти нижнее ребро створки ворот
Д алее наша любимая операция Выдавливание (компонентный режим граней)
Теперь остаётся создать вторую створку…
и отрегулировать зазор между створками с помощью выбора рёбер в компонентном режиме
используя инструмент перемещение
Что-бы скрыть вторую створку, выбери её и установи атрибут Visibility в 0 убрав с него галку (смотри 1 на рисунке). При этом обрати внимание где он находится 2
Чтобы вернуть вторую створку на место, нужно сделать обратную операцию (поставить галку на место). Для этого вызови Outliner …
и в нём выбери объект, относящийся ко второй створке 1. Далее поставь галку как была 2
1 3. Теперь сделай петли, используя полигональный примитив и полученные знания
д ля пропорционального маштабирования, используй центральный кубик инструмента…
для установки петель на место, работай в ортогональных проекциях…
для выбора лучше использовать 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 для правой створки, после удаляем историю и сохраняем файл
1 6. Следующим шагом свяжем между собой атрибуты 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, сместив их вправо
После сгруппируй отдельно левую и правую части мостика…
и задай имя всем группам плюс объектам групп
1 8. Для мостика создай дополнительные динимические атрибуты как и для створок ворот, только они будут связаны не с вращением, а с масштабированием. Перед этим, смести 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
B ridgeLeft.BridgeLeftS = 0;
и для ворот, атрибут Left Sash Gate
if(kolobok.translateZ < 70)
LeftSashGate.LeftSashGate = 1.8 - (kolobok.translateZ - Ark.translateZ) * 0.025;
else
L eftSashGate.LeftSashGate = 0;
Т еперь всё готово к приёму сказочного гостя
Достарыңызбен бөлісу: |