Первые шаги в Maya. Урок 8. Нелинейные деформаторы

Светлана Шляхтина

Теоретические аспекты

Bend

Flare

Sine

Squash

Twist

Wave

Анимирование деформаторов

Примеры использования деформаторов

Сверло

Винтовая лесенка

Развевающийся флаг

Столик с металлическими украшениями

Откидной календарь

Волнующееся море

Столик с металлическими украшениями

Попробуем решить более сложную задачу — смоделировать столик, боковая поверхность столешницы которого, равно как и ножки, украшены витым металлическим прутом, а ножки еще и эффектно изогнуты. Начнем с создания металлического прута. Сформируйте NURBS-окружность (команда Create=>NURBSPrimitives=>Circle) с числом секций ( Sections), равным 20, и линейным вариантом соединения вершин (для параметра Degree вариант Linear) — рис. 51. Перейдите в режим редактирования вершин (клавиша F8), выделите все нечетные (или, наоборот, только четные) вершины и масштабируйте их так, чтобы получилась многоугольная звездочка (рис. 52). Создайте ее копию, переместите копию вверх по оси Y на достаточно большое расстояние, последовательно выделите обе звездочки, сформируйте на их основе лофт-объект (команда Surfaces=>Loft), а затем увеличьте число его секций в окне каналов до 150 (рис. 53). Поверните его на 90° по оси Z, назначьте лофт-объекту деформатор скручивания, также поверните данный деформатор вокруг оси Z на 90° и присвойте параметру Start Angle максимально возможное значение, а параметру End Angle — минимально возможное (рис. 54). Выделите скрученный лофт-объект, назначьте ему деформатор Bend, поверните деформатор по осям Y и Z на 90° (он должен быть расположен в горизонтальной плоскости) и подберите значение параметра Curvature (Кривизна) так, чтобы лофт-объект свернулся кольцом (рис. 55). Полученное витое кольцо при рендеринге будет выглядеть примерно так, как показано на рис. 56. Создайте столешницу из полигонального цилиндра и совместите ее с витым кольцом так, чтобы получилось единое целое (рис. 57).

 

Рис. 51. Параметры NURBS -окружности

Рис. 51. Параметры NURBS -окружности

 

Рис. 52. Результат масштабирования вершин

Рис. 52. Результат масштабирования вершин

 

Рис. 53. Лофт-объект

Рис. 53. Лофт-объект

 

Рис. 54. Скручивание лофт-объекта

Рис. 54. Скручивание лофт-объекта

 

Рис. 55. Сворачивание лофт-объекта кольцом

Рис. 55. Сворачивание лофт-объекта кольцом

 

Рис. 56. Витое кольцо

Рис. 56. Витое кольцо

 

Рис. 57. Столешница

Рис. 57. Столешница

 

Выделите витое кольцо, создайте его копию, разверните копию на –90° по оси Z, удалите у нее деформатор Bend — должен получиться вертикальный витой прут. Масштабированием уменьшите его длину так, чтобы она была соизмерима с длиной ножки стола. Рядом с прутом создайте полигональный цилиндр такой же длины и обязательно увеличьте число его разбиений в обоих направлениях как минимум до 20 — это будет заготовка для ножки (рис. 58). Объедините оба объекта в группу, назначьте ей деформатор Bend и настройте его так, чтобы оба объекта (витой прут и цилиндр) немного изогнулись (рис. 59). Примерный результат показан на рис. 60. Как видно из рисунка, верхняя и нижняя части ножки получились неровными, поэтому их следует обрезать. Создайте плоскость и поместите ее в месте предполагаемого верхнего разреза (рис. 61). Выделите сначала ножку, а потом плоскость и примените команду Polygons=> Booleans=> Intersection (Полигоны=>Булевы операции=>Пересечение) — основная часть ножки будет обрезана сверху (прут обрезан не будет, так как на него операция Booleans не распространяется) — рис. 62. Аналогичным образом обрежьте нижнюю часть ножки, отрегулируйте масштабированием высоту прута и добавьте ножке еще один декоративный элемент — шар. Вид полученной в итоге ножки стола показан на рис. 63.

 

Рис. 58. Прямая заготовка для ножки

Рис. 58. Прямая заготовка для ножки

 

Рис. 59. Изгибание элементов ножки

Рис. 59. Изгибание элементов ножки

 

Рис. 60. Изогнутая заготовка для ножки

Рис. 60. Изогнутая заготовка для ножки

 

Рис. 61. Размещение плоскости для обрезания верхней части ножки

Рис. 61. Размещение плоскости для обрезания верхней части ножки

 

Рис. 62. Результат булева пересечения

Рис. 62. Результат булева пересечения

 

Рис. 63. Готовая ножка стола

Рис. 63. Готовая ножка стола

Для удобства работы объедините все элементы ножки в группу и продублируйте (команда Edit=> Dublicate) ее с параметрами как на рис. 64 — появится вторая ножка, которая будет находиться как раз напротив исходной. Теперь нужно создать сразу две ножки, образующие вторую пару, — для этого воспользуйтесь дублированием, но уже с другими параметрами: Rotate X = 180, Rotate Y = 0, Rotate Z = 180, Number of Copies = 2. Разместите ножки требуемым образом, назначьте материалы элементам стола (для витых элементов желательно создать металлический материал, например под бронзу), визуализируйте сцену и получите примерно такой же результат, как представлен на рис. 65.

 

Рис. 64. Настройка параметров дублирования

Рис. 64. Настройка параметров дублирования

 

Рис. 65. Готовый столик с инкрустацией

Рис. 65. Готовый столик с инкрустацией

В начало В начало

Откидной календарь

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

 

Рис. 66. Исходный вид сцены

Рис. 66. Исходный вид сцены

Выделите верхнюю плоскость, назначьте ей деформатор Bend, в окне каналов поверните последний на 180° вокруг оси X и на 90° вокруг оси Z, а в окне атрибутов установите нижнюю границу воздействия деформатора (LowBound) равной нулю. В итоге направление деформатора совпадет с направлением листа, а сам деформатор будет располагаться в его нижней части (рис. 67). В окне Outliner выделите плоскость календарного листа вместе с Bend-деформатором, объедините их в группу и создайте две копии данной группы: первая копия будет соответствовать второму листу, а вторая — третьему. Выделите Bend-деформатор верхнего листа, в режиме анимации с ручным созданием кадров активируйте первый кадр и откройте редактор атрибутов. При выделенном деформаторе нажмите в поле Curvature (там по умолчанию установлено нулевое значение) правую кнопку мыши и создайте ключ, выбрав из контекстного меню команду SetKey (рис. 68). Перейдите по временной шкале на 30-й кадр, увеличьте кривизну так, чтобы лист отогнулся примерно наполовину, и опять создайте ключ в поле Curvature (рис. 69). Выделите Bend-деформатор среднего листа, активируйте 31-й кадр и создайте в поле Curvature ключ при нулевом значении параметра. Затем перейдите в 50-й кадр, увеличьте значение кривизны и создайте ключ для данного параметра. Аналогичные операции проведите в отношении Bend-деформатора нижнего листа, с той лишь разницей, что первый (при нуле) ключ нужно будет создать в 51-м кадре, а второй — в последнем.

 

Рис. 67. Настройка параметров деформатора

Рис. 67. Настройка параметров деформатора

 

Рис. 68. Создание ключа для 1-го кадра

Рис. 68. Создание ключа для 1-го кадра

 

Рис. 69. Создание ключа для 30-го кадра

Рис. 69. Создание ключа для 30-го кадра

Проиграйте анимацию в окне Perspective, нажав комбинацию клавиш Alt+V, — если все сделано правильно, то листы будут последовательно отгибаться. Для большей эффектности откройте редактор материалов и настройте материалы для листов календаря и полигонального куба, имитирующего стопку листов. Подходящие для текстурирования изображения можно создать в любом графическом редакторе — в данном примере для текстурирования первого листа (остальные листы аналогичны — на них лишь другие даты) был использован рис. 70, а куба — рис. 71.

 

Рис. 70. Изображение для первого календарного листа

Рис. 70. Изображение для первого календарного листа

 

Рис. 71. Текстура для куба

Рис. 71. Текстура для куба

Для сохранения полученной анимации откройте окно настройки параметров визуализации, щелкнув на кнопке RenderGlobals (Общие параметры визуализации) в правом верхнем углу экрана или последовательно применив команды Window=>RenderingEditors=>RenderView (Окно=>Редакторы визуализации=>Просмотр визуализации) и Options=>RenderGlobals (Параметры=>Общие параметры визуализации). Настройте параметры рендеринга в соответствии с рис. 72, указав имя файла (в данном случае animation01), формат расширения (AVI), введя номера первого и последнего кадров и проконтролировав, чтобы визуализировалось изображение в проекции Perspective. Закройте окно диалога RenderGlobals (Общие параметры визуализации). Для визуализации всех кадров анимации перейдите в режим Rendering (для перехода в этот режим можно нажать клавишу F5) и воспользуйтесь командой Render=>BatchRender (Визуализация=>Пакетная визуализация), что приведет к формированию AVI-файла, который по умолчанию будет помещен в папку Мои документы\maya\projects\default\images\. После сохранения проиграйте анимацию в окне Windows-проигрывателя (рис. 73).

 

Рис. 72. Настройка параметров визуализации

Рис. 72. Настройка параметров визуализации

 

Рис. 73. Демонстрация анимации в окне Windows -проигрывателя

Рис. 73. Демонстрация анимации в окне Windows -проигрывателя

В начало В начало

Волнующееся море

Деформаторы Sine и Wave нередко используются для моделирования водных поверхностей и для их анимации: Sine удобно применять для имитации волн, а Wave — для создания ряби на волнах. Мы ограничимся волнами, которые и попробуем анимировать. В качестве основы для моря создайте NURBS-плоскость с 30 вертикальными и горизонтальными изопармами. Выделите ее, активируйте инструмент SculptSurfacesTool, установите максимальный радиус равным 4, а максимальное смещение — 0,5, загрузите кисть Splat и в режиме Pull обработайте всю поверхность плоскости до нужного эффекта. Аналогичную операцию проведите в режиме Push, что приведет к получению довольно ровной водной поверхности (рис. 74).

 

Рис. 74. Деформированная плоскость

Рис. 74. Деформированная плоскость

 

Для создания волн назначьте плоскости деформатор Sine и разверните его на 90° вокруг оси Z (рис. 75). Активируйте редактор атрибутов и измените параметры настройки деформатора в соответствии с рис. 76, причем для параметров Wavelength, Offset и Dropoff изменение значений завершите созданием ключей анимации. Не забудьте перед созданием ключей убедиться в том, что находитесь на первом кадре. Переключитесь на 20-й кадр, подходящим образом (оценить это можно лишь визуально) измените значения параметров Wavelength, Offset и Dropoff и вновь создайте для них ключи (рис. 77). И так далее — чем больше вы создадите ключевых кадров с разными вариантами настроек, тем интереснее и естественнее получится анимация. После создания очередного ключевого кадра проигрывайте анимацию в окне Perspective, чтобы оценить результат и при необходимости произвести коррекцию настроек.

 

Рис. 75. Установка положения деформатора

Рис. 75. Установка положения деформатора

 

Рис. 76. Настройка параметров деформатора для 1-го кадра

Рис. 76. Настройка параметров деформатора для 1-го кадра

 

Рис. 77. Настройка параметров деформатора для 20-го кадра

Рис. 77. Настройка параметров деформатора для 20-го кадра

По окончании добавьте к сцене небо, для чего лучше воспользоваться NURBS-сферой — благодаря искривлению ее поверхности небо выглядит более правдоподобно. Создайте сферу очень большого диаметра и поместите ее на заднем плане сцены (рис. 78). Затем назначьте материалы. В качестве материалов для воды был использован Ocean Shader (цветовые оттенки его были изменены), а для оформления неба — растровое изображение (рис. 79). Для сохранения полученной анимации настройте параметры визуализации так же, как это было сделано в предыдущем задании, и проведите пакетный рендеринг (команда Render=>BatchRender). Проиграйте созданную анимацию (рис. 80). Только имейте в виду, что процесс генерации AVI-файла может оказаться длительным (это зависит от аппаратных ресурсов), поэтому, если вы не уверены в результате, при промежуточных рендерингах число кадров лучше ограничивать (параметры Start Frame и End Frame) только теми, которые действительно интересуют вас в данный момент.

 

Рис. 78. Добавление сферы

Рис. 78. Добавление сферы

 

Рис. 79. Растровое изображение

Рис. 79. Растровое изображение

 

Рис. 80. Демонстрация анимации в окне Windows-проигрывателя

Рис. 80. Демонстрация анимации в окне Windows-проигрывателя

В начало В начало

КомпьютерПресс 3'2007

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует