Иллюстрированный самоучитель по Maya 4.5 (часть 1)
Пожалуйста, переверните страницу
Как перевернуть страницу трехмерной книги?
Тема:
Анимация.
Используемые техники и инструменты:
ЕР Curve Tool (Построение кривой по редактируемым точкам), Loft (Построение поверхности по сечениям).
Первый урок, кстати, самый простой в этой книге. Может быть, задача переворачивания страницы трехмерной книги покажется вам банальной и даже скучной. Я думал точно так же, пока не предложил это задание десяти студентам университета в классе 3D анимации. Я дал им 30 минут на то, чтобы смоделировать лист бумаги и перевернуть его справа налево.
Некоторые студенты уже занимались трехмерной анимацией в свободное время, другие подрабатывали Веб-дизайном. Все они были хорошо знакомы с интерфейсом Мауа. Однако через полчаса никто из них не смог сконструировать изгибающуюся в процессе перелистывания страницу книги.
Лучшим результатом была выпуклая страница, которая проникала в корешок книги, поскольку ее кривизна не менялась во время переворачивания. Некоторые студенты пытались решить проблему с помощью Soft Body Dynamics (Динамики Мягкого Тела), один студент даже использовал Maya Cloth (Maya Ткани); они просто не смогли справиться с задачей, используя базовые приемы моделирования.
Поэтому, если вы все еще считаете этот урок простым, возьмите и сконструируйте страницу на вашем компьютере. И не переворачивайте страницу этой книги, пока не перевернете трехмерную страницу в Мауа.
Для выполнения этой задачи вам не нужно иметь дело со скучным и утомительным выделением и перемещением CV (контрольных вершин) кривых. Не потребуется также Soft Body Dynamics (Динамика Мягкого Тела). Существует несколько возможных решений этой задачи, как и любой другой, но только некоторые из них изящно просты. Для нахождения этого решения сделайте шаг назад. Не думайте о моделировании страницы, сконцентрируйтесь на ядре проблемы, которым является анимация, а не моделирование.
Эта анимация заключается в повороте страницы вокруг центральной оси книги, которая соединяет страницы между собой.
Если вы начнете с использования, скажем, обычной NURBS-плоскости (сокр. от non-uniform, rational B-spline - неоднородный рациональный би-сплайн ( геометрический примитив, широко используемый для описания кривых поверхностей) и попробуете повернуть ее вокруг оси, вам придется иметь дело с контрольными вершинами, для получения нужного изгиба страницы. Я не возражаю против такого способа. Однако знайте, что контрольные точки могут быть использованы только на завершающем этапе моделирования, и, как правило, для получения мелких изменений, но не в основных процедурах. Поэтому выполнение задачи необходимо начинать не с плоскости, а с кривых. Раз уж мы имеем дело с поворотом вокруг оси, давайте создадим 3 кривые, параллельные ей.
В виде сверху создайте 3 параллельные кривые с помощью инструмента ЕР Curve Tool (EP Кривая) (рис. 1.1). Третья кривая должна лежать на оси Z. Линия, по которой соединяются страницы книги, является также нашей осью вращения.
Примените инструмент Loft (Построение поверхности по сечениям) ко всем трем кривым (рис. 1.2).
Сделайте невидимой третью кривую (корешок книги).
Задайте длительность анимации 200 кадров.
Заметьте, что опорные точки (pivot) всех кривых должны находиться в центре сцены, который также является центром нашей книги. Вы можете проверить это следующим образом: выделите кривые, затем перейдите в режим вращения или перемещения. Если опорная точка вращения находится не в центре, то, нажав клавишу Insert, переместите ее туда.

Рис. 1.1.
С помощью инструмента ЕР Curve Tool NURBS-кривые можно создать всего лишь двумя щелчками мыши

Рис. 1.2.
Три кривые для одной страницы книги
Протестировать полученную страницу можно путем одновременного вращения первых двух кривых (но не лофтированной поверхности!) вокруг оси Z.
Вернитесь в начало временной шкалы и задайте ключевой кадр для вращения вокруг оси Z для первых двух кривых. Для этого нажмите правой кнопкой
мыши на Rotate Z (Вращение по оси Z) в окне Channel Box (Окно Каналов) и выберите Key Selected (Установить ключевой кадр для выделенных атрибутов) (рис. 1.3).

Рис. 1.3.
Два ключевых кадра для кривых заставляют страницу переворачиваться
Перейдите в конец анимации, поверните обе кривые вокруг оси Z на -180° и установите еще один ключевой кадр.
При воспроизведении анимации движение страницы может показаться немного замедленным, однако результат получен: страница переворачивается (рис. 1.4).

Рис. 1.4.
В перспективном окне мы видим, как переворачивается страница, хотя поворачиваются только кривые
Теперь мы придадим поверхности специфичный изгиб страницы книги. Но здесь есть один нюанс. Обычно мы пользуемся терминами перемещения ("Я поднимаю бокал к своему рту" вместо "Я вращаю бокал вокруг оси своего локтя"), поэтому существует соблазн переместить вверх среднюю кривую, вместо того чтобы повернуть ее (рис. 1.5).

Рис. 1.5.
При выполнении поворота перемещение кривых недопустимо
1. Перейдите в начало анимации.
2. Выделите среднюю кривую и поворачивайте ее вокруг оси Z, пока не получите нужного изгиба поверхности.
3. Установите ключевой кадр для Rotate Z (Вращение по оси Z).
4. Идите в конец анимации.
5. Поверните кривую, чтобы получить красивый изгиб в обратном направлении.
6. Установите ключ для Rotate Z (Вращение по оси Z).
Лучше всего поворот и изгиб страницы можно увидеть в окне Вид Перспективы (рис. 1.6).
Таким образом, требуемый переворот страницы мы получили простым вращением нескольких объектов, не переместив ни один из них. Теперь можем добавить . различные детали в анимацию: сначала на уровне вращения кривой и синхронизации (например, пусть внешняя кривая начинает поворот позже, чем средняя), затем на уровне контрольных вершин (можно сделать страницу с загнутым уголком или создать впечатление невидимой руки, сминающей уголок страницы).
Контрольные вершины кривых поворачивать нельзя, их можно только перемещать. Можно, однако, объединить контрольные вершины в Кластеры (команду Create Cluster (Создать Кластер) вы найдете в секции анимации (клавиша F2) в меню Deform (Деформировать).
Кластеры контрольных вершин имеют опорные точки, которые можно перемещать куда угодно.

Рис. 1.6.
Чтобы согнуть бумагу, необходимо повернуть среднюю кривую
Теперь у вас есть страница, но где же сама книга? Начнем с копирования кривых в их начальной и конечной позициях. Создайте пару лофтированных плоских поверхностей - и книга закончена в считанные минуты (рис. 1.7). Если страница будет видна зрителю с обеих сторон, стоит дополнительно приложить усилия для ее текстурирования. Конечно, вы можете стандартным способом наложить одинаковую текстуру сверху и снизу. Но существует также простой способ, которым можно по-разному текстурировать обе стороны NURBS-поверхности. Этот способ можно найти в документации в Интернете, введя для поиска "double-sided shading" (двусторонний шейдинг).

Рис. 1.7.
Две кривые, каждая с двумя ключевыми кадрами... и страница красиво переворачивается
А теперь кое-что новенькое. Приходилось ли вам перетаскивать свет из окна Outliner (Схема сцены) в Окно Перспективы, используя среднюю кнопку мыши?
Живая камера
Как встряхнуть камеру, движущуюся слишком плавно?
Тема:
Анимация.
Используемые техники и материалы:
Create Clip (Создать Клип), Trax Editor (Редактор Дорожек).
Нелинейная анимация - это не более чем смещение по времени, изменение длительности и микширование анимационных данных: точно так же, как мы работаем с видео в любой монтажной системе. Совсем недавно в Мауа была добавлена техника Trax Editor (Редактор Дорожек) - новый великолепный инструмент анимации, который во многом заменяет собой Graph Editor (Редактор Анимационных Кривых) и Dope Sheet (Монтажный стол).
Dope Sheet (Монтажный стол) идеален для перемещения ключевых кадров во времени. Graph Editor (Редактор Анимационных Кривых) незаменим для управления объектами до и после установки ключевых кадров. Но когда предварительно заданные, созданные ключевые кадры нужно передвинуть либо объединить между собой, наилучшей техникой является нелинейная анимация с помощью Редактора Дорожек (Trax Editor).
Представьте, что вы только что создали анимацию плавного движения камеры, провели много времени, скрупулезно настраивая касательные ключевых кадров, для того чтобы камера двигалась быстрее. Затем приходит ваш клиент, говорит, что только что он видел один из тех экспериментальных фильмов "Dogma" из Дании, и просит вас сделать движение камеры немного грубее. Вместо безукоризненно плавного, типичного для трехмерной графики движения ему хочется видеть подрагивающую съемку, которая в целом повторяет путь движения вашей камеры, но выглядит, скажем, немного более импровизированно.
Раньше вам бы пришлось открыть Graph Editor (Редактор Анимационных Кривых) и добавить дополнительные ключевые кадры для встряхивания камеры во время движения (рис. 2.1). Для того чтобы это получилось качественно, вам бы пришлось приложить массу усилий. Кроме того, работа оказалась бы неблагодарной: добавляя новые ключевые кадры в готовую анимацию, вы бы свели на нет плавность движений камеры. А если по окончании всего этого клиент пожаловался бы, что полученный результат чересчур уж в стиле Dogma, вам пришлось бы переделывать все с самого начала.
Если вы начнете с использования, скажем, обычной NURBS-плоскости (сокр. от non-uniform, rational B-spline - неоднородный рациональный би-сплайн ( геометрический примитив, широко используемый для описания кривых поверхностей) и попробуете повернуть ее вокруг оси, вам придется иметь дело с контрольными вершинами, для получения нужного изгиба страницы. Я не возражаю против такого способа. Однако знайте, что контрольные точки могут быть использованы только на завершающем этапе моделирования, и, как правило, для получения мелких изменений, но не в основных процедурах. Поэтому выполнение задачи необходимо начинать не с плоскости, а с кривых. Раз уж мы имеем дело с поворотом вокруг оси, давайте создадим 3 кривые, параллельные ей.
В виде сверху создайте 3 параллельные кривые с помощью инструмента ЕР Curve Tool (EP Кривая) (рис. 1.1). Третья кривая должна лежать на оси Z. Линия, по которой соединяются страницы книги, является также нашей осью вращения.
Примените инструмент Loft (Построение поверхности по сечениям) ко всем трем кривым (рис. 1.2).
Сделайте невидимой третью кривую (корешок книги).
Задайте длительность анимации 200 кадров.
Заметьте, что опорные точки (pivot) всех кривых должны находиться в центре сцены, который также является центром нашей книги. Вы можете проверить это следующим образом: выделите кривые, затем перейдите в режим вращения или перемещения. Если опорная точка вращения находится не в центре, то, нажав клавишу Insert, переместите ее туда.

Рис. 1.1.
С помощью инструмента ЕР Curve Tool NURBS-кривые можно создать всего лишь двумя щелчками мыши

Рис. 1.2.
Три кривые для одной страницы книги
Протестировать полученную страницу можно путем одновременного вращения первых двух кривых (но не лофтированной поверхности!) вокруг оси Z.
Вернитесь в начало временной шкалы и задайте ключевой кадр для вращения вокруг оси Z для первых двух кривых. Для этого нажмите правой кнопкой
мыши на Rotate Z (Вращение по оси Z) в окне Channel Box (Окно Каналов) и выберите Key Selected (Установить ключевой кадр для выделенных атрибутов) (рис. 1.3).

Рис. 1.3.
Два ключевых кадра для кривых заставляют страницу переворачиваться
Перейдите в конец анимации, поверните обе кривые вокруг оси Z на -180° и установите еще один ключевой кадр.
При воспроизведении анимации движение страницы может показаться немного замедленным, однако результат получен: страница переворачивается (рис. 1.4).

Рис. 1.4.
В перспективном окне мы видим, как переворачивается страница, хотя поворачиваются только кривые
Теперь мы придадим поверхности специфичный изгиб страницы книги. Но здесь есть один нюанс. Обычно мы пользуемся терминами перемещения ("Я поднимаю бокал к своему рту" вместо "Я вращаю бокал вокруг оси своего локтя"), поэтому существует соблазн переместить вверх среднюю кривую, вместо того чтобы повернуть ее (рис. 1.5).

Рис. 1.5.
При выполнении поворота перемещение кривых недопустимо
1. Перейдите в начало анимации.
2. Выделите среднюю кривую и поворачивайте ее вокруг оси Z, пока не получите нужного изгиба поверхности.
3. Установите ключевой кадр для Rotate Z (Вращение по оси Z).
4. Идите в конец анимации.
5. Поверните кривую, чтобы получить красивый изгиб в обратном направлении.
6. Установите ключ для Rotate Z (Вращение по оси Z).
Лучше всего поворот и изгиб страницы можно увидеть в окне Вид Перспективы (рис. 1.6).
Таким образом, требуемый переворот страницы мы получили простым вращением нескольких объектов, не переместив ни один из них. Теперь можем добавить . различные детали в анимацию: сначала на уровне вращения кривой и синхронизации (например, пусть внешняя кривая начинает поворот позже, чем средняя), затем на уровне контрольных вершин (можно сделать страницу с загнутым уголком или создать впечатление невидимой руки, сминающей уголок страницы).
Контрольные вершины кривых поворачивать нельзя, их можно только перемещать. Можно, однако, объединить контрольные вершины в Кластеры (команду Create Cluster (Создать Кластер) вы найдете в секции анимации (клавиша F2) в меню Deform (Деформировать).
Кластеры контрольных вершин имеют опорные точки, которые можно перемещать куда угодно.

Рис. 1.6.
Чтобы согнуть бумагу, необходимо повернуть среднюю кривую
Теперь у вас есть страница, но где же сама книга? Начнем с копирования кривых в их начальной и конечной позициях. Создайте пару лофтированных плоских поверхностей - и книга закончена в считанные минуты (рис. 1.7). Если страница будет видна зрителю с обеих сторон, стоит дополнительно приложить усилия для ее текстурирования. Конечно, вы можете стандартным способом наложить одинаковую текстуру сверху и снизу. Но существует также простой способ, которым можно по-разному текстурировать обе стороны NURBS-поверхности. Этот способ можно найти в документации в Интернете, введя для поиска "double-sided shading" (двусторонний шейдинг).

Рис. 1.7.
Две кривые, каждая с двумя ключевыми кадрами... и страница красиво переворачивается
А теперь кое-что новенькое. Приходилось ли вам перетаскивать свет из окна Outliner (Схема сцены) в Окно Перспективы, используя среднюю кнопку мыши?
Забавы со скручиванием
Как изменить куб до неузнаваемости?
Тема:
Анимация, моделирование.
Используемые техники и инструменты:
Nonlinear Deformers (Нелинейные Деформаторы) - Bend (Изгиб), Flare (Выпуклость), Sine (Синусоидальная деформация), Squash (Сплющивание), Twist (Скручивание), Wave (Волна).
Примером линейного деформирования может быть Scale (Масштабирование) объекта, например по оси X. В компьютерной анимации эта техника используется постоянно, когда нужно, скажем, сделать дом уже или выше или сферу больше. В нелинейной деформации мы не манипулируем объектом равномерно вдоль одной из осей. Нелинейная деформация может использоваться как в анимации, так и в моделировании. С помощью деформатора Bend (Изгиб) вы можете, к примеру, легко создать анимацию объекта, огибающего угол. Вам не придется прикасаться ни к единой контрольной вершине (CV). Если вам захочется расширить предварительно созданный объект, например в середине, то просто используйте деформатор Squash (Сплющивание).
Все эти ценные инструменты вы найдете в меню анимации (клавиша F2) в секции "Nonlinear" (Нелинейные). В действительности поведение некоторых других деформаторов, таких, как, например, деформатор Sculpt (Формирование . рельефа), тоже нелинейно, но они не включены в данный раздел меню. Мы попробуем лишь некоторые из них, используя шесть основных нелинейных деформаторов, для того чтобы сильно видоизменить обычный полигональный куб. Перед тем как начать, давайте отделим меню нелинейных деформаторов, для того чтобы они всегда были у нас под рукой. Для этого вам потребуется главное меню. Если оно отсутствует на вашем экране, выберите Hotbox Controls / Window Options / Show Main Menubar (Управление инструментом оперативного доступа к элементам интерфейса / Настройки Окна / Показать Главное Меню). Теперь переключитесь на меню анимации (клавиша F2), в меню Deform (Деформировать) отделите выпадающее подменю Create Nonlinear (Создать Нелинейные). Для этого щелкните на их разделительные линии, как показано на рис. 3.1.
Передвиньте маленькое выпадающее окно в угол окна Perspective View (Вид Перспективы). Теперь оно будет поверх этого окна. Окно Main Menubar (Главное Меню) вам больше не нужно, уберите его, если хотите.

Рис. 3.1.
Отделение подменю нелинейных деформаторов
Итак, у вас под рукой шесть инструментов деформации. Сначала мы создадим куб и обогнем его вокруг угла, используя деформатор Bend (Изгиб).
Создайте полигональный куб, увеличьте его размеры до 10 единиц во всех трех направлениях и задайте число разбиений, по 10 в каждом направлении.
Создайте анимацию движения куба таким образом, чтобы в кадре Q он начинал движение с точки Х= -35 слева, а заканчивал через 200 кадров в точке Х= 35 справа.
Идите в кадр 20. Выделите куб и в плавающем меню выберите Bend (Изгиб) (рис. 3.2).
Как и многие инструменты деформации, Изгиб не показывает вначале никаких изменений, но это не значит, что он не действует. Взгляните на его работу в режиме Wireframe mode (режим Каркас). Деформатор находится внутри куба.
В секции Input (Входные Данные) окна Channel Box (Окно Каналов) откройте bend 1 и поменяйте его Curvature (Кривизна) с 0 на 1.
Нажмите клавишу t, и вы увидите 3 маленьких манипулятора для bend 1, как показано на рис. 3.3. Поиграйте с ними.
Поверните bend 1 на 90 градусов вокруг оси Z.

Рис. 3.2.
Куб подвергается воздействию деформатора Bend (Изгиб). Плавающее окошко справа - это меню нелинейных деформаторов

Рис. 3.3.
Три манипулятора заставляют куб изгибаться относительно угла
Когда вы воспроизведете анимацию, куб изогнется по кривой, касательной пути его движения. После того как ваш куб обогнет угол, передвиньте манипулятор bend 1 так, чтобы куб двигался вдоль оси X, покидая область действия деформатора. Для этого вы также можете просто уменьшить значение Low Bound (Нижняя Граница) в окне Channel Box (Окно Каналов) до 0. Давайте попробуем другой деформатор.
Идите в кадр, где ваш куб оставил зону действия bend 1, и примените к нему деформатор Flare (Выпуклость).
Вращайте flare 1 на 90 градусов вокруг оси Z.
Щелкните мышкой на flare 1 в окне Channel Box (Окно Каналов), нажмите клавишу t и подвигайте семью манипуляторами деформатора (рис. 3.4).

Рис. 3.4.
Деформатор Flare (Выпуклость) сужает куб в центре
Как видите, Flare (Выпуклость) делает куб уже или шире на входе или выходе из области влияния (Start and End Flare (Начальное и Конечное Значения Выпуклости). Кроме того, он может добавить вогнутость или выпуклость (Curve (Кривая) в любом месте в пределах этой области. Low and High Bound (Нижняя и Верхняя Границы) отвечают за то, как далеко распространяется влияние деформатора.
Просмотрите полученную анимацию, чтобы увидеть, как куб проходит сначала через bend 1, а потом через flare 1. В окне Channel Box (Окно Каналов) установите значения Start and End Flare (Начальное и Конечное Значения Выпуклости) на 1. Так куб примет первоначальный вид при входе и выходе из деформатора. Задайте для Curve (Кривая) небольшое отрицательное значение, например -0,5, чтобы сузить куб в середине области влияния деформатора Flare (Выпуклость).
После того как куб выйдет из flare 1, прямо перед серединой анимации примените к нему деформатор Sine (Синусоидальная Деформация) (рис. 3.5).
Как и раньше, поверните sinel вокруг оси Z на 90 градусов и увеличьте амплитуду с 0 до 0,5.
Поиграйте с манипуляторами sinel.
Длина волны не только определяет частоту появления .волн, но также и то, каким наш куб входит и выходит из области действия деформатора. Длина волны 0,5 или 3,1 не кратна количеству полных колебаний, а следовательно, изменяет форму куба до и после деформации. Установите Wavelength (Длину Волны) sinel на целое число, например 1 или 2.

Рис. 3.5.
Синусоидальная деформация делает куб волнистым в одной плоскости
После того как куб выйдет из зоны влияния sinel, примените к нему деформатор Squash (Сплющивание).
Поверните деформатор на 90 градусов вокруг оси Z так, чтобы область его влияния оказалась направлена вдоль оси движения куба вдоль всего анимационного пути.
Самый важный параметр эффекта Squash (Сплющивание) - это его сила, или Factor (Множитель). В отличие от Flare (Выпуклость), которое сужает или расширяет определенные области объекта, не затрагивая остальные его .части, Squash (Сплющивание) старается сохранить первоначальный объем. Другими словами, когда Squash (Сплющивание) сжимает середину объекта, он увеличивает в размере внешние области и наоборот. Классическим примером может быть прыгающий мяч, который при соприкосновении с землей сжимается по вертикали и одновременно становится шире в горизонтальной плоскости.
Отрицательный фактор Сжатия влечет эффект утолщения, что делает весь куб короче (рис. 3.6). Если вы выберете фактор сжатия 7, куб сожмется и вытянется одновременно. Start and End Smoothness (Начальное и Конечное Значения Сглаживания) дают вам возможность сделать эффект более или менее мягким. При значении 7 этот параметр позволит эффекту начать более мягко. Когда вас удовляетворят параметры Squash (Сплющивания), продвиньтесь немного вперед по временной шкале, и мы попробуем следующий деформатор.

Рис. З.6.
Сплющивание утолщает и укорачивает куб одновременно
Примените деформатор Twist (Скручивание) к кубу.
Поверните его на 90 градусов вокруг оси Z.
Twist (Скручивание) - это первый деформатор, который вращает непосредственно куб. Главными манипуляторами такого вращения являются желтые окружности, которые позволяют определить величину поворота в начале и конце области влияния деформатора (см. рис. 3.7). Заметьте, что значения Start and End Angle (Начальное и Конечное Значения Угла) влияют на куб до того, как он войдет, и после того, как выйдет из деформатора Twist (Скручивание). Если куб входит со значением угла, отличным от 0 (в нашем случае это значение установлено для End Angle (Конечный Угол), все предыдущие выполненные деформации будут повернуты на этот угол. Low and High Bound (Нижняя и Верхняя Границы), как и раньше, определяют пределы действия эффекта. Высокое значение Envelope (Оболочка) не изменяет значения параметров деформатора, но расширяет его область действия.
Это справедливо для всех деформаторов.
В конце анимации примените к кубу деформатор Wave (Волна).
Деформатор Wave (Волна) не нужно вращать. Его эффект виден сразу, если увеличить значение Amplitude (Амплитуда) wave 1 с 0 до 1 (см. рис. 3.8). Это очень чувствительный параметр, поэтому значение 0,2 может быть гораздо привлекательнее больших значений. Использование манипуляторов здесь также очень удобно. Заметьте разницу между Sine (Синусоидальная Деформация) и Wave (Волна): Sine (Синусоидальная Деформация) - это плоская волна и колебания происходят по одному выбранному направлению, a Wave (Волна) - это концентрические волны и колебания происходят в двух направлениях.

Рис. 3.7.
С помощью манипуляторов деформатора Скручивание вы можете отрегулировать параметры внутреннего вращения куба

Рис. 3.8.
Волна в двух плоскостях и ее деформированная жертва показаны в режиме Х-гау shading mode (Рентгеновское Просвечивание)
Если вы выберете большее разрешение для куба, вы сможете использовать деформаторы при анимации и моделировании на завершающем этапе. Например, Twist (Скручивание) можно использовать для создания винта. С помощью Wave (Волна) можно создавать анимации водных поверхностей, к примеру океана. Заметьте, в работе над одним объектом вы можете применять столько деформаторов, сколько захотите. Попробуйте соединить несколько деформаторов Wave (Волна) для создания ряби на больших волнах. Или примените деформатор Wave (Волна) там, где уже работает Twist (Скручивание), и вы получите сильное скручивание с еле уловимым эффектом волн (рис. 3.9).

Рис. 3.9.
Шесть потрясающих деформаций обычного куба
Кроме того, вместо перемещения куба вы можете создавать анимацию самих деформаторов - не только их позиций, но и других параметров, например затухание деформации при входе и выходе из зоны эффекта. Воспроизведите анимацию и остановите ее на том эффекте, который вам больше всего нравится. Здесь же сдублируйте куб и создайте Blend Shapes (Плавная модификация поверхности) из этих деформаций.С помощью инструмента Blend Shape tool вы можете интерактивно комбинировать различные стадии деформации объекта, используя (и, конечно, задавая ключи) Blend Shape Sliders (Ползунки Blend Shape). Представьте теперь эту процедуру в анимации персонажей!
(Одно из наиболее важных применений Blend Shape - это анимация мимики лица. - Примеч. ред.)
А теперь кое-что новенькое. Знаете ли вы, что получится, если щелкнуть правой кнопкой мыши во временной шкале?
Зззвоним в звонок
Как, нажав кнопку звонка, заставить его звенеть?
Тема:
Анимация.
Используемые техники и инструменты:
NURBS Modeling (NURBS-Моделирование), Random and If-Then Expressions (Случайные и Условные Выражения), Set Driven Key (Установить Управляемый Ключ), Channel Control (Управление Каналами).
Мауа, конечно, не воспроизводит звенящие звуки, но мы можем использовать ее возможности для создания ударника звонка, который будет вибрировать, ударяя по звонку. Мы также можем сконструировать кнопку звонка, нажатие которой заставит ударник вибрировать. Этот урок посвящен анимации и зависимостям.
Он также о работе аниматора в команде, то есть подготовке сцены таким образом, чтобы она была абсолютно понятна коллеге, специализирующемуся на анимации персонажей. Мы также примем меры к сокращению, а именно спрячем все лишнее в сцене, что может отвлечь аниматора, работающего с 3D персонажем, который нажмет кнопку звонка, чтобы войти в дом.
Сначала смоделируем четыре объекта: непосредственно звонок, ударник для звонка, кнопку и рамку для кнопки.
Вы можете использовать NURBS-примитивы, поскольку этот урок не о сложном моделировании. Вся геометрия на рис. 4.1 была создана именно так. Основа звонка - это верхняя часть NURBS-сферы, немного сверху приплюснутая. Ударник состоит из NURBS-цилиндра, поверхность которого создана инструментом Square Tool (Квадрат) и Loft (Построение поверхности по сечениям) для создания объема [Ударник состоит из нескольких поверхностей. Во-первых, "пятачок" - это просто NURBS-цилиндр. Во-вторых, "ножка", которую автор строил следующим образом: сдублирована крайняя изопарма цилиндра, разрезана пополам. Получились две полуокружности. Одна полуокружность отодвинута. Далее концы раздвинутых полуокружностей соединены отрезками. По полученным четырем кривым построена боковая часть "ножки" с помощью Square Tool. Затем все четыре кривые были отдублированы и немного сдвинуты "по толщине". К "новым" четырем кривым вновь применяется Square Tool для получения второй боковой поверхности "ножки".
Затем устраивается Loft между соответствующими парами кривых для получения толщины этой самой "ножки". - Примеч. ред. ]. Все части объекта были сгруппированы, для того чтобы не терять контакта при вращении. Рамка кнопки звонка была создана путем применения инструмента Round Tool (Округление) к NURBS-кубу. Сама кнопка - это отмасштабированная аналогично звонку половина NURBS-сферы. Давайте сначала поработаем над движением ударника.

Рис. 4.1.
Набор объектов: звенящее устройство со звонком, ударником, кнопкой и ее рамкой
Выделите ударник (в действительности группу поверхностей, из которых он состоит) и в режиме Insert mode (Режим редактирования опорной точки) передвиньте его опорную точку назад (см. рис. 4.2).

Рис. 4.2.
Опорная точка ударника сдвинута назад
В окне Channel Box (Окно Каналов) нажмите на Rotate Y (Вращение по оси Y) и, используя контекстное меню, правой кнопкой мыши откройте Expression Editor (Редактор Выражений) (рис. 4.3).

Рис. 4.3.
Выражение со случайной функцией заставляет ударник вращаться между -0,5 и 0,5 градусами
Наберите следующее выражение в пустом поле внизу окна и замените ringerG именем, которое вы выбрали для своего ударника:
ringerG.rotateY = rand(-0,5, 0,5);
Активизируйте выражение, нажав Create (Создать).
Ударник теперь вращается случайным образом между минус полградуса и плюс полградуса относительно своей вертикальной оси. Если вибрация кажется вам слишком слабой, увеличьте значение аргументов случайной функции rand.
Если бы мы могли услышать, звонок звенел бы уже без остановки. Но мы бы хотели, чтобы он звенел только тогда, когда нажимается кнопка. Чтобы достичь этого, мы должны будем создать зависимость между позицией кнопки и включенным / выключенным состоянием случайного выражения. Прежде всего, нам нужен новый атрибут для состояний кнопки звонка on (включена) и off (выключена).
Откройте Attribute Editor (Редактор Атрибутов) для кнопки и выполните команду Attributes / Add Attribute (Атрибуты / Добавить Атрибут).
Так вы откроете окно создания новых атрибутов объекта (рис. 4.4).

Рис. 4.4.
Кнопка приобретает новый атрибут для состояний on / off
Дайте атрибуту имя, например rrringTheBell, установите его Data Type (Тип Данных) на Boolean (Булевские). (Они принимают значения 0 или 1, включено или выключено - третьего не дано.) Data Type (Тип Данных) Integer (Целые) включает все целые числа и, таким образом, дает нам слишком большой выбор. Нажмите ОК для добавления нового атрибута.
Вы найдете новый атрибут прямо под атрибутом Object's Visibility (Видимость Объекта) в окне Channel Box (Окно Каналов). Сейчас его состояние установлено на off (выключено). Но даже если мы изменим его на on (включено), ничего не изменится. Атрибут должен знать, что делать с этим on (включено). Мы поручим инструменту Set Driven Key (Установить Управляемый Ключ) управлять связью между новым атрибутом rrringTheBell и позицией кнопки. Инструмент Set Driven Key (Установить Управляемый Ключ) заставит новый атрибут посылать команду, которая вызовет нажатие кнопки.
Откройте окно Set Driven Key (Установить Управляемый Ключ). Для этого нажмите клавишу F2, выберите Animate / Set Driven Key / Set Option Box (Создать Анимацию / Установить Управляемый Ключ / Установить Окно Настроек).
Загрузите атрибуты кнопки в верхнее и нижнее поля окна (Drivers and Driven (Управляющий и Управляемый) (рис. 4.5).
В верхнем правом поле выделите новый атрибут rrringTheBell.
В нижнем правом поле выделите канал перемещения, который отвечает за движение кнопки в нажатую позицию. В нашем примере это Translate Y (Значение перемещения по оси Y).

Рис. 4.5.
Инструмент Set Driven Key (Установить Управляемый Ключ) создает зависимость между позицией кнопки (в данном случае значение ее перемещения по оси Y (Translate Y) и значениями on / off нового атрибута звонка (rrring The Bell). В отличие от обычных ключевых кадров инструмент Set Driven Key (Установить Управляемый Ключ) создает связь не между атрибутами и временем, а между атрибутами и атрибутами
Убедитесь, что кнопка находится в ненажатом состоянии, а новый атрибут rrringTheBell установлен на off (выключено).
В окне Set Driven Key (Установить Управляемый Ключ) нажмите Key (Ключ). С этого момента всегда, когда вы будете устанавливать значение нового атрибута в off (выключено), кнопка сама примет ненажатое положение.
Приведите кнопку в нажатое положение.
В окне Channel Box (Окно Каналов) наберите слово on в поле нового атрибута.

В окне Set Driven Key (Установить Управляемый Ключ) нажмите Key (Ключ) и закройте окно.
Когда в окне Channel Box (Окно Каналов) вы поменяете атрибут звонка с on на off, кнопка звонка вернется в выключенное положение. Теперь давайте займемся самим ударником.
Откройте Expression Editor (Редактор Выражений) для ударника. Добавьте к перед ранее созданным случайным выражением строки, содержащие условный оператор if (замените имена атрибутов на ваши собственные, если это нужно):
if (button.rringTheBell == 1) ringerG.rotateY = rand (-0,5, 0,5);
Нажмите на Edit (Редактирование) для сохранения изменений.
Вот что новая запись означает: если атрибут rrringTheBell принимает значение on (включено) (1 как противоположность 0), звонок зазвенит. Из этого следует, что, если rrringTheBell принимает значение off (выключено), ничего не произойдет. Новый атрибут не только управляет кнопкой, но и позволяет вам звонить в дверной звонок.
Однако, если вы в таком виде передадите сцену коллеге, который будет создавать персонаж, звонящий в звонок, чтобы попасть в дом, она для него будет слишком сложной. Вашему коллеге придется анализировать внутреннюю структуру сцены, изучать взаимодействие Expressions (Выражений) и инструмента Set Driven Key (Установить Управляемый Ключ) с объектами и их работу и т. д. Мы сделаем так, чтобы следующий аниматор мог сфокусировать внимание только на одном объекте - красной кнопке и ее атрибуте rrringTheBell. Окно для наведения порядка в Channel Box (Окно Каналов) называется Channel Control (Управление Каналами).
Выберите Window / General Editors (Окно / Основные Редакторы), для того чтобы открыть окно Channel Control (Управление Каналами) (рис. 4.6).

Рис. 4.6.
Левая сторона окна Channel Control (Управление Каналами) содержит список всех атрибутов кнопки, на которые могут быть поставлены ключи (keyable attributes). Все атрибуты, кроме одного (нового), выделены и будут перемещены в правую часть окна. Они впоследствии исчезнут из окна Channel Box (Окно Каналов)
В левом поле выделите все входные данные, кроме того, которое относится к управлению звонком.
Нажмите Move (Переместить) для перемещения выделенных атрибутов в секцию Non Keyable окна и таким образом удалите их из окна Channel Box (Окно Каналов).
Вы можете спрятать атрибуты всех остальных объектов сцены тем же способом. Ваш коллега, открыв сцену, выделит кнопку и увидит только один атрибут, на который можно поставить ключ, имеющий значение для персонажа, который нажмет на кнопку своим большим пальцем (рис. 4.7).

Рис. 4.7.
После очищения только один атрибут остался в окне Channel Box (Окно Каналов). Это все, что нужно видеть аниматору, для того чтобы дать возможность персонажу позвонить в звонок
А теперь кое-что новенькое. Приходилось ли вам применять Incremental Save? [Сохранение с автоматическим добавлением возрастающих номеров к имени сохраняемого файла. - Примеч. ред.] Может предотвратить кучу неприятностей!
Куда он делся!
Как заставить персонаж со свистом умчаться, как в мультфильме?
Тема:
Анимация персонажей.
Используемые техники и инструменты:
Jiggle Deformer (Деформатор Покачивание), Graph Editor (Редактор Анимационных Кривых), Motion Blur (Размытость при движении).
Одной из ключевых особенностей анимации персонажей является подготовка действия (anticipation). Каждый шаг в реальной жизни предваряется фазой подготовки к нему: перед тем как занести ногу вперед, мы слегка отводим ее назад - сильно перед тем, как ударить по мячу, слабее, когда прогуливаемся по парку, но все же мы это делаем. Отведение ноги назад, то есть движение в обратном направлении, и есть подготовка действия. У нее есть несколько особенностей, которые мы изучим в этом уроке, используя простой объект. Полученные результаты можно применять даже при изображении самого незаметного движения, для того чтобы обогатить личность сложного трехмерного персонажа. Мультипликаторы всегда знали об этой подготовке действия. Когда Дональд Дак проносится справа налево, мы видим, как он медленно отклоняется назад, перед тем как исчезнуть из виду за доли секунды.
В этом уроке мы используем три очень полезных инструмента для создания эффекта подготовки действия: Jiggle Deformer (Деформатор Покачивание) (новый инструмент Мауа 4), который заставит персонаж слегка покачиваться назад и вперед по инерции движения; Graph Editor (Редактор Анимационных Кривых) позволит нам настраивать касательные ключевых кадров и рендеринг с опцией Motion Blur (Размытость при движении) позволит визуально усилить ощущение скорости.
Создайте NURBS-конус. В окне Channel Box (Окно Каналов) откройте секцию Inputs (Входные Данные) и увеличьте Radius (Радиус) конуса с 1 до 4, а его Spans (Число секций по вертикали) установите на 4.
Выделите три средние секции конуса и слегка сузьте их по направлению к центральной оси (см. рис. 5.1). Не снимайте выделение.
Переключитесь на меню анимации (клавиша F2). Выберите Animate / Create Jiggle Deformer (Создать Анимацию / Создать Деформатор Покачивание), для того чтобы применить деформатор к выделенным сегментам конуса.

Рис. 5.1.
Средние секции конуса сужены
Покачивание деформирует геометрию фигуры в соответствии с данными движения и инерцией. Нет движения, нет и покачивания. Итак, давайте добавим движение нашему конусу.
Задайте длительность анимации 100 кадров.
Идите в кадр 25 и выделите конус.
Задайте ключевой кадр для положения конуса, используя клавиши SHTFT+W.
Идите в кадр 75.
Переместите конус на 100 единиц влево и установите здесь второй ключевой кадр.
Когда вы воспроизведете анимацию, верхняя секция (не самый кончик и не основание, поскольку мягкой мы сделали только середину) наклонится с началом движения конуса (рис. 5.2).

Рис. 5.2.
Начиная с кадра 25 конус движется справа налево. В кадре 25 (крайний правый конус) он стоит прямо, в кадре 26 он резко устремляется влево, а его форма меняется Деформатором Покачивание. Хотя движение заканчивается в кадре 75 (крайний левый конус), верхушка конуса некоторое время слегка покачивается назад и вперед по инерции. Без Деформатора Покачивание эта линейная анимация справа налево была бы весьма неинтересной
Достигнув конечной позиции, верхушка конуса продолжает покачиваться по инерции. Деформатор Покачивание значительно украшает эту простую анимацию с двумя ключевыми кадрами. Однако к подготовке действия это пока не имеет никакого отношения.
Давайте проведем эксперимент.
Возьмите ручку со стола и держите ее прямо перед собой. Затем очень быстро перенесите ее влево. Озвучьте движение свистящим звуком.
Повторите процедуру, немного изменив начало: слегка отведите ручку вправо, перед тем как она умчится влево. Снова озвучьте это свистящим звуком, как в мультфильме.
Обратите внимание на синхронизацию движения: вы интуитивно начинаете с длинного звукового эффекта, когда ваша ручка медленно движется вправо с начальной позиции. Движение ручки немного замедлено еще некоторое время, а затем она мгновенно уносится влево, сопровождаемая коротким свистящим звуком.
Эта последовательность движений содержит важную информацию о подготовке действия, которую мы сейчас используем в создании анимации нашего конуса.
Самый важный момент подготовки действия - это точка разворота конуса, где происходит изменение направления движения и где мы теперь зададим третий ключевой кадр. Эта точка завершает подготовку действия, и останутся лишь доли секунды, прежде чем анимация будет завершена. Подготовка к тому, чтобы умчаться прочь, занимает гораздо больше времени, чем основное движение (во всяком случае, в мультфильме).
Идите к первому ключевому кадру анимации.
На временной шкале нажмите среднюю кнопку мыши и, не отпуская, ведите курсор к кадру 70.
Использование средней кнопки мыши на временной шкале позволяет переносить фиксированное состояние анимации из одной точки во времени в другую. Сцена при этом не обновляется. Таким образом, нам уже не нужно искать конус и перемещать его из далекой позиции в кадре 70.
Переместите конус вправо, в позицию подготовки действия.
Установите ключевой кадр.
Теперь конус, оставляя начальную позицию, медленно движется вправо на протяжении нескольких кадров и молниеносно исчезает из виду в левую сторону всего за пару кадров (см. рис. 5.3).

Рис. 5.3.
Анимация с подготовкой действия, как в мультфильме. В кадре 25 конус начинает медленно двигаться вправо. Это предваряющее движение в противоположном направлении длится около 2 секунд до кадра 70. Затем внезапно наш конус устремляется влево и достигает конечной позиции всего за 5 кадров. Он резко останавливается, а верхушка продолжает еще долго раскачиваться. Самое большое ускорение, а следовательно, и самые большие покачивания происходят тогда, когда конус покидает зону подготовки действия в кадре 71 и после его внезапной остановки в кадре 75
Деформатор Покачивание активнее всего действует в кадре 70, где меняется направление движения. Если эффект покажется вам слишком сильным, откройте секцию Jiggles (Покачивания) в окне Channel Box (Окно Каналов) и увеличьте значения параметров Stiffness (Жесткость) и Damping (Затухание).
Для того чтобы полностью контролировать ключевой кадр 70, мы обратимся к касательным движения нашего конуса - графическому изображению того, как анимация приближается к ключевому кадру и покидает его.
Выделите конус и выберите Window / Animation Editors (Окно / Редакторы Анимации), для того чтобы открыть Graph Editor (Редактор Анимационных Кривых).
Удалите или проигнорируйте все горизонтальные кривые, не имеющие отношения к анимации.
Выделите средний ключевой кадр (кадр 70).
Нажмите на пиктограмму Break tangents (Разделение Касательных) в верху окна, для того чтобы разделить касательные в этом ключе (см. рис. 5.4).
Выделите правую часть касательной и щелкните по пиктограмме Linear (Линейный). Это заставит касательную сильно отклониться в направлении последнего ключевого кадра.
Выделите левую часть касательной и щелкните по пиктограмме Flat (Горизонтальный), для того чтобы расположить ее горизонтально (см. рис. 5.5).
Теперь конус медленно движется вправо, еще больше замедляет движение перед кадром 70, а потом вдруг уносится влево с большой скоростью. Две касательные позволяют весьма эффективно управлять подготовительным действием движения конуса. Если вы зададите тип Flat (Горизонтальный) и для касательной выхода из области подготовки действия, конус с некоторым промедлением будет покидать точку изменения направления.

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

Рис. 5.5.
Задав тип Linear (Линейный) для правой касательной - в нашем случае это означает крутой и быстрый, - мы задаем левой касательной тип Flat (Горизонтальный). Теперь конус не спеша движется до точки поворота, а затем неожиданно стремительно покидает ее
Для рендеринга такой анимации нам просто необходим Motion Blur (Размытость при Движении). Motion Blur - это эффект, заимствованный из мира реальной видеосъемки, который легко имитируется в программах по трехмерной графике.
Прежде чем приступить к рендерингу с опцией Motion Blur (Размытость при Движении), создайте для эффекта покачивания кэш диска. Для этого нужно выбрать в меню Deform / Jiggle Disk Cache (Деформация / Кэш Диска для Покачивания).
Это позволит Мауа сохранять на жесткий диск данные деформации, которые Motion Blur (Размытость при Движении) будет использовать в процессе рендеринга.
Откройте окно Render Globals (Глобальные Параметры Рендеринга).
В окне Render Globals (Глобальные Параметры Рендеринга) откройте меню Motion Blur (Размытость при Движении) и отметьте 2D для Motion Blur Type (Тип Размытости при Движении) (рис. 5.6).
Отрендерите кадр 71.

Рис. 5.6.
Активизируйте параметр 2D для Motion Blur Type (Тип Размытости при Движении) в окне Render Globals (Глобальные Параметры Рендеринга). Вы можете уменьшить значение параметра Blur Length (Величина Размытости), для того чтобы сделать эффект менее выраженным
Если эффект получился очень сильным, уменьшите значение параметров Motion Blur ву Frame (Количество Кадров Размытости) и Blur Length (Длина Размытости).
Если вы хотите визуализировать тени, то для Motion Blur Type (Тип Размытости при Движении) выберите параметр 3D. Это потребует более высоких значений сглаживающих параметров и значительно увеличит время визуализации, однако дает потрясающе реалистичный эффект размытости теней во время движения. Модуль рендеринга с опцией 2D Motion Blur не работает с тенями (рис. 5.7).

Рис. 5.7.
Конус, визуализированный с помощью 2D Motion Blur (Размытость при Движении 2D), в начале анимации (справа) и в конце (слева)
А теперь кое-что новенькое. Приходилось ли вам оставлять немного места под окном Мауа для размещения там пиктограмм свернутых окон?
Посемафорим
Как создать анимацию работы семафора?
Тема:
Анимация персонажей.
Используемые техники и инструменты:
Joint Tool (Сустав), Create Character (Создать Персонаж), Create Pose (Создать Позу), Trax Editor (Редактор Дорожек), Create Blend (Создать Плавный Переход).
Более века назад семафорные флаги как систему передачи сигналов заменил электрический телеграф. Тем не менее и в наши дни корабли продолжают использовать семафор для связи на коротких дистанциях, а морские офицеры-связисты в прошлом использовали флаги для передачи сообщений приветствия, вызова или нападения. В системе семафора каждое сочетание двух флажков символизирует число или букву. Весьма интересно наблюдать за парой рук, машущих флажками по определенному шаблону и передающих информацию кому-то, знакомому с этой системой. В этом уроке мы отправим семафорное сообщение: четыре буквы M-A-Y-A. Для этого используем технику нелинейной анимации.
Для начала нам нужен кто-то, держащий флажки. В окне Front View (Вид Спереди) создайте простой скелет, состоящий из торса, двух плеч и двух рук.
Создайте полигональную плоскость и наложите на нее двухцветную текстуру ramp с резко очерченными границами цветов (установите Interpolation (Интерполяция) на None (Отсутствует).
Поверните текстуру, используя Attribute Editor (Редактор Атрибутов) окна place2dTexture. Задайте для Rotate Frame (Поворот Рамки) значение 45 градусов (рис. 6.1).

Рис. 6.1.
Параметры для диагонального расположения цветов текстуры Ramp на флаге
Увеличьте значение Coverage (Покрытие) текстуры до 2x2 и уменьшите значение параметра Translate Frame in V (Перемещение Рамки по оси V) с 1 до 0,5.
Эти установки создают диагональное расположение двух цветов текстуры.
Дублируйте плоскость путем зеркального отражения ее по оси Z.
Сделайте созданные плоскости дочерними (Edit / Parent) для соответствующих рук).
В семафоре руки движутся, как стрелки часов (рис. 6.2). Для того чтобы получатель сообщения понял, что одно слово закончилось и начинается новое, система знаков содержит нейтральную позицию, когда обе руки опущены вниз.
В этом уроке мы изобразим M-A-Y-A как слово, где следует выделить каждую букву. Для этого мы используем нейтральную позицию рук после каждого отдельного символа, а не в конце всего слова. Различные положения рук создаются вращением относительно нейтральной позиции на угол, кратный 45 градусов. Самый лучший инструмент для достижения такой точности - это Rotation Snapping (Привязка Вращения): дважды щелкните мышкой по значку вращения, активизируйте Snapping (Привязка) и введите для нее значение 45.

Рис. 6.2.
Буквы и числа семафорной азбуки
Теперь инструмент вращения будет останавливать движение рук через каждые 45 градусов.
Перед тем как приступить к нелинейной анимации, нам бы пришлось начать анимацию слова M-A-Y-A с изображения нейтральной позиции и установки
здесь ключевого кадра. Затем мы бы вращали все участвующие в движении объекты для приведения их в положение, обозначающее букву М, и снова установили ключевой кадр. Потом опять вернулись бы в нейтральную позицию, задали ключевой кадр, выполнили бы Rotate (Поворот) для буквы А, ключевой кадр и т. д. Конечно, это самый прямой способ анимации слова. Однако, если вы работаете, скажем, над серией сюжетов для научной передачи о системе семафорных знаков и вам нужно было бы изобразить передачу огромного количества слов и предложений, использование процедуры, исключающей установку ключевых кадров, сэкономило бы вам много времени.
Вместо установки ключей мы создадим позы для каждой руки, изображающие все возможные варианты положений рук под углом 45 градусов, то есть целый алфавит. Создание этих поз не займет много времени, однако, когда оно будет завершено, работа над созданием анимации станет весьма приятной. Какое бы слово вам ни пришлось изобразить, просто подберите необходимые позы и соедините их в Trax Editor (Редактор Дорожек).
Для того чтобы использовать позы в Мауа, нам нужно создать персонажей из совокупности участвующих в анимации объектов. Персонаж в данном контексте не имеет ничего общего с трехмерными существами или личностью.
Персонаж в Мауа - это просто набор различных атрибутов всевозможных объектов. Нам нужно создать такой набор, перед тем как использовать его атрибуты в нелинейной анимации. При создании клипа персонаж генерируется автоматически. Позы, однако, еще потребуют немного ручной работы. Итак, мы создадим два простых персонажа: один, состоящий из поворотов левой руки и флажка вокруг оси Z, другой, состоящий из поворотов правой руки и флажка вокруг оси Z.
Выделите правый флажок (левый, если смотреть прямо из окна front) и правую руку. Убедитесь в окне Outliner (Схема сцены), что и рука, и многоугольник выделены.
В окне Channel Box (Окно Каналов) выделите Rotate Z (Вращение вокруг оси Z).
Откройте окно настроек для создания нового персонажа. Для этого нажмите клавишу F2 и выполните команду Character / Create Character Set Option Box (Персонаж / Создать Персонаж Окно Настроек) (см. рис. 6.3).
Включите опцию From Channel Box (Из Окна Каналов), дайте персонажу имя и создайте его, нажав Create (Создать).
Во всплывающем меню в правом нижнем углу экрана вы увидите, что персонаж создан и активизирован. Это все, что вам нужно о нем знать. Теперь вы можете поработать с позами правой руки.
Поверните правую руку так, чтобы она указывала прямо вниз.
Если необходимо, поверните и правый флажок; постарайтесь поместить его в одно из положений семафора.
Для этой нейтральной позиции создайте первую позу, выбрав Animate / Create Pose (Создать Анимацию / Создать Позу) (рис. 6.4). Дайте ей соответствующее имя.
Создайте позы для каждого из поворотов на 45 градусов для правой руки и ее флажка.

Рис. 6.3.
Для преобразования положений рук нашего сигнальщика в позы следует сначала создать новый персонаж - в данном случае для правой руки и флажка

Рис. 6.4.
Первая поза (нейтральная)
Воспользуйтесь иллюстрацией знаков семафора в качестве гида. При этом вам не нужно выделять объекты для создания поз. До тех пор, пока персонаж, содержащий интересующие нас атрибуты, активен, все задаваемые ключи будут ставиться на эти атрибуты Основная цель, а также мощь использования персонажей в Мауа заключается в том, чтобы собрать вместе большое количество параметров различных объектов для упрощения работы с ними.
Откройте окно Visor и просмотрите в нем только что созданные позы. Для этого нажмите на них правой кнопкой мыши и выполните команду Apply Pose (Применить Позу) (рис. 6.5).
Найдите позы правой руки для букв М и Y.
Переименуйте их в М_г и Y_r.

Рис. 6.5.
Мы применяем готовую позу к сцене - и персонаж сигнализирует букву Y
При изображении буквы А положение правой руки будет таким же, как при изображении буквы М.
Создайте второго персонажа, на этот раз для вращения вокруг оси Z левой руки и левого флажка.
Создайте позы для поворотов руки на каждые 45 градусов. Имя, которое вы дадите первой позе, будет учитываться при создании последующих новых поз.
Опробуйте новые позы, используя Visor. Переименуйте позу для буквы М в М_1.
Поза левой руки для буквы А такая же, как в нейтральной позиции, а поза для Y, когда рука с флагом вытянута в сторону, повторяет позу для буквы М.
Теперь у вас есть 2 набора из семи поз - для каждого из двух персонажей. Когда вы активизируете персонаж во всплывающем меню справа снизу, вы увидите его позы в Visor.
Откройте Trax Editor (Редактор Дорожек), выбрав Window / Animation Editors / Trax Editor (Окно / Редакторы Анимации / Редактор Дорожек).
Это окно представляет собой центр управления нелинейной анимацией. Можете назвать его Avid или Media 100 монтажной системой для анимации 3D персонажей. Здесь вы найдете 2 набора входных данных, по одному для каждого из персонажей.
Активизируйте правый персонаж, используя всплывающее меню в нижнем правом углу экрана.
Средней кнопкой мыши перетащите нейтральную позу правой руки из окна Visor в верхнюю дорожку в Trax Editor (Редактор Дорожек) (рис. 6.6).

Рис. 6.6.
Используя среднюю кнопку мыши, вы можете перетащить нейтральную позу правой руки из окна Visor в пять различных позиций на дорожке Trax Editor (Редактор Дорожек)
Вы можете работать в окне Trax Editor (Редактор Дорожек), как в любом другом 2D окне. Особенно полезны клавиши: F - для фокусирования на выделенных объектах; А - для фокусирования на всех объектах.
В Trax Editor ( Редактор Дорожек) передвиньте нейтральную позу в кадр 0 или 1.
Еще четыре раза перетащите нейтральную позу из окна Visor в окно Trax Editor (Редактор Дорожек) в кадры 10, 20, 30 и 40.
В окне Visor найдите позу М_г и перетащите ее в кадр 5 в окно Trax Editor (Редактор Дорожек).
Перетащите эту же позу (которая также используется для буквы А) в кадры 15 и 35.
Перетащите позу правой руки для буквы Y в кадр 25.
Это не заняло много времени. Так же быстро все это получится и при работе со вторым персонажем, левой частью сигнальщика.
Выделите персонаж левой стороны, используя всплывающее меню.
Перетащите нейтральную позу из окна Visor в Trax Editor (Редактор Дорожек) пять раз и расположите панели левого персонажа прямо под нейтральными позами правого персонажа (в кадрах 0, 10, 20, 30 и 40).
Перетащите позу левой руки для М - М_1 (которая идентична позе для Y) в кадры 5 и 25 (рис. 6.7).

Рис. 6.7.
Завершенная анимация передачи слова M-A-Y-A по системе флажков семафора - анимация в Trax Editor (Редактор Дорожек) без единого ключевого кадра
Подвигая указатель текущего кадра по временной шкале, вы увидите, что создали анимацию, ни разу не установив ключевого кадра. На этом этапе анимация перескакивает от одной позы к другой, поскольку Мауа не интерполирует между ними. Но вы можете сгладить переход от одной позы к другой всего одним щелчком мыши.
Выделите две соседние позы в Trax Editor (Редактор Дорожек) и сгладьте переход от одной к другой, нажав на значок Create Blend (Создать Плавный Переход) (рис. 6.8). Повторите эту процедуру для других пар поз.

Рис. 6.8.
Смягчите переход от одной позы к другой, используя инструмент Blend (Плавный Переход)
Теперь анимация воспроизводится плавно. Степень плавности вы можете видеть в Graph Editor (Редактор Анимационных Кривых), который открывается щелчком мыши по его пиктограмме в Trax Editor (Редактор Дорожек) (рис. 6.9). В Graph Editor (Редактор Анимационных Кривых) выделите кривые плавного перехода и задайте их касательным тип Flat (Горизонтальная Касательная), для того чтобы они покидали предыдущие позиции и входили в последующие немного более плавно (см.
рис. 6.10).

Рис. 6.9.
Быстрый способ выхода из Trax Editor (Редактор Дорожек)...

Рис. 6.10.
...в Graph Editor (Редактор Анимационных Кривых), где вы можете отредактировать касательные
В анимации, однако, есть небольшой дефект, который легко исправляется в Trax Editor (Редактор Дорожек): персонаж должен задерживаться в одной позиции на несколько мгновений, прежде чем перейти к другой. Для этого просто растяните вправо соответствующую панель (рис. 6.11). Переместите растянутую панель немного влево - и дефект исправлен. Именно так работают в монтажной программе для цифрового видео.

Рис. 6.11.
Растягиваем длину позы для букв

Рис. 6.12.
M-A-Y-A: наше сообщение для семафора готово
А теперь кое-что новенькое. Заглядывали ли вы в папки particle от предыдущих проектов? А в папки depth? [Автор намекает на то, что в папке particle хранится кэш частиц, а в папке depth - информация о распределении частиц по глубине. Эта информация весьма объемна и занимает на диске много места... Поскольку речь идет о старом проекте, то эти папки можно почистить, сэкономив кучу места на диске. - Примеч. ред. ]
Катись, мяч, катись!
Как сделать так, чтобы сфера скатывалась с холма, а не соскальзывала с него?
Тема:
Анимация.
Используемые техники и инструменты:
Make Live (Сделать Активным), Curve on Surface (Кривая на Поверхности), Arc Measure Tool (Измерение Дуги).
Нет ничего сложного в том, чтобы передвинуть объект слева направо. Довольно просто толкать объект по горизонтальной плоскости. Однако совсем не так легко двигать объект по неровной поверхности, точно соблюдая заданный путь движения (использовать динамическую симуляцию в этом случае вы не можете: результаты могут быть самыми неожиданными). А если объект является сферой, которая должна катиться, а не скользить, - тут есть над чем задуматься. Но давайте отложим размышления на потом и начнем двигать куб по холмистой поверхности.

Рис. 7.1. Вот так выглядит реальный курвиметр для измерения длины кривой линии, например дороги на карте французских Альп
Задайте длительность анимации 400 кадров.
Создайте NURBS-плоскость шириной 20 и плотностью 20x20 патчей в V и U направлениях.
Нажмите клавишу F3, выберите Edit NURBS / Sculpt Surfaces (Редактирование NURBS / Создать Рельеф Поверхности) для деформации поверхности.
Выделите поверхность и преобразуйте ее в "активный" объект. Для этого либо нажмите на пиктограмму с магнитом в верхней части экрана (рис. 7.2), либо выберите Modify / Make Live (Модифицировать / Сделать Активным). С этого момента вы можете работать прямо на поверхности.

Рис. 7.2.
Пиктограмма с магнитом в верху окна Мауа позволяет вам работать непосредственно на поверхности
Выберите один из инструментов Create Curve (Создать Кривую) и постройте кривую. Для этого либо несколько раз щелкните мышкой по поверхности, добавляя к ней точки, либо проведите мышкой по поверхности, удерживая нажатой левую кнопку.
Выйдите из режима Live mode (режим Сделать Активным), нажав снова пиктограмму с магнитом.
Кривая, которую вы только что создали непосредственно на поверхности, и будет путем движения нашего куба.
Создайте полигональный куб.
Нажмите клавишу 4, для того чтобы войти в режим Wireframe mode (режим Каркас). Выделите куб, а затем и кривую на поверхности.
Создайте путь для движения куба. Для этого нажмите F2, выберите Animate / Motion Paths / Attach to Motion Path (Анимация / Пути Движения / Присоединить к Пути Движения) (рис. 7.3).

Рис. 7.3.
Присоединим куб к кривой на поверхности
Когда вы воспроизведете анимацию, то увидите, как куб движется вниз и вверх по холмам. Есть, правда, одна проблема: когда куб скользит по поверхности, он погружается в нее (рис. 7.4).

Рис. 7.4.
Наш куб движется по холмам и по долинам (и проваливается в них)
Это связано с положением опорной точки куба. Мы могли бы передвинуть ее, однако вместо этого удалим куб и создадим NURBS-сферу. Давайте поговорим об опорной точке сферы. Если вы присоедините сферу к пути ее движения, как вы это уже делали с кубом, то ее нижняя часть тоже погрузится в поверхность. Если же вы опустите опорную точку сферы, для того чтобы избавиться от этого погружения, то сфера перестанет вращаться относительно своего центра - а это именно то, что необходимо для ее качения (а не скольжения) по поверхности.
Что нам тут действительно нужно, так это объединить два объекта в одном. Один будет отвечать за движение по заданному пути, а другой возьмет на себя качение сферы. Все это мы осуществим с помощью иерархической анимации - громкое слово для обозначения простой процедуры работы с группами, членами и родительскими объектами, сферу саму с собой и присоединить группу к пути движения. Единственный член группы - сфера - может теперь вращаться вокруг своей центральной точки, в то время как группа будет двигаться вверх и вниз по холмам. Группа несет в себе сферу, а сфера, в свою очередь, заботится об эффекте качения.
Сгруппируйте сферу саму с собой, используя клавиши клавиатуры Ctrl+g либо выбрав Edit / Group (Редактирование / Группа).
Переименуйте группу.
В режиме Insert (Режим редактирования опорной точки) переместите опорную точку группы к южному полюсу сферы (рис. 7.5).

Рис. 7.5.
Перемещаем опорную точку группы сферы после группирования сферы с самой собой. Благодаря этому сфера остается на поверхности во время движения
Присоедините группу сферы - но не саму сферу! - к кривой на холмистой поверхности так же, как вы раньше делали это с кубом. Нажмите F2, выберите Animation / Motion Paths / Attach to Motion Path (Анимация / Пути Движения / Присоединить к Пути Движения).
Сфера движется по поверхности (не погружаясь в нее) (рис. 7.6). В действительности движется не сама сфера, а ее группа, которая, конечно, несет в себе сферу, куда бы ни двигалась. Если сфера склоняется к кривой пути движения, исправьте это, изменив внутреннюю ось пути. Откройте Attribute Editor (Редактор Атрибутов) motionPathl и установите Up Axis (Верхняя Ось) на Y.

Рис. 7.6.
Скользим и съезжаем с холмов - но не катимся
Теперь можно приступить к качению. Как предотвратить скольжение сферы? Мы заставим ее вращаться внутри группы для создания впечатления качения. Если мы поделим длину кривой на длину окружности сферы, то узнаем, сколько раз ей нужно повернуться вокруг своей оси за время движения по поверхности. Радиус сферы равен 1. Формула вычисления длины окружности следующая:
2*Radius*p.
Итак, длина окружности нашей сферы составляет: 2 * 1 * 3.14 = 6.28.
Таким образом, каждый раз, когда сфера преодолеет 6,28 единицы и выполнит один полный оборот, выглядеть это будет так, будто она катится по поверхности, чувствуя трение с ней. Мауа предлагает пару весьма полезных способов для измерения расстояний. Тот, который потребуется нам для измерения длины нерегулярной кривой, называется Arc Length Tool (Длина Дуги).
Выберите Create / Arc Length Tool (Создать / Длина Дуги). В режиме Wireframe mode (Режим Каркас) щелкните мышкой по кривой. Инструмент показывает вам расстояние между началом кривой и точкой, на которую вы укажете курсором (рис. 7.7). Перетащите Arc Length Tool (Длина Дуги) в конец кривой и запомните появившееся значение.

Рис. 7.7.
Инструмент Arc Length Tool (Длина Дуги) измеряет длину дуги между началом кривой и любой точкой на ней
Разделите длину кривой на длину окружности сферы, которая составляет 6,28.
В нашей анимации длина кривой составляет 25,54 единицы. 25 / 6,28 = 4,07.
Следовательно, сфера сделает вокруг своей оси 4 полных оборота.
Умножьте результат на 360.
Теперь вы знаете, на сколько градусов должна повернуться сфера, чтобы прокатиться по всему пути движения.
Идите в начало анимации.
Выделите сферу (не группу!) и выберите направление вращения.
Задайте ключевой кадр для этого параметра вращения.
Идите в конец временной шкалы.
В кадре 400 увеличьте значение вращения на число, которое вы получили в результате вычислений, и задайте еще один ключевой кадр (рис. 7.8).

Рис. 7.8.
После небольших вычислений вращение сферы получает второй ключевой кадр. В нашем случае она поворачивается на -1464 градусов вокруг оси Z
Откройте Graph Editor (Редактор Анимационных Кривых) и задайте для касательных вращения сферы тип Linear (Линейный) (рис. 7.9).

Рис. 7.9.
Для того чтобы получить реалистичное перекатывание, для касательных должен быть задан тип Linear (Линейный), если он еще не задан
Если сфера вращается в противоположном направлении, переустановите ключевой кадр, на этот раз с отрицательным значением. При воспроизведении анимации вы увидите сферу, плавно катящуюся по своему извилистому пути (см. рис. 7.10).

Рис. 7.10.
Сфера реалистично катится по извилистому пути
Этот способ позволяет вам получить за короткое время вполне реалистичное качение сферы, однако он не очень удобен. Если, например, хоть один параметр - радиус сферы или длина пути - меняется, эффект качения пропадет, и вам снова придется производить вычисления и переустанавливать второй ключевой кадр. Для того чтобы полностью контролировать ситуацию, вам придется создать выражения, которые будут использовать значения этих параметров как переменные.
У нашей анимации есть еще одно слабое место: сфера катится слишком монотонно. Например, она не ускоряется при движении вниз с холма. Это можно исправить путем установления большего количества ключевых кадров для U Value (Значения U) пути движения и вращения сферы.После этого вам нужно будет дополнительно настроить две соответствующие анимационные кривые в Graph Editor (Редактор Анимационных Кривых).
А теперь кое-что новенькое. Использовали ли вы когда-нибудь Тот Kluysken's Caustics при рендеринге рубинового колье?
Управляем велосипедом (и отвлекаем внимание)
Как сделать так, чтобы персонаж одной рукой управлял велосипедом, а другой одновременно рисовал в воздухе знак @?
Тема:
Анимация.
Используемые техники и инструменты:
Joint Tool (Сустав), ik Handle (ИК-манипулятор), Point Constraint (Принудительное согласование позиций), Motion Path (Путь Движения).
Анимация персонажей не сводится к цифровому изображению мимики, реалистичной ходьбе и синхронизированной с движениями губ речи. Персонаж также должен взаимодействовать с окружающим миром. Хотя в реальной жизни это предполагает огромное количество различных действий - прикасание, хватание, отпускание, взгляд, приближение, - в компьютерной анимации все это может быть сведено к Constraint (Принудительное согласование). Самое главное согласование - это то, которое связывает персонаж с другими элементами окружающего мира: с другим объектом или персонажем. В этом уроке мы рассмотрим основные процедуры при использовании такого вида ограничений. Мы создадим анимацию персонажа, управляющего велосипедом и одновременно рисующего другой рукой в воздухе знак @.
Создайте руль велосипеда с двумя ручками (см. рис. 8.1). Все, что вам для этого нужно, это три цилиндра соответствующих размеров. Оставьте центр руля в начале координат. Сгруппируйте все три компонента вместе и дайте группе какое-нибудь значащее имя.
С помощью инструмента Joint Tool (Сустав) сконструируйте скелет для плеч и рук, состоящий из шести или семи костей. Начните с шеи, затем добавьте ключицу и вставьте в нее еще две кости рук, ведущие к лучезапястному суставу (см. рис. 8.2).
Теперь выделите верхний сустав руки и создайте зеркальное отражение всей совокупности элементов с другой стороны, используя команду Mirror Joint (Зеркальное Отражение Сустава) (см. рис. 8.3). Создавать отражение шеи вовсе не обязательно.
Для обеих рук добавьте ik Handles (ИК-манипулятор) от плеч к запястьям (см. рис. 8.4).

Рис. 8.1.
Руль велосипеда с ручками состоит из трех NURBS-цилиндров

Рис. 8.2.
Моделируем скелет: несколькими щелчками мыши в соответствующем окне мы создаем левое плечо и руку
Оно может находиться только в промежутке между 1 и -1. Поэтому, когда вы воспроизведете анимацию, руль будет вращаться только между -1 и 1 градусами, что, конечно, едва заметно.

Рис. 8.6.
Математическое равенство заставляет двигаться руль велосипеда
Отредактируйте выражение (для этого, как и раньше, следует вызвать Expression Editor (Редактор Выражений), увеличив амплитуду синуса в 20 раз
= 20 * sine (time);
Сохраните изменения, нажав Edit (Редактирование).
Это выражение позволяет рулю медленно вращаться между -20 и 20 градусами вокруг оси Y, как если бы велосипед двигался по слалому. Поскольку Point Constraint (Принудительное согласование позиций) все еще активно, руки движутся в унисон с ручками руля. Выглядит это так, будто руки (а вовсе не математическое выражение) управляют велосипедом (см. рис. 8.7). Если длины рук недостаточно во время увеличения амплитуды управляющих движений, ни в коем случае не удлиняйте их - помогите им дотянуться до ручек, подвинув плечи или ключицу немного вперед.
Если вы хотите исключить одну руку из управления велосипедом, попробуйте сделать так: щелкните мышкой по ее ik Handle (ИК-манипулятор) и в окне Channel Box (Окно Каналов) в секции Shapes (Форма) установите Node State (Состояние
Узла) с Normal (Нормальное) на Blocking (Блокированное) (рис. 8.8). Эта команда дезактивирует ограничение. Если хотите, можете установить здесь ключ.

Рис. 8.7.
Обе руки, крепко держась за ручки, управляют велосипедом

Рис. 8.8.
Переключите Node State (Состояние Узла) с Normal (Нормальное) на Blocking (Блокированное). Привязка дезактивируется, и рука может снова свободно вращаться
Мы продвинемся еще немного вперед и вместо того, чтобы полностью исключить руку из управления велосипедом, добавим для нее еще одно принудительное согласование - Locator (Локатор). Затем, вместо того чтобы менять Node State (Состояние Узла) принудительного согласования, мы изменим его Weight (вес).
Создайте Locator (Локатор) - объект, который не рендерится.
Его можно найти в меню Create (Создать).
Переместите локатор немного правее правой руки.
Оставляя локатор выделенным, выберите правый ik Handle (ИК-манипулятор) и свяжите его с локатором. Для этого выберите Constrain / Point (Принудительное согласование / Положение).
Запястье моментально реагирует на это изменение и перепрыгивает в точку между ручкой руля и локатором. Если вы передвинете локатор в другую область сцены, ik Handle (ИК-манипулятор) последует за ним. Определяющими параметрами такого поведения являются Weights (Веса) двух принудительных согласований. Их вы найдете в окне Channel Box (Окно Каналов) прямо под полем Node State (Состояние Узла). Первое значение - это вес ручки руля, второе - вес локатора. Поскольку оба значения в данный момент равны, ладошка располагается между ними (рис. 8.9).

Рис. 8.9.
Веса WO (для локатора) и W1 (для ручки руля) равны. Следовательно, запястье руки располагается между ними
Задайте длительность анимации 1000 кадров.
Идите в кадр 300. Установите вес правой ручки руля на 1, а вес локатора на 0.

Рис. 8.10.
Когда вес для ручки руля меняется на WO = 1, а вес для локатора на W1 = 0, запястье руки возвращается к ручке руля
Задайте ключевые кадры для обоих параметров.
Передвиньтесь вперед на 50 кадров, в кадр 350. Измените вес: 0 - для ручки руля и 1 - для локатора.
Снова задайте ключевые кадры для обоих параметров.
Меняя веса для двух принудительных согласований позиции, вы создали анимацию движения руки. Она отпускает руль в кадре 300 и через 50 кадров перемещается к локатору - там и остается все оставшееся время.

Рис. 8.11.
Со значениями WO = 0 и W1 = 1 запястье руки перепрыгивает к локатору
Верните руку к ручке руля между 500 и 600 кадрами, задав еще два ключевых кадра для значений веса ограничения.
Отредактируйте анимацию в Graph Editor (Редактор Анимационных Кривых) на ваш вкус. Задайте касательным тип Flat (Горизонтальная) в точках начала и окончания движения.
Между 350 и 500 кадрами рука находится в статичном положении.
Если вы создадите анимацию локатора в этом промежутке, например придав ему машущее движение, рука повторит его, поскольку она больше не привязана к ручке руля. Мы зададим руке совершенно определенное движение: пусть она нарисует в воздухе знак @. Это мы сможем получить путем установления ограничивающей связи локатора (но не для ik Handle (ИК-манипулятор) и пути рисования знака.
Переключитесь на окно Side View (Вид Сбоку) или Front View (Вид Спереди) и с помощью инструмента Pencil. Curve Tool (Карандаш) нарисуйте знак @ (рис. 8.12).
Передвиньте полученную кривую поближе к локатору.
Выделите локатор и добавьте к выделенному кривую.
Откройте окно настроек команды Motion Path (Путь Движения), выбрав Animate / Motion Paths / Attach to Motion Path Option Box (Анимация / Пути Движения / Присоединить к Пути Движения Окно Настроек).
В окне Option Window (Окно Настроек) команды Attach to Motion Path (Присоединить к Пути Движения) установите Time Range (Временной Диапазон) на Start / End (Начало / Конец). Задайте Start Time (Начальное Время) на 400, a End Time (Конечное Время) на 470. Выполните команду, нажав Attach (Присоединить) (рис. 8.13).

Рис. 8.12.
Пишем знак @ в окне Side View (Вид Сбоку)

Рис. 8.13.
Между кадрами 400 и 470 локатор оказывается "привязанным" к пути рисования знака @
Теперь рука, бросив руль, рисует в воздухе знак @, после чего возвращается к рулю и продолжает управление велосипедом (рис. 8.14). Взгляните на анимационные кривые для Motion Path (Путь Движения) в Graph Editor (Редактор Анимационных Кривых), для того чтобы убедиться, что движение не будет слишком поспешным. Вы также можете задать тип Flat (Горизонтальный) касательным ключевых кадров, используя контекстное меню временной шкалы.

Рис. 8.14.
Персонаж управляет велосипедом только одной рукой. Руль продолжает двигаться. Правая рука рисует в воздухе знак @. После этого она возвращается к ручке руля и продолжает спокойно управлять
Если вы создадите велосипед и велосипедиста, не забудьте объединить локатор в одну группу с другими элементами.Было бы даже неплохо добавить небольшую анимацию знака @ в этой точке. Плечу тоже можно придать небольшое движение. А как насчет функции синус?
А теперь кое-что новенькое. Приходилось ли вам расчесывать мех?
Моток кабеля
Как свернуть кабель вокруг бобины?
Тема:
Моделирование.
Используемые техники и инструменты:
Animation Snapshot (Копии фаз анимированного объекта), Loft (Построение поверхности по сечениям).
В большинстве проектов анимация и моделирование - это два различных процесса. Однако многие объекты гораздо проще моделировать с помощью анимации, нежели классических инструментов моделирования. Например, центральная диафрагма фотокамеры напоминает ракушку улитки. Если вы начнете ее моделирование с профиля (со спирали), это займет слишком много времени. Гораздо быстрее вы получите требуемый результат, если немного подумаете, как создать анимацию закручивания спирали.
В этом уроке мы будем моделировать кое-что похожее: свернутый в моток кабель. Исходить будем из того, что нам нужно создать анимацию поперечного сечения кабеля, то есть окружности, по всей его длине. Мы получим моток кабеля, после того как создадим достаточное количество копий поперечных сечений. К счастью, Мауа предлагает команду, которая выполнит копирование за нас и одновременно позволит анимировать процесс намотки.
Создайте NURBS-окружность.
Передвиньте ее на 5 единиц по оси X и уменьшите наполовину ее радиус (рис. 9.1).

Рис. 9.1.
Опорная точка окружности смещена к началу координат сцены. С помощью новой точки вращения мы сможем подготовить первый виток намотки
В режиме Insert mode (Режим редактирования опорной точки) сместите опорную точку вращения окружности назад, к началу координат сцены.
Если вы повернете окружность вокруг оси Z, она будет двигаться циклически по кольцу. А если переместите маленькую окружность на одну единицу по оси Z . после каждого завершенного цикла, то путь ее вращения опишет первый виток вокруг несуществующей бобины (см. рис. 9.2).
Мы создадим десять витков для нашего кабеля. Для этого нужно будет выполнить вращение на 10 * 360 = 3600° и перемещение на 10 единиц. (Если мы переместим больше чем на 10 единиц, кабель не сможет компактно уложиться на бобине, между его витками мы получим зазоры, которые, правда, иногда являются желаемым эффектом.)

Рис. 9.2.
Если мы повернем маленькую окружность на 360° вокруг оси Z и одновременно передвинем ее на одну единицу по Z, то получим первый виток кабеля вокруг бобины
Задайте длительность анимации 100 кадров.
Идите в начало анимации. Поставьте ключи на перемещение и вращение окружности в ее начальном положении (Translate Z = 0 и Rotate Z = 0).
Идите в конец анимации. В окне Channel Box (Окно Каналов) задайте для Translate Z (Значение перемещения по оси Z) значение -10, а для Rotate Z (Угол поворота по оси Z) значение 3600. Установите ключевые кадры для этих значений параметров (рис. 9.3).

Рис. 9.3.
Каналы перемещения и вращения окружности получают ключевые кадры в кадре 100
Откройте Graph Editor (Редактор Анимационных Кривых). Задайте для кривых анимации тип Linear (Линейные) (рис. 9.4).

Рис. 9.4.
Для получения равномерной намотки нам потребуется линейная анимация, вместо той, которая медленно начинается и заканчивается. Поэтому мы зададим касательным анимационных кривых тип Linear (Линейные)
Линейные касательные необходимы для получения равномерной намотки. Если вы зададите им тип Flat (Горизонтальные), намотка в начале будет ускоряться, а в конце замедляться, что создаст слишком большую плотность размещения окружностей для построения лофтированной поверхности.
Выделите окружность.
Откройте окно настроек (клавиша F3) [Ошибка в исходном тексте. Раздел Animate, о котором пойдет дальше речь, находится в меню анимации, "быстрая клавиша" для которого F2. Скорее всего, там должно быть. Перейдите в меню анимации (клавиша F2). - Примеч. ред.], выберите Animate / Create Animation Snapshot Option Box (Анимация / Создать Копии фаз анимированного объекта окно настроек).
Установите для параметра Time Range (Временной Диапазон) значение Time Slider.
Нажмите кнопку Snapshot для выполнения команды.
Animation Snapshot (Копии фаз анимированного объекта) создаст 100 или 101 окружность - в зависимости от того, где начинается анимация: в нулевом, или первом кадре, - описывающие витки вокруг бобины.
Выделите все окружности с помощью прямоугольного выделения (см. рис. 9.5).
Заметьте, что последняя окружность окрашена в зеленый цвет. Так помечается последний выделенный объект. Для следующего шага - создания лофтированной поверхности по всем окружностям - последовательность выделения очень важна. В нашем случае беспокоиться об этом не нужно, поскольку прямоугольное выделение автоматически предоставляет нам правильную последовательность: окружность 1, окружность 2, окружность 3 и т. д. до последней окружности.
В самом начале мы собирались моделировать, а не анимировать наш кабель. И вот с последней командой мы снова обращаемся к моделированию.

Рис. 9.5.
Большим прямоугольником выделим все окружности, чтобы подготовить лофт через 101 окружность. Желтые стрелки указывают на первую и последнюю окружности, созданные инструментом Animation Snapshot (Копии фаз анимированного объекта)
Нажмите F3, выберите Surfaces / Loft (Поверхности / Построение поверхности по сечениям) (рис. 9.6).

Рис. 9.6.
Лофтированная поверхность, построенная по 101 окружности, представляет собой 10 идеальных витков вокруг еще не существующей бобины
Если лофтированная поверхность выглядит угловатой, а не округлой, нажмите клавишу 3 для получения максимально качественной прорисовки поверхности.
Последняя окружность содержит всю информацию об операции Animation Snapshot (Копии фаз анимированного объекта).
Выделите последнюю окружность.
В окне Channel Box (Окно Каналов) откройте секцию snapshot1 (рис. 9.7).

Рис. 9.7.
Кабель с разными значениями параметра End Time (Конечное Время) лофтированной поверхности
Здесь вы найдете историю создания поверхности. Анимируя параметры Start Time (Начальное Время) и End Time (Конечное Время), вы можете создать анимацию намотки кабеля вокруг бобины. Установив Start Time (Начальное Время) на 0 и ключевые кадры для End Time (Конечное Время) с 0 до 100, вы, наконец,
получите намотку кабеля на бобину. Анимация параметра Start Time (Начальное Время) уменьшает длину кабеля с начала в процессе намотки (рис. 9.8).

Рис. 9.8.
История создания лофтированной поверхности может быть проанимирована. Чем меньше значение End Time (Конечное Время), тем короче кабель
Когда кабель наконец намотается, вы можете добавить последние штрихи.
Обычный цилиндр, возможно немного подмасштабированный с торцов, послужит геометрией для бобины.
Если вам захочется поиграть с деревянной текстурой, вы можете найти ее в секции 3D-texture-Section в окне Hypershader (рис. 9.9).

Рис. 9.9.
Намотайте медный материал вокруг кабеля, а в качестве бобины добавьте цилиндрический блок с деревянной текстурой
А теперь кое-что новенькое. Вы никогда не пробовали "нащелкать" лошадь, используя Bert van Brandes' Skeleton Works?
Узловатый человечек
Как смоделировать фигуру, чья поверхность грубее, чем у обычного трехмерного персонажа?
Тема:
Моделирование, рендеринг.
Используемые техники и инструменты:
Subdivision Surfaces (SDS-поверхности), Split Polygon Tool (Разбиение Многоугольника), Extrude Faces (Экструдировать Грани), Displacement Shader (Шейдер Смещения).
Многие трехмерные объекты имеют безупречно гладкую поверхность, что хорошо не для всех задач. Обычно, для того чтобы сделать поверхность немного грубее и имитировать неровности, используют, так называемые Bump Maps (Карты Рельефа). В действительности же Bump Map (Карта Рельефа) - это свойство не поверхности, а камеры. В большинстве случаев Bump Mapping (Наложение Карты Рельефа) является достаточно эффективной процедурой и не требует много времени при рендеринге. Однако она совершенно неприменима, если вам нужны деформации и выпуклости, отчетливо выделяются на фоне.
Познакомьтесь с Displacement Mapping (Наложение Карты Смещения) - техникой, которая не просто имитирует деформации для камеры, а реально деформирует поверхность, используя полутона процедурной текстуры или растрового изображения. К сожалению, эти деформации нельзя видеть в окнах моделирования. Нам придется их отрендерить.
Этот урок состоит из двух взаимосвязанных частей. Мы начнем с моделирования высокого худого человечка с маленькой головой, используя SDS-поверхности.
Немного практики - и это займет лишь пару минут. (Перед эпохой SDS-поверхностей это стоило разработчику не меньше часа.) Если у вас нет Maya Unlimited, вы можете достичь тех же результатов, используя инструменты разбиения и экструдирования и выполнив после них операцию Polygon / Smooth (Многоугольники / Сглаживание). Если вы хотите пропустить моделирование либо отложить его на потом, просто возьмите любой примитив и приступайте ко второй части урока, посвященной технике Displacement (Смещение).
Создайте полигональный куб.
Выберите Modify / Convert / Polygons to Subdiv (Модифицировать / Преобразовать / Полигоны в SDS-поверхности) для преобразования куба в SDS-поверхность.
Назначьте новый материал SDS-кубу.
Если вы случайно назначили материал полигональному кубу (а это на самом деле внешнее покрытие SDS-поверхности, но не сама поверхность) вместо SDS-поверхности, отмените назначение. Выделите непосредственно SDS-поверхность polyToSubdShapel (например, в окне Hypergraph), перед тем как вновь назначить материал. Для этого щелкните правой кнопкой мыши по SDS-объекту и воспользуйтесь контекстным меню.
Переключитесь на режим Polygon mode (Полигональный режим) (рис. 10.1).

Рис. 10.1.
Полигональный куб, преобразованный в SDS-поверхностъ. Его контекстное меню позволяет сделать видимым исходный полигональный объект
Вы можете моделировать SDS-поверхности в двух основных режимах. В первом вы используете инструменты полигонального моделирования, а во втором - инструменты из мира NURBS-моделирования. Классические инструменты полигонального моделирования незаменимы при получении высокой подробности геометрии (например, в области, где ноги прикрепляются к туловищу). Именно поэтому большую часть моделирования нашего человечка мы будем осуществлять в режиме Polygon mode (Полигональный режим).
Выберите Edit Polygons / Split Polygon Tool (Редактирование Многоугольников / Разбиение Многоугольника), чтобы разделить нижнюю поверхность куба на две грани (см. рис. 10.2). Делайте это на глаз, идеальная точность нам ни к чему - наш персонаж не собирается участвовать в конкурсе красоты. Выполните команду, нажав Enter.
Сделайте грани видимыми, используя контекстное меню. Выделите только что созданные нижние грани куба. Для того чтобы вытянуть новую геометрию из этих граней, выберите Edit Polygons / Extrude Face (Редактирование Многоугольников / Экструдировать Грань) (см. рис. 10.3). Щелкнув по одному из кубиков манипулятора инструмента, вы перейдете в режим масштабирования. Равномерно уменьшите немного в размере экструдированные поверхности и, используя стрелки манипулятора инструмента, передвиньте их вниз.

Рис. 10.2.
Используя Split Polygon Tool (Разбиение Многоугольника), разбейте нижнюю грань куба на две части

Рис. 10.3.
Инструмент Extrude Tool локально увеличивает плотность геометрии. Здесь мы это сделали, для того чтобы начать вытягивать грани для моделирования ног
Не отменяя выделения, нажмите клавишу G для повторного применения команды экструдирования. На этот раз мы применим ее к только что экструдированным граням. Вытяните ноги из туловища, применив команду два или
три раза. Во время последнего экструдирования создайте поверхности такого размера, чтобы из них можно было вытянуть стопы (рис. 10.4).

Рис. 10.4.
Несколько последовательных экструдов (а не экструзий) - и ноги готовы. Не совсем идеальные по форме, но все-таки это ноги. Последнее экструдирование (на этот раз в горизонтальном направлении) создаст стопы
Для более точной работы при экструдировании и масштабировании стоп используйте вид сбоку и сверху (рис. 10.5, 10.6).

Рис. 10.5.
Вид сбоку используется для более точного моделирования носков стоп

Рис. 10.6.
Моделирование нижних конечностей завершено. Немного практики - и это займет лишь пару минут
Примените инструмент Split Polygon Tool (Разбиение Многоугольника) по краям туловища и приступайте к экструдированию рук (и, если хотите, пальцев). Эта операция выполняется симметрично, поэтому вы можете одновременно экструдировать геометрию правой и левой рук (рис. 10.7).

Рис. 10.7.
Работаем над верхней частью тепа. Это первые два экструда для рук
Экструдируйте верхнюю грань SDS-полигона, уменьшите в масштабе поперечное сечение шеи и приступайте к вытягиванию шеи и головы (рис. 10.8).

Рис. 10.8.
Первые два экструда для шеи и головы
Осмотрите всю фигуру и смасштабируйте грани на ваш вкус. Помните, что вы можете не только масштабировать и перемещать, но также и вращать грани (рис. 10.9).

Рис. 10.9.
Последние штрихи: вращение затылка
В окне Channel Box (Окно Каналов) вы увидите, что история создания поверхности содержит слишком много уже ненужной информации. Для того чтобы облегчить сцену, удалите историю: Edit / Delete by Type / History (Редактирование / Удалить в зависимости от типа / История).
Имейте в виду, что при этом вы не сможете удалить "сабдивность" поверхности.
Используя контекстное меню и команды Coarser (Грубый) и Finer (Подробный), вы можете переключаться с одного уровня иерархии на другой для более глобальной или локальной работы как в полигональном, так и в стандартном режиме (рис. 10.10).

Рис. 10.10.
Контекстное меню SDS-поверхности позволяет вам переключаться между различными уровнями иерархии. Более подробные уровни позволяют работать локально
На этом этапе не стоит слишком увлекаться такими деталями, как нос, плечи или пальцы ног. Displacement Shader (Шейдер Смещения) может стереть нос, плечи и другие мелкие элементы.
В Attribute Editor (Редактор Атрибутов) шейдинг-группы поверхности (если вы использовали шейдер Blinn, ее имя будет blinnlSG) щелкните по шахматной пиктограмме рядом с полем Displacement Mat.
Открыто окно Create Render Node (Создать Функциональный Узел Рендеринга) (см. рис. 10.11). Выберите текстуру, которая деформирует поверхность персонажа в соответствии со значением цвета текстуры, например Solid Fractal. В качестве метода отображения выберите "As projection". Проекция гарантирует, что текстура равномерно распределится по всему объекту.

Рис. 10.11. Так создается Displacement Map (Карта Смещения) трехмерной текстуры проекционного типа. Откройте Attribute Editor (Редактор Атрибутов) для Shading Group (Шейдинг-группа), щелкните по шахматной иконке рядом с полем Displacement Mat и в окне Create Render Node (Создать Функциональный Узел Рендеринга) выберите параметр "As projection" для метода и, скажем. Solid Fractal для текстуры
Поскольку в окне моделирования вы не увидите никаких изменений, отрендерите сцену.
Рендеринг не займет много времени, - может, несколько минут, в зависимости от используемой геометрии, материала и, конечно, скорости вашего компьютера. Результаты наглядно демонстрируют разницу между Displacement Mapping (Карта Смещения) и Bump Mapping (Карта Рельефа).
В рис. 10.12 как к персонажу впереди, так и к дальнему персонажу применялась одна и та же текстура Solid Fractal. Однако переднему персонажу текстура была назначена с помощью Bump Map (Карта Рельефа), а не Displacement Map (Карта Смещения) (как дальнему). Поверхность передней фигуры выглядит неровной, однако ее контур остается гладким, что отчетливо видно на фоне фона.

Рис. 10.12.
В основе этих двух персонажей одна и та же геометрия и одинаковая текстура. Разница - в способе наложения текстуры. Неровность поверхности передней фигуры обусловлена применением Bump Map (Карта Рельефа). А метод наложения текстуры дальней фигуры - Displacement Map (Карта Вытеснения). Края передней фигуры выглядят гладкими, a Displacement Map изменяет не только внутренние области, но и контур поверхности. И хотя больше никакие настройки процедуры отображения не менялись, Displacement Map значительно увеличивает толщину персонажа. Bump Map, в свою очередь, в основном сохраняет первоначальную геометрию модели
Displacement Mapping (Карта Смещения) может иметь больший или меньший эффект, в зависимости от размера узловатого человечка.
Есть два способа настройки интенсивности эффекта. Один из них - это изменение плотности наложения текстуры на геометрию. В окнах моделирования вы можете видеть каркасный куб с именем placeSDTexturel. Это именно тот инструмент, с помощью которого мы можем изменять плотность наложения текстуры (рис. 10.13).
На рис. 10.14 слева - отрендеренная сцена. С помощью отмеченной пиктограммы вы можете сохранить отрендеренное изображение в оперативную память. Оно не будет удалено до тех пор, пока вы не выйдете из Мауа (или пока не произойдет фатальный сбой в программе).
Второй способ настройки текстуры смещения - это использование градаций серого текстуры. Displacement Mapping (Карта Смещения), как и Bump Mapping (Наложение Карты Рельефа), использует только яркость (альфа-канал, а не цвет) текстуры в деформации геометрии. Для большинства текстур, таких, как Solid Fractal, вы найдете входные данные для полутонов в секции Color Balance в окне Attribute Editor (Редактор Атрибутов).
Начните с самых темных, почти черных значений цвета и низкого значения для Alpha Gain (Усиление Альфа-канала) (рис. 10.15).

Рис. 10.13.
Каркасный куб вокруг стоп персонажа определяет размер наложенной Displacement Map (Карта Смещения). Чем меньше куб, тем чаще текстура повторяется на объекте

Рис. 10.14.
Объект, отображающий расположение 3d текстуры, теперь охватывает весь персонаж полностью

Рис. 10.15.
Окно Attribute Editor (Редактор Атрибутов) для текстуры. В верхней части располагаются параметры, отвечающие за структуру фрактала, ниже - установки для градаций серого, отвечающие за деформации. Основные параметры для Displacement Map (Карта Смещения) - это Color Gain (Усиление Цвета) и Alpha Gain (Усиление Альфа- канала). Большие значения этих параметров означают более белый цвет, что приводит к увеличению объекта. Если Displacement Map (Карта Смещения) обнаруживает только черный цвет, геометрия остается нетронутой
Вообще-то, персонаж увеличивается в размере, если вы применяете яркую текстуру. Когда Displacement Mapping (Карта Смещения) обнаруживает только черный цвет, размер модели не меняется. Если текстура имеет значительные колебания в яркости, персонаж получится очень "комковатым". Выпуклости соответствуют наиболее ярким областям текстуры.
Вам придется приложить много усилий и совершить много (много... много) ошибок в поисках подходящей комбинации настроек для достижения желаемого результата. К сожалению, инструмент IPR (Интерактивный фотореалистичный рендеринг) не работает с Displacement Map (Карта Смещения). Это значит, что вам придется потратить много времени на тестовый рендеринг.
Используя настройки окна рендеринга, отрендерите либо часть изображения, либо изображение маленького размера.
SDS-моделирование и Displacement Mapping (Карта Смещения) - это два мощных инструмента для эффективного создания сложных персонажей, которые выглядят так, будто их вылепили из глины (рис. 10.16) или выковали из металла (рис. 10.17).

Рис. 10.16.
Персонаж, вылепленный из глины

Рис. 10.17.
Выкованные из металла узловатые человечки
Для создания более мелкой текстуры вы можете добавить Bump Map (Карта Рельефа) к Displacement Mapping (Карта Смещения). Bump mapping добавит мелкие шероховатости к изменениям поверхности, создаваемым техникой Displacement mapping.
При экструдировании UV-координаты текстуры очень неровно распределяются. Это можно видеть, если в качестве метода отображения выбрать Normal (Обычный), а не As Projection (Проекция). Для решения проблемы распределения текстурных координат вам нужно создать новую UV-карту например с помощью команды Automatic Mapping (Автоматическое создание текстурных координат), которую вы найдете в меню Subdiv Surfaces (SDS-поверхности).
Проекционная текстура, как та, с которой мы только что работали, не использует UV-координаты поверхности. Однако, как только вы начнете анимацию персонажа, вам придется зафиксировать проекционную текстуру на его геометрии. В противном случае, как только персонаж начнет двигаться, текстура буквально "поплывет" по его поверхности. Команду для фиксации текстуры на поверхности вы найдете в окне Hypershader. Выберите Edit / Convert to File Texture (Редактирование / Преобразовать в файловую текстуру). Если вы хотите для наложения текстур использовать какие-то изощренные средства из арсенала полигонального моделирования, то сохраните сцену и преобразуйте наше существо из SDS-поверхности в полигоны (выберите Modify / Convert / Subdiv to Polygons (Модифицировать / Преобразование / SDS-поверхности в Полигоны).

Рис. 10.18.
Узловатые человечки, выкованные из золота
А теперь кое-что новенькое. Приходилось .ли вам в последнее время нажимать клавиши А или F?
Изогнутое крыло автомобиля
Как создать крыло автомобиля из нескольких хороших NURBS-кривых?
Тема:
Моделирование.
Используемые техники и инструменты:
Loft (Построение поверхности по сечениям), Square (Квадрат), Birail (Построение поверхности по двум направляющим).
Когда разрабатывается дизайн автомашины, крыло (часть, которая огибает колесо) лишь в очень редких случаях проектируется отдельно. Форма крыла должна соответствовать внешнему виду автомобиля, поэтому обычно включается в процесс разработки дизайна. Тем не менее крыло автомобиля - это хороший пример для упражнения в моделировании весьма специфичных форм с использованием специальных кривых.
В этом уроке мы будем непрерывно создавать и модифицировать кривые, затем строить по ним поверхности, оценивать результат и удалять промежуточные построения. Начнем только с двух кривых, которые образуют Loft (поверхность, построенную по сечениям). Затем будем использовать инструмент Square (Квадрат) и закончим работу инструментом Birail3+ Tool. С помощью этих инструментов будет построена поверхность по двум направляющим кривым (кривым Rail) и нескольким профильным кривым. Это будет та поверхность, которую мы сохраним. Для начала работы вовсе не обязательно использовать сложные инструменты. Начнем с обычного Loft (Построение поверхности по сечениям) - он даст нам отличные кривые для создания более совершенных поверхностей.
В окне Front View (Вид Спереди) с помощью инструмента ЕР Curve Tool (Построение кривой по редактируемым точкам) восемью щелчками мышки создайте прямую линию вдоль оси X.
Сдублируйте кривую и переместите дубликат вверх.
Нажмите F3, выберите Surfaces / Loft (Поверхности / Построение поверхности по сечениям) для создания лофтированной поверхности по двум кривым.
В меню Pick Mask (Выбор Маски) уберите флажок с surfaces. Теперь вы можете применить выделение только к кривым (см. рис. 11.1). Разумеется, выделить поверхность можно в окне Outliner (Схема Сцены).
Выберите Modify / Transformation Tools / Proportional Modification Tool (Модифицировать / Трансформация / Пропорциональная Модификация), для того чтобы переместить вверх средние контрольные вершины нижней кривой.
Они образуют нишу для колеса (см. рис. 11.2).

Рис. 11.1.
Это лофтированная поверхность, построенная между двумя параллельными кривыми. В меню Pick Mask (Маска Выбора) в верхней части экрана дезактивирована пиктограмма с изображением поверхности. В этом режиме работы с кривыми возможность случайного выделения поверхности исключена

Рис. 11.2.
Колесо отлично входит в нишу, созданную инструментом Proportional Modification Tool (Пропорциональная Модификация). Действие Proportional Modification Tool на контрольные вершины пропорционально расстоянию от середины выделенного множества. Чем дальше располагается контрольная вершина от середины, тем эффект модификации меньше выражен
Смасштабируйте контрольные вершины обеих кривых слева и справа ниши колеса внутрь для уменьшения размера этой площади (см. рис. 11.3). При этом помните: нельзя допускать, чтобы контрольные вершины "перепрыгивали" друг через друга.

Рис. 11.3.
Инструмент Proportional Modification Tool (Пропорциональная Модификация) хорош не только для перемещения контрольных вершин, но и для их масштабирования. Мы сделаем нишу для колеса меньше и округлее. Соответствующие контрольные вершины верхних кривых следует масштабировать пропорционально, для того чтобы соблюсти точность геометрии поверхности
Переместите передние контрольные вершины обеих кривых в направлении оси Z, для того чтобы придать крылу небольшое закругление в сторону (несуществующей) решетки на радиаторе на передней части машины (рис. 11.4).

Рис. 11.4.
Обе передние контрольные вершины передвинуты вправо, для того чтобы изобразить изгиб крыла в направлении решетки радиатора
Немного сдвиньте верхние контрольные вершины (кроме тех, которые вы только что передвинули) в направлении оси Z, для того чтобы изогнуть крыло к корпусу машины (рис. 11.5).

Рис. 11.5.
Для того чтобы изогнуть край крыла в направлении корпуса машины, немного сместите оставшиеся верхние контрольные вершины
Переместите передние контрольные вершины верхней кривой немного назад, для того чтобы обозначить наклон передней части машины (рис. 11.6).

Рис. 11.6. Верхние передние контрольные вершины смещены назад для придания передней части машины требуемого наклона
Крыло не выглядит идеально. Имейте, однако, в виду, что вы затратили очень мало времени на его создание! Крыло уже похоже на крыло и ни на что другое. Однако после манипуляций с кривыми вы обнаружите ограничения в использовании лофтированной поверхности (поверхности, полученной лофтом). Горизонтальные кривые дают вам хороший контроль над формой в целом, но у вас нет вертикального контроля. Вам нужны кривые, которые позволят добавить детали, например заостренное ребро ниши колеса. Кроме того, оба вертикальных края поверхности абсолютно прямые, а ведь и они должны быть немного закругленными. Вы могли бы вставить третью кривую между двумя уже существующими и создать новую лофтированную поверхность для получения требуемого закругления. Но это будет очень неудобный способ. Вы можете получить абсолютный вертикальный контроль над поверхностью только с помощью вертикальных кривых.
В следующей части мы используем Square tool (инструмент Квадрат), с помощью которого создадим поверхность по четырем соприкасающимся или пересекающимся граничным кривым. Если этот инструмент отсутствует в вашей версии Мауа, используйте инструмент Birail 2 Tool.
Перед тем как удалить лофтированную поверхность, выделите ее и в последний раз взгляните на ее структуру и параметризацию. Лофтированная поверхность содержит две горизонтальные и несколько почти параллельных вертикальных кривых. Если какие-то из изопарм (кривые, образующие поверхность) пересекаются, то что-то не так с исходными кривыми и их (кривые, по которым строилась поверхность) нужно перестроить (рис. 11.7).

Рис. 11.7.
Базисная форма крыла, состоящая из нескольких вертикальных и двух горизонтальных кривых
Удалите лофтированную поверхность.
С помощью инструмента ЕР Curve Tool (Построение кривой по редактируемым точкам) и всего лишь двух щелчков мыши (для каждой из кривых) создайте две новые кривые, соединяющие две горизонтальные кривые (см.
рис. 11.8).

Рис.11.8.
Две новые кривые двумя щелчками мыши. Они соединяют концевые вершины предыдущих кривых
Очень важно использовать Curve Snapping (Прилипание к Кривой) (нажмите и держите клавишу с) при создании новых вертикальных кривых. Это единственный способ проконтролировать, что кривые действительно будут соприкасаться. По два щелчка мыши на каждую кривую (один вверху, один снизу) вполне достаточно. Обратите внимание на направление кривых. Оно должно быть идентичным.
Выделите четыре кривые по часовой стрелке либо против часовой стрелки и выполните команду Surfaces / Square (Поверхности / Квадрат) для создания новой поверхности. Построение поверхности не получится, если крайние точки кривых не соприкасаются.
Новая поверхность выглядит так же, как удаленная лофтированная поверхность. Однако на этом этапе вы можете управлять формой крыла по вертикали.
Передвиньте обе центральные контрольные вершины боковой кривой (той, которая позади машины) в горизонтальном направлении для закругления края крыла.
Передвиньте обе центральные контрольные вершины передней кривой (той, которая ближе к радиатору) немного вперед, для того чтобы придать уже наклоненной передней части крыла небольшое закругление (см. рис. 11.9).

Рис. 11.9.
Новая поверхность, построенная по четырем кривым. Перемещение двух центральных контрольных вершин передней кривой придает округлую форму передней части машины
Заметьте, насколько могущественны эти крошечные изменения кривизны и как они влияют на всю структуру поверхности. Если вам захочется передвинуть крайние контрольные вершины какой-нибудь из кривых, убедитесь, что вы также выделили и двигаете соответствующую контрольную вершину соприкасающейся кривой. В противном случае Square tool не будет создавать результирующую поверхность. Неплохо было бы одновременно передвигать соответствующие контрольные вершины противоположных кривых, поскольку односторонние изменения могут оказать самый неожиданный эффект на форму изопарм. После удаления нашей поверхности четыре оставшиеся кривые описывают форму крыла гораздо точнее, чем кривые, оставшиеся после лофтированной поверхности (рис. 11.10).

Рис. 11.10.
Завершение второй фазы разработки дизайна крыла: поверхность, построенная инструментом Квадрат, перед удалением
Удалите поверхность, построенную Square tool.
Переключитесь на окно Front View (Вид Спереди).
Создайте две новые вертикальные кривые, берущие начало в нише колеса и направленные к верхней кривой (рис. 11.11). Используйте Curve snapping снова и лишь два щелчка мыши на каждую из кривых.

Рис. 11.11.
Две новые вертикальные кривые, созданные инструментами ЕР Curve Tool (Построение кривой по редактируемым точкам) и Curve Snapping (Прилипание к Кривой)
Переключитесь на окно Perspective View (Вид Перспективы). Передвиньте две центральные контрольные вершины новых кривых по оси Z, для того чтобы выровнять их с другими вертикальными кривыми (рис. 11.12).

Рис. 11.12.
Переместите центральные контрольные вершины в горизонтальном направлении (влево) для придания середине крыла округлой формы
Снимите выделение со всех кривых.
Вызовите инструмент Birail 3+ Tool. Для этого выберите Surfaces / Birail / Birail 3+ Tool (Поверхности / инструмент Birail / инструмент Birail 3+ Tool).
Как вы, вероятно, уже догадались по названию инструмента, он создает поверхность из двух (bi) кривых (Rail). Часть 3+ означает, что мы используем три и более профильных кривых между направляющими. В нашем случае направляющие - это две первые горизонтальные кривые, соединенные четырьмя вертикальными кривыми (профилями). Строка помощи в нижней левой части экрана подсказывает вам порядок действий. Вас попросят сначала выделить профильные кривые.
Выделите четыре вертикальные кривые и нажмите Enter.
Выделите две горизонтальные кривые и нажмите Enter.
Таким образом мы создали новую поверхность - последнюю в этом уроке (рис. 11.13). Она очень отличается от всех предыдущих поверхностей. Рядом с новыми вертикальными кривыми можно увидеть несколько дополнительных изопарм, которые немного портят внешний вид поверхности. Однако вскоре мы это исправим.

Рис. 11.13.
Поверхность, построенная с помощью Birail 3+ Tool, выглядит менее аккуратно, чем предыдущие поверхности, поскольку ей приходится дополнительно учитывать кривые в центре
Мы добавили средние профильные кривые, для того чтобы более детально проработать верхнюю часть ниши колеса. Использования имеющихся контрольных вершин вертикальных кривых на этом этапе явно недостаточно для детализации формы крыла. Если вы откроете Attribute Editor (Редактор Атрибутов) для кривых, вы увидите, что каждая из них состоит только из одного интервала (span), полученного двумя щелчками мыши, с двумя контрольными вершинами в середине. Нам нужно перестроить (команда Rebuild) кривые, для того чтобы
увеличить количество контрольных вершин. Для сохранения аккуратности геометрической формы крыла мы перестроим все четыре вертикальные кривые, используя одинаковые установки операции rebuild.
Выделите все вертикальные кривые.
Выберите Edit Curves / Rebuild Curve Option box (Редактирование Кривых / Перестроить Кривую Окно Настроек), для того чтобы открыть окно настроек. Установите Number of Spans (Количество Интервалов) на 4 (рис. 11.14). Выполните команду, нажав Rebuild (Перестроить).

Рис. 11.14.
Перестроив все профильные кривые, мы теперь можем добавить дополнительные детали на верхнюю часть ниши колеса и получить характерный жесткий излом
Когда все вертикальные кривые перестроены, увеличивается концентрация горизонтальных патчей на поверхности Birail (поверхность, построенная по двум направляющим). Заметьте, что поверхность перестраивать не нужно, она автоматически адаптируется к новым атрибутам кривых.
В режиме Component mode (Компонентный режим (клавиша F8) сделайте видимыми все контрольные вершины обеих средних вертикальных кривых (последних из созданных вами).
В обеих кривых выделите четвертую контрольную вершину, если считать снизу (см. рис. 11.15).
Передвиньте эти контрольные вершины немного вниз.
Волшебный момент: еле заметное перемещение контрольных вершин создает желаемый острый выступ ниши колеса.
Особенность этого выступа заключается в том, что он плавно сходит на нет к концам крыла, прямо как у настоящей машины. Эта плавность обязана взаимодействию между соседними вертикальными кривыми.
Увеличив-плотность геометрии, вы можете добавить детали в верхнюю часть всех вертикальных кривых (см. рис. 11.16). Старайтесь, если это возможно,
двигать соответствующие контрольные вершины вместе. Проверьте - может быть, в другом окне и в другом режиме отображения (Shading mode), - как влияют на расположение изопарм и патчей на поверхности различные манипуляции с кривыми.

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

Рис. 11.16.
Добавление изопараметрических кривых позволяет добиться более точной формы перестроенной поверхности
Если окажется, что для получения желаемого результата вам все-таки недостаточно контрольных вершин, перестройте кривые снова. Когда результат вас удовлетворит, перестройте всю поверхность. Так вы сможете более равномерно распределить изопармы на поверхности.
Откройте Attribute Editor (Редактор Атрибутов) для поверхности и запомните оба значения (по U и по V) для Number of Spans (Количество Интервалов).
Допустим, это будут значения 17 и 4: 17 - для вертикальных и 4 - для горизонтальных изопарм. Для сложной поверхности 4 - это слишком малое число, и уменьшать его не стоит. Однако 17 - это больше, чем нам требуется на данном этапе моделирования, и его можно уменьшить на половину.
Откройте окно настроек команды перестраивания поверхностей: выберите Edit NURBS / Rebuild Surfaces Option box (Редактирование NURBS / Перестроить Поверхности) (рис. 11.17).

Рис. 11.17.
Окно перестраивания поверхностей идентично окну перестраивания кривых. С установками по умолчанию команда создает более простую и равномерную поверхность
Смените значение Number of Spans (Количество Интервалов) в направлениях U и V. (В нашем случае смените значение U на 8 и оставьте V на 4.)
Завершите команду, нажав Rebuild (Перестроить).
Теперь поверхность перестроена с более простым и равномерным распределением изопараметрических кривых. Если какие-то детали из созданных ранее отсутствуют, отмените предыдущий шаг и перестройте поверхность снова, увеличив значения по U и по V.
Кривые теперь совершенно не нужны, и вы можете удалить их. Если вы хотите продолжить работу с кривыми для внесения каких-либо изменений или добавления деталей, выделите четыре изопармы по краям поверхности и используйте инструмент Square (Квадрат) или Birail 2 Tool для построения новой поверхности по этим четырем кривым. После этого можете удалить старую поверхность. Главная цель этого упражнения - это научиться использовать наименьшее количество возможно более простых кривых для построения выразительных поверхностей.
Прежде чем вы приступите к рендерингу, увеличьте значения Tesselation (Тесселяции) в окне Attribute Editor (Редактор Атрибутов) поверхности для получения действительно гладкой формы крыла. Поищите шейдер металла в библиотеке шейдеров либо создайте собственный многослойный шейдер с полупрозрачным слоем лака сверху.

Рис. 11.18.
Красиво смоделированное крыло автомобиля ждет дверь, корпус и решетку радиатора
А теперь кое-что новенькое. Приходилось ли вам использовать Поиск Меню? [Здесь идет речь о MEL-команде findMenuItem, позволяющей отыскать пункты меню с желаемым названием (если помните, как примерно называется пункт меню, но забыли, где его искать). - Примеч. ред. ]
Нос с бородавкой
Как смоделировать нос с двумя ноздрями, бородавкой и веснушками?
Тема:
Моделирование, рендеринг.
Используемые техники и инструменты:
Subdivision Surfaces (SDS-поверхности), Automatic Texture Mapping (Автоматическое Наложение Текстуры), 3D Paint Tool (Инструмент трехмерного Рисования).
Человеческий нос обладает одной особенностью, которая при трехмерном моделировании просто взывает к NURBS моделированию: это его округлость. Но есть и другая особенность, кошмарная для NURBS моделлера: две дырки! Специалиста по полигонам, в свою очередь, дырки совершенно не беспокоят. Его, однако, весьма озадачивает вопрос получения гладкой округлой поверхности.
Тем не менее проблема носа просто решается путем использования SDS-поверхностей (или сабдивов). MAYA предлагает огромное количество готовых SDS-примитивов в меню Create (Создать). Мы могли бы начать моделирование с классического полигонального куба. В удивительно короткое время мы бы получили нос, не только гладкий и круглый, но еще и имеющий две ноздри и даже бородавку!
В реальной жизни носы очень редко существуют сами по себе, обычно они являются составляющей частью всего лица. Поскольку технология моделирования на базе SDS-поверхностей практически не зависит от исходной топологии поверхности, описанную здесь процедуру можно применять в проектах, где вы, скажем, начинали с создания сферы для головы. В отличие от обычного процесса моделирования с использованием SDS-поверхностей, где - как в главе 10 с узловатым человечком - мы в большинстве случаев использовали инструмент Extrude (Экструдирование), мы выполним всю работу только с помощью серии локальных детализаций поверхности и четко выполненных перемещений. Никакого экструдирования. В завершение мы конвертируем нос в полигональную поверхность и нарисуем на нем веснушки.
Начните с SDS-куба. Выберите Create / Subdiv Primitives / Cube (Создать / SDS-примитив / Куб). Немного увеличьте его размер (см. рис. 12.1).
Щелкните правой кнопкой мыши по кубу и, используя контекстное меню, сделайте исходный полигональный объект видимым (см.
рис. 12.2).
Используя то же контекстное меню, сделайте видимыми вершины полигонов.

Рис. 12.1.
Жил-был обычный SDS-куб

Рис. 12.2.
Переключитесь с режима Standard mode (Стандартный режим) на Polygon mode (Полигональный режим)
Выделите 12 передних вершин и отмасштабируйте их внутрь (см. рис. 12.3).
Отмасштабируйте 6 верхних вершин внутрь, сдвиньте их назад. Перемасштабируйте их вновь (см. рис. 12.4).
Передвиньте нижние передние вершины (кончик носа) вперед (см. рис. 12.5).

Рис. 12.3.
Масштабирование вершин многоугольника придает кубу основу формы носа, а SDS-поверхность плавно следует изменениям

Рис. 12.4.
Дальнейшее масштабирование и перемещения формируют основание носа

Рис. 12.5.
Моделируем острый кончик носа
Выделите четыре задние грани и удалите их (рисунок 12.6).

Рис. 12.6. Удаление четырех тыльных граней полигона открывает нос сзади. Никакая NURBS-поверхность не смирилась бы с такой операцией, а целостность SDS-поверхности остается неповрежденной
За несколько хорошо рассчитанных шагов моделирования вы создали объект, который уже выглядит как нос. Поскольку вам ничего не пришлось экструдировать, вы все еще работаете на одном-единственном уровне SDS-поверхности - 0. Нумерацию уровней можно видеть в окне Channel Box (Окно Каналов) либо с помощью контекстного меню. Для этого нужно переключиться в режим Standard mode (Стандартный режим) и активизировать вершины. В окне моделирования вершины появятся в виде нулей - говоря о том, что вы все еще работаете на нулевом уровне. Если вы попробуете переместить нижние вершины носа вверх для формирования ноздрей, то обнаружите, что плотность геометрии недостаточна для этой операции. Все, что вы можете сделать на данном этапе, - это переместить вверх всю нижнюю поверхность. Существует простой способ увеличить плотность геометрии.
Если вы этого еще не сделали, переключитесь из полигонального режима (Polygon mode) в режим Standard mode (Стандартный режим).
Используя контекстное меню, сделайте Edges (ребра многоугольника) видимыми.
Выделите те ребра, которые обрисовывают дно носовой септы (перегородка между будущими ноздрями).
Используя контекстное меню, примените команду Refine (Детализировать) к выделенным ребрам (рис. 12.7).

Рис. 12.7.
Локальная детализация вокруг центрального нижнего ребра носа готовит поверхность к созданию двух ноздрей
Теперь у вас кроме уровня 0 есть еще два уровня: 1 и 2, которые позволят вам осуществлять более локальные изменения. В большинстве случаев персонажной анимации (и в этом уроке тоже) уровень 2 вполне достаточен для моделирования ноздрей. Вы можете переключаться с одного уровня на другой, либо меняя параметры команды Display Level (Показать Уровень) в окне Channel Box (Окно Каналов), либо используя команды контекстного меню Coarser (Грубый) и Fine (Подробный). Эти команды позволят вам шагать по иерархии уровней вниз и вверх.
Сделайте вершины в уровне 2 видимыми. Выберите два ряда из четырех или пяти вершин, каждый из которых расположен параллельно носовой септе (перегородке) (рис. 12.8).

Рис. 12.8.
Восемь вершин уровня 2 готовят нас к моделированию ноздрей
Выберите Modify / Transformation Tools / Proportional Modification Tool (Модифицировать / Инструменты Трансформации / Пропорциональная Модификация) и переместите выделенные вершины вверх внутрь носа (рис. 12.9).

Рис. 12.9.
Инструмент Proportional Modification Tool (Пропорциональная Модификация) перемещает восемь вершин пропорционально вверх и формирует в носу две красивые дырочки
Используя тот же инструмент, перемасштабируйте вершины так, чтобы они оказались немного выше соседних. Подмасштабируйте и сдвиньте их немного назад.
Применение инструмента Proportional Modification Tool (Пропорциональная Модификация) обусловлено тем, что обычный инструмент перемещения передвинул бы все выделенные вершины вверх на одинаковое расстояние. В этом случае нам пришлось бы сделать еще один шаг и передвинуть вершины так, чтобы средние оказались выше всех других.
Переключитесь на уровень 1 и, опять же используя инструмент Proportional Modification Tool (Пропорциональная Модификация), масштабированием раздвиньте в стороны две вершины для обозначения внешней стороны ноздрей (см.
рис. 12.10).
Вы создали ноздри всего лишь несколькими операциями. В зависимости от того, насколько точной детализации требует ваш проект, вы можете оставить нос в таком виде, либо дополнительно поработать с этими тремя уровнями. Скажем, вы можете попытаться воссоздать какой-нибудь весьма специфический нос - это может быть нос реального человека или с рисунка. Либо, если вы работаете над анатомически правильной анимацией, вы, может быть, захотите поместить камеру внутрь носа. В этом случае вам понадобится более детальная работа над ноздрями для изображения синусоидальных пазух. Наш нос будет закончен, когда мы добавим анатомически несовершенную, но милую маленькую бородавочку на самый его кончик.

Рис. 12.10.
Конструируем ноздри с внешней стороны в уровне 1
Выберите место на носу, где вы хотите разместить бородавку. Переключитесь, скажем, на уровень 1 и выберите любую вершину в этой области.
Детализируйте область в этом месте (команда Refine) (рис. 12.11).

Рис. 12.11.
Локальная детализация вокруг точки первого уровня. Именно здесь мы разместим нашу бородавку
Дважды щелкните мышкой по пиктограмме инструмента перемещения и поменяйте Move Settings (Установки Перемещения) с World (Глобальные) на Normal (Перемещение по нормали (к поверхности).
Если вы просто вытянете среднюю вершину детализированной области наружу, то увидите, что у вас получилась скорее обычная выпуклость, чем аккуратная бородавка (рис. 12.12). Отмените операцию трансформации.

Рис. 12.12.
Перемещение вперед, от поверхности. Плотность геометрии, хотя и детализированная до уровня 2, все еще недостаточна для моделирования маленькой бородавки
Выделите среднюю вершину детализированной области и еще раз произведите ее детализацию. На новом уровне выделите среднюю вершину и вытяните ее наружу. Возможно, вам понадобится еще одна детализация (рис. 12.13). Может быть, вы захотите немного вытащить наружу также и другие вершины вокруг только что вытянутой и немного сдвинуть их масштабированием друг к дружке для укрепления основания бородавки (см.
рис. 12.14). Это сделает вашу бородавку похожей на вишенку.

Рис. 12.13.
Детализация носа на уровне 4. Наконец, мы можем вытянуть очень маленькую область из большой поверхности

Рис. 12.14.
Вершины в основании бородавки сдвинуты масштабированием друг к дружке
Теперь, когда мы удовлетворены формой (см. рис. 12.15), давайте поработаем над цветом. Для того чтобы нарисовать веснушки, преобразуйте смоделированный нос в полигональный объект и приведите в порядок его UV-координаты. Этот шаг важен, поскольку предыдущие трансформации должны были исказить карту распределения UV-координат по поверхности. На этом этапе было бы неплохо сохранить SDS-сцену под другим именем: вдруг вы захотите к ней вернуться. Другой способ возвращения к красивому носу из сабдивов, над которым вы так усердно до настоящего времени работали, отсутствует [Здесь имеется в виду, что после конвертации SDS-поверхности в полигоны нельзя будет вер- гуться обратно к SDS-представлению с сохранением иерархии. Можно будет отконвертиро- вать полигональную поверхность в SDS, но при этом, естественно, уровни иерархии будут потеряны, то есть все точки станут точками нулевого уровня деталировки, и в этом смысле поверхность потеряет элегантность представлени. - примеч. ред. ].
Выделите нос. Выберите Modify / Convert / Subdiv to Polygon (Модифицировать / Преобразовать / Сабдив в Полигон), для того чтобы открыть Option box (Окно Настроек).
Увеличьте значение Subdivisions per Face (Число Разбиений на Грань) с 1 на 2, для того чтобы удвоить количество полигонов.
Завершите команду, нажав Convert (Конвертировать).
Выберите Edit Polygons / Texture / Automatic Mapping (Редактирование Многоугольников / Текстура / Автоматическое Наложение) для наведения порядка в карте распределения текстурных (UV) координат полигонального носа.

Рис. 12.15.
Законченный нос в окнах моделирования. Вверху справа результат рендеринга (визуализации) с двумя источниками света
Нажмите F5. Выберите Texturing / 3D Paint-Tool Option box (Текстурирова- ние/ Инструмент Трехмерного Рисования Окно Настроек), для того чтобы открыть окно инструмента трехмерного Рисования.
Нажмите Assign Texture (Назначить Текстуру) и примите предложенные настройки размера текстуры.
Выберите цвет (или кисть из модуля Paint Effects) для кожи. Используя широкую кисть, нанесите основной цвет кожи на нос. Поменяйте цвет и размер кисти для рисования веснушек. Добавьте немного красного бородавке (рис. 12.16).
Помимо каналов цвета вы можете изменить и другие атрибуты с помощью инструмента 3D Paint Tool (Трехмерного Рисования). Загляните в меню Attribute to Paint (атрибут для рисования). Рисуя с использованием этой техники (техники трехмерного рисования), вы создаете двумерную картинку, которая накладывается на нос в соответствии с ранее созданным распределением текстурных (UV) координат. Вы можете открыть и отредактировать ее в программе Photoshop или в Paint Effects в режиме 2D, который иначе называется режим Canvas mode (режим Холста). (Смотрите урок в главе 28 о текстурировании спасательного круга).

Рис. 12.16.
Разноцветные веснушки, нанесенные Инструментом Трехмерного Рисования
Использование инструмента 3D Paint Tool (Инструмент Трехмерного Рисования) (с или без использования кистей модуля Paint Effects) значительно отличается от рисования в окне модуля Paint Effects (клавиша 8 на клавиатуре). Здесь (в окне Paint Effects) нарисованные вами штрихи представляют собой не пиксели в двумерном текстурном файле, а кривые в трехмерном пространстве. Эти кривые визуализируются как штрихи, которые либо располагаются по поверхности носа, либо торчат из нее, как пучки волос, растущие из ноздрей. Для того чтобы добавить волосы, откройте в окне Visor секцию Hair.

А теперь кое-что новенькое. Приходилось ли вам задавать ключевой кадр для вращения, используя клавиши Ctrl+E?
Чемодан из NURBS-сферы
Использование NURBS-сферы для моделирования прямоугольного чемодана может показаться странным. Однако NURBS-сферы являются очень гибкими в использовании поверхностями.Создайте NURBS-сферу. Отмасштабируйте ее в пропорциях будущего чемодана.
Выделите угловые контрольные вершины и масштабированием раздвиньте их в стороны (рис 13.9).

Рис. 13.9.
Обычная NURBS-сфера. Она более округлая, чем SDS-чемодан, и очень нуждается в масштабировании угловых контрольных вершин наружу
Переключитесь в окно Top View (Вид Сверху) и отмасштабируйте контрольные вершины так, чтобы они лежали в одной плоскости близко друг к дружке для формирования краев чемодана (см. рис. 13.10).
Масштабированием раздвиньте контрольные вершины вокруг обоих полюсов сферы в стороны горизонтально для придания верхней и нижней поверхности чемодана плоской формы (см. рис. 13.11).

Рис. 13.10.
Масштабируем все угловые контрольные вершины вместе в окне Top View (Вид Сверху)

Рис. 13.11.
Масштабируем контрольные вершины верхнего и нижнего полюсов
Итак, чемодан из NURBS-сферы готов. На его моделирование мы затратили гораздо меньше времени, чем на остальные.
Чемодан из SDS-поверхностей
Этот процесс немного сложнее, чем предыдущий, но с самого начала он дает вам закругленные края.Создайте SDS-куб. Для этого выберите Create / Subdiv Primitives / Cube (Создать / SDS-примитивы / Куб).
Нажмите клавишу 3 для придания поверхности округлой формы.
Отмасштабируйте куб в пропорциях предыдущего чемодана.
Щелкните правой кнопкой мыши по чемодану и, используя контекстное меню, сделайте вершины видимыми (рис. 13.4).

Рис. 13.4.
SDS-куб на иерархическом уровне 0
Вы увидите нули вокруг чемодана, обозначающие вершины уровня 0. Это низший возможный уровень детализации и единственный, который у нас пока имеется.
В окне Вид Сбоку масштабированием раздвиньте 12 диагональных вершин наружу для придания углам и краям чемодана нужной формы (см. рис. 13.5).
На уровне 0 мы не можем сделать углы такими острыми, как хотелось бы, поэтому нам придется создать второй уровень.
Выделите угловые вершины, которые вы только что масштабировали, и, используя контекстное меню, детализируйте область вокруг них с помощью команды Refine (Детализировать) (см. рис. 13.6).

Рис. 13.5.
Масштабированием раздвигаем диагональные вершины наружу

Рис. 13.6.
Команда Refine (Детализировать) создает геометрию более высокой плотности на углах чемодана
Теперь вы видите единички, расположенные вокруг углов чемодана. Если вам захочется впоследствии поработать на уровне 0, вы всегда можете переключиться, используя команду Coarser (Крупный).
Масштабированием раздвиньте наружу угловые вершины уровня 1 (рис. 13.7).
В целом SDS-чемодан теперь готов (рис. 13.8). Если хотите, можете использовать одну из команд меню Crease (Складка) (которые мы обсудим позже, в главе 15 о моделировании кривой ножки стула). Она создает более или менее острые края, а также может быть использована для моделирования четырех маленьких ножек чемодана.

Рис. 13.7.
Диагональные вершины более подробного уровня тоже масштабируются

Рис. 13.8.
Этапы моделирования чемодана из SDS-куба
Четыре чемодана
...Но какой из них самый удобный и полезный?
Тема:
Моделирование.
Используемые техники и инструменты:
Smooth Polygon (Сглаживание), Subdivision Surfaces (SDS-поверхности), NURBS Primitive (NURBS-примитивы), Round Tool (Округление).
В принципе нет ничего сложного в моделировании чемодана. Однако это прекрасный пример того, как различные подходы к решению задачи дают различные результаты. Мы сконструируем четыре чемодана четырьмя разными способами. Последний будет самым красивым, но мы не сможем его деформировать.
Округленный чемодан
Последний метод основан на NURBS-кубе и во многом базируется на использовании инструмента Round Tool (Округление). Этот инструмент создает систему связанных, взаимозависимых поверхностей и создает по-настоящему красивый чемодан.Создайте NURBS-куб.
NURBS-куб фактически состоит из шести сгруппированных NURBS-плоскос- тей. Инструмент Round Tool (Округление), который мы будем использовать, работает с ребрами соприкасающихся поверхностей. В нашем случае это будут шесть плоскостей, образующих стороны NURBS-куба.
Перед тем как применить команду, отмасштабируйте чемодан в пропорциях первого полигонального чемодана. Для этого вам нужно выделить именно группу куба, а не каждую плоскость в отдельности. Вы можете найти и выделить эту группу в окне Outliner (Схема Сцены) либо выбрать одну из сторон куба и, используя клавишу Up Arrow (Стрелка Вверх), подняться вверх по иерархии объекта на одну ступень - ею и будет искомая группа.
Масштабируйте размеры куба для придания ему формы чемодана. Задайте, например, X=l,2; Y=3; Z=5.
Нажмите клавишу 4, чтобы увидеть куб в режиме Wireframe mode (режим . Каркас).
Откройте Option Window (Окно Настроек) инструмента Round Tool (Округление). Для этого нажмите F3, выберите Edit NURBS / Round Tool (Редактирование NURBS / Инструмент Округление) (рис. 13.12).
В окне Tool Settings (Настройки Инструмента) задайте радиусу небольшое значение, которое подходит для размера вашего куба (см. рис. 13.13). Если размеры вашего куба те же, что в пункте 2, то оптимальной длиной радиуса будет 0,2.
Закройте окно настроек и выполняйте инструкции, данные в строке помощи.
Выделите пару соприкасающихся поверхностей - щелкнув мышкой по ребру куба, вы фактически выделите два соприкасающихся ребра. Выделите такую пару. Вы можете поиграть с манипуляторами радиуса в окне моделирования для отрегулирования значения радиуса.

Рис. 13.12.
NURBS-куб готов к применению инструмента Round Tool (Округление). Небольшому чемодану требуется маленький радиус округления

Рис. 13.13.
Манипулятор предлагает радиус 0, 2 для первого ребра. Он может быть интерактивно изменен
Строка помощи просит вас выделить остальные пары ребер куба, одну за другой. Продолжайте это занятие, пока не получите маленькие манипуляторы радиуса около каждой из 12 пар ребер (см. рис. 13.14).

Рис. 13.14.
Двенадцать пар ребер выделены. После завершения операции Round Tool (Округление)...
Завершите операцию Round Tool (Округление), нажав Enter.
Инструмент Round Tool (Округление) делает куб округлым там, где он должен быть округлым, и оставляет плоскими те места, которые должны быть плоскими (рис. 13.15).

Рис. 13.15.
...появляются несколько новых полукруглых поверхностей. Окно Channel Box (Окно Каналов) показывает заданные радиусы
Это именно то, благодаря чему чемодан так хорошо выглядит. Крышки на углах чемодана особенно изящны - они являются самостоятельными поверхностями и поэтому могут быть текстурированы отдельно. Значения радиусов скругления можно изменить в окне Channel Box (Окно Каналов). Просто откройте секцию roundConstantRadiusl и введите другие значения для каждого ребра в отдельности или для всех вместе.
Все четыре подхода к моделированию формы чемодана имеют свои плюсы и минусы (рис. 13.16). Последний чемодан состоит из великолепно смоделированных отдельных поверхностей, но, поскольку фактически они являются триммингованными NURBS-поверхностями, мы не можем их адекватно деформировать. Чемодан из NURBS-сферы легок в построении, и его геометрия наименее сложная, но у него нет четких краев. Чемодан из SDS-поверхностей позволяет применить локальную детализацию для добавления деталей, но он требует выполнения специальных действий при текстурировании. Полигональный чемодан нужно несколько раз сглаживать, прежде чем он станет хоть немного круглее, зато его очень просто текстурировать как детально, так и в целом.

Рис. 13.16.
Слева направо: полигоны, сабдивы, NURBS-сфера и округленный чемодан
Всем нашим чемоданам не хватает двух вещей: ручек, для того чтобы их поднять, и способа, позволяющего открыть чемодан (см.
рис. 13.17). Если вы будете моделировать ручки чемодана, начните с половинки NURBS-тора либо с окружности, экструдированной вдоль пути. Открыть чемоданы довольно просто, поскольку у них всех есть либо изопараметрические кривые, либо ребра на линии открывания, по которым можно разделить поверхность на части. Для
того чтобы открыть округленный чемодан, вам нужно разбить поверхности, составляющие "верх" и "низ" чемодана, по двум разным группам.

Рис. 13.17.
Четыре чемодана демонстрируют четыре техники моделирования и четыре техники текстурирования. Второй по порядку чемодан (тот, который когда-то был NURBS- сферой) раскрашен инструментом 3D Paint Tool (Инструмент Трехмерного Рисования). Остальным назначены обычные процедурные текстуры
А теперь кое-что новенькое. Приходилось ли вам визуализировать свои работы с помощью инструмента RenderPal? [Имеется в виду утилита RenderPal - диспетчер bach render - рендера из командной строки. Эта утилита имеет довольно простой интерфейс и позволяет организовывать последовательный обсчет нескольких задач пакетного рендеринга (рендеринга из командной строки). - Примеч. ред.]
Полигональный чемодан
Самый очевидный способ начинается с полигонального куба.Создайте полигональный куб.
Задайте его Width (Ширина) на 1,2, Height (Высота) на 3 и Depth (Глубина) на 5.
Выделите куб и примените к нему сглаживание. Для этого нажмите F3, выберите Polygons / Smooth (Полигоны / Сгладить).
Эта операция разбивает куб на большее количество граней (рис. 13.1).

Рис. 13.1.
Создайте полигональный чемодан vi примените к нему несколько раз операцию Smooth (Сгладить). Это детализирует его форму
В окне Вид Сбоку выделите все вершины, которые указывают на углы куба. Раздвиньте их наружу масштабированием (рис. 13.2). Проверьте результат в окне Perspective View (Окно Перспективы).

Рис. 13.2.
После каждой операции Smooth (Сгладить) вершины на углах раздвигаются масштабированием... [Нужно использовать именно масштабирование, чтобы не потерять симметричность формы. - Примеч. ред. ]
Детализируйте форму куба еще раз, выбрав Polygons / Smooth (Полигоны / Сгладить), и снова масштабированием раздвиньте наружу диагональные вершины, для того чтобы получить красивые края чемодана (рис. 13.3).

Рис. 13.3.
...для того, чтобы заострить сглаженные края чемодана
После третьего повтора операции сглаживания и перемасштабирования вершин взгляните на боковые стороны чемодана. Отмасштабируйте их так, чтобы они стали плоскими.
На этом завершается моделирование полигонального чемодана.
Два глаза и рот
Как сшить вместе три круглые поверхности, для того чтобы получить лицо?
Тема:
Моделирование.
Используемые техники и инструменты:
Loft (Построение поверхности по сечениям), Stitch Tool. (Сшивание), Global Stitch (Сшивание всех Границ).
В этом уроке мы познакомимся с техникой, удобной для создания NURBS-структуры с более чем двумя отверстиями, - Сшивание. Зачем вам могут понадобиться так много отверстий в NURBS-поверхности? Ну, скажем, вы моделируете человеческую голову. NURBS-моделирование дает вам гладкую криволинейную поверхность, но отверстия в ней можно делать лишь вдоль изопармы. Это означает, что, если вы начнете с создания NURBS-сферы и раскроете два полюса, для того чтобы сконструировать рот и шею, больше вам ничего сделать не удастся - вы даже не сможете добавить ни единой ноздри. Конечно, вы могли бы преобразовать NURBS-голову в полигональную поверхность и продолжить добавлять детали. Полигоны допускают очень мелкую детализацию и не возражают против отверстий. Но тогда вы бы потеряли мягкие радиальные деформации, которые дает вам техника NURBS-моделирования. Даже самый современный способ, предполагающий использование SDS-поверхностей (который, как вы заметили, я очень часто применяю в этой книге), не даст вам точного соблюдения радиальной геометрии вокруг носа и глаз, как этого требует человеческая анатомия.
Сшивание (Stitch) заключается в том, что оно настолько сближает края нескольких NURBS-поверхностей друг с дружкой, что они уже ведут себя как единая поверхность (хотя таковой не являются). К такой структуре деформирование не применяется. Однако для моделирования рта и глаз многие деформации в основном затрагивают внутренние области каждой из поверхностей, а на границах происходят малые деформации, которые не нарушают целостности стича и прекрасно им отрабатываются. Крис Ландрет сшил несколько NURBS-поверхностей вместе для моделирования лица первого персонажа, созданного в MAYA - клоуна Бинго, который впоследствии стал очень популярным.
Создайте NURBS-окружность.
Сдублируйте ее и увеличьте копию в размере.
Придайте внутренней окружности форму, напоминающую рот (рис. 14.1).
Постройте лофтированную поверхность по двум кривым.
Повторите то же самое для обоих глаз.

Рис. 14.1.
Начните с двух окружностей. Внутренняя окружность будет ртом
Удалите все кривые, они вам больше не понадобятся (рис. 14.2).

Рис. 14.2.
Три NURBS-поверхности, все еще не связанные между собой, для рта и глаз
Мы сошьем все три поверхности вместе одной-единственной командой Global Stitch (Сшивание всех Границ). Для того чтобы прочувствовать работу инструмента, вы можете попробовать сшить их вручную, используя неавтоматический вариант инструмента, который находится в меню Edit NURBS / Stitch / Stitch Edges Tool (Редактирование NURBS / Сшивание / Сшивание Границ) (или щелкните мышкой по соответствующей пиктограмме в панели инструментов). Следуйте иллюстрациям для вашей модели.
Строка помощи MAYA попросит вас выделить две граничные изопармы поверхности: в нашем случае выберем для этого внешние изопармы двух поверхностей, созданных для глаз. Когда мы применим команду, MAYA попробует каким-нибудь образом соединить две окружности из изопараметрических кривых. Поскольку это в общем-то невозможно (как можно левую половину окружности левого глаза прикрепить к правой половине окружности правого глаза?), видимого результата вы не получите. Однако мы можем ограничить области, где две окружности фактически будут касаться, передвинув манипуляторы (это маленькие ромбики; рис. 14.3). Результат, вроде бы, неплохой. Но теперь нам нужна вторая пара манипуляторов, для того чтобы вторая окружность решила, с какой частью первой окружности она будет соприкасаться (рис. 14.4).

Рис. 14.3.
Для того чтобы сшить поверхности двух глаз, передвиньте ромбовидный манипулятор к центру лица

Рис. 14.4.
Появляется второй манипулятор (желтый). Передвиньте его, для того чтобы определить, какая часть правой поверхности будет соприкасаться с левой поверхностью
Если вы все делали с нами, отмените операцию сшивания и, перед тем как мы снова осуществим ее, откройте для этого инструмента окно настроек. Здесь мы видим, что один из краев имеет приоритет над другим. Задайте одинаковый Weighting (Вес) для обоих краев (см. рис. 14.5). Две пары ромбиков появятся, для того чтобы мы могли сшить обе поверхности по строго определенным точкам (см. рис. 14.6).

Рис. 14.5.
Окно Настроек инструмента Stitch Tool (Сшивание). Две одинаково важные поверхности и весить должны одинаково

Рис. 14.6.
Появились манипуляторы левой поверхности. Они определяют, какой части левой поверхности может касаться правая поверхность
После эксперимента по ручному сшиванию отмените все, что вы делали, и приготовьтесь к "великому сшиванию".
Выделите все три поверхности. Сшейте их вместе. Для этого нажмите F3, выберите Edit NURBS / Stitch / Global Stitch (Редактирование NURBS / Сшивание / Сшивание всех Границ).
Вы не увидите изменений, пока не поместите поверхности близко друг к дружке. Global Stitch (Сшивание всех Границ) по умолчанию не замечает поверхности, расположенные далеко друг от друга.
Откройте Attribute Editor (Редактор Атрибутов) для Global Stitch (Сшивание всех Границ). Для этого вам нужно открыть Attribute Editor (Редактор Атрибутов) любой из поверхностей и нажать на закладку globalStitch 1 вверху окна (см. рис. 14.7).
Поиграйте с параметрами. Два самых важных параметра для Global Stitch (Сшивание всех Границ) - это Stitch Partial Edges (Сшить Части Границ) и Мах Separation (Максимальное Удаление) (область, в пределах которой инструмент ищет два ближайших края поверхностей).
Поскольку Global Stitch (Сшивание всех Границ) теперь работает, вы можете поработать с каждой из трех поверхностей. Например, вы можете захотеть передвинуть ряд контрольных вершин вдоль одной из изопарм поверхности рта внутрь и наружу для получения формы губ (см. рис. 14.8). Заметьте, что, когда вы изменяете одну поверхность, все соседние с ней тоже стараются следовать новой форме и перестраиваются соответствующим образом.
Но даже если вы деформируете все три поверхности чем-нибудь вроде деформатора Sculpt Deformer (Создать Рельеф), сшивание не нарушается. Если вам захотелось временно взглянуть на поверхность в ее изначальном виде, деактивируйте Global Stitch (Сшивание всех Границ), выбрав Modify / Enable Nodes / Global Stitch (Модифицировать / Активировать Узлы / Сшивание всех Границ).

Рис. 14.7.
Команда Global Stitch (Сшивание всех Границ) автоматически скрепляет между собой несколько поверхностей. Однако инструмент нуждается в некоторых настройках в окне Attribute Editor (Редактор Атрибутов)

Рис. 14.8.
Все три поверхности сшиты вместе (слева). В среднем примере рот сдвинут, а глаза наследуют движение поверхности рта. Под влиянием деформатора Sculpt Deformer (Создать Рельеф) (справа) все три поверхности деформированы единообразно по направлению от центра лица
Теперь вы можете создать отверстия для ушей и носа, не теряя комфорта NURBS-моделирования. Это может положить начало моделированию целой головы с помощью инструмента Stitch (Сшивание).
А теперь кое-что новенькое. Приходилось ли вам пользоваться командой Duplicate With Transform?
Кривой стул
Как сконструировать ножку кривого стула? [Навеяно работами Анны Кубик.]
Тема:
Моделирование.
Используемые техники и инструменты:
SDS-поверхности, Split Polygon Tool (Разбиение Многоугольника), Creasing (Складка).
Стул состоит из пары кубов, масштабированных в длину для создания спинки и ножек, и куба, уплощенного для создания сиденья. Но такие прямые стулья бывают только в воображении заурядных архитекторов и промышленных дизайнеров. Дерево, из которого делается большинство стульев, - это живой материал. Таким же является и деревянный стул.

Рис. 15.1.
Происхождение кривой ножки стула. Справа - вид моделей, слева - отрендеренные фазы конструирования
У меня была возможность заглянуть через плечо польского аниматора Анны Кубик, когда она моделировала трехмерный стул для анимации, которая была ее диссертацией в немецкой школе кино. Около ее клавиатуры лежали эскизы кривого стула с высокой спинкой, выполненные в карандаше. По этим рисункам она сконструировала стул от начала до конца буквально за один-два часа. Анна использовала только три инструмента: Subdivision Surfaces (SDS-поверхности), Split Polygon Tool (Разбиение Многоугольника) и Creasing (Складка), который придает заостренную форму округлым краям. Если ваша версия MAYA не содержит инструмента построения сабдивов, применяйте команду Smooth Polygon (Сглаживание) к выделенным граням. При этом невыделенные части геометрии останутся нетронутыми.
Основная идея Анны заключалась в том, чтобы использовать обычную технику моделирования SDS-поверхностей немного по-другому. Обычно вы преобразуете полигональные поверхности в сабдивы, для того чтобы получить округлые и гладкие края. Она же использует SDS-поверхности, для того чтобы заострить округлые области.
В этом уроке мы смоделируем только одну ножку стула, но вы, может быть, захотите продолжить и создать целый стул, используя ту же процедуру. И не смейтесь над часами, которые Анна провела за моделированием стула. Визуализированное изображение стула в конце этой главы говорит само за себя.
Я был поражен реалистичностью результата ее работы. Теперь у меня не возникает вопроса, почему стул, сконструированный в считанные минуты обычным дублированием и масштабированием, в целом выглядит так холодно и скучно. Не говоря уже о том, что в контексте огромного, занимающего целый месяц анимационного проекта пара часов, проведенных за моделированием стула, который играет центральную роль в законченной работе, - это не так уж много времени.
Создайте полигональный куб.
Удлините его до размера ножки стула.
Преобразуйте его в SDS-поверхность. Для этого выберите Modify / Convert / Polygons to Subdiv (Модифицировать / Преобразовать / Полигоны в Сабдив).
Нажмите клавишу 3, для того чтобы видеть красивую округлую поверхность.
Используя контекстное меню, переключитесь на режим Polygon mode (режим Многоугольников).
Нажмите F3, выберите Edit Polygons / Split Polygon Tool (Редактирование Многоугольников / Разбиение Многоугольника) - инструмент для разбиения граней многоугольника.
Щелкните мышкой по верхней части одного из ребер куба для определения положения начальной точки разбиения (см. рис. 15.2).

Рис. 15.2.
Инструмент Split Polygon Tool (Разбиение Многоугольника) разбивает передний многоугольник ножки стула
Щелкните мышкой по соседнему ребру примерно на той же высоте. Перед тем как вы завершите команду, нажав Enter, вы, может быть, захотите переместить точку разбиения, используя среднюю кнопку мыши.
Повторите процедуру с другой парой ребер. Привяжите инструмент к предыдущей паре ребер.
Разбейте нижнюю часть ножки стула так же, как верхнюю.
Инструмент Split Polygon Tool (Разбиение Многоугольника) ожидает, что вы будете щелкать мышкой по ребрам поверхности. Держите кнопку мышки нажатой после первого щелчка - и вы сможете передвигать зеленую точку вниз и вверх вдоль ребра. Эта точка останавливается (привязывается), когда достигает уже существующей линии разбиения. Вы всегда можете отпустить кнопку и заново отредактировать позицию точки, используя среднюю кнопку мыши.
После разбиения SDS-поверхность старается измениться в соответствии с только что созданными гранями многоугольника.
Переключитесь на режим Standard mode (Стандартный режим) (см. рис. 15.3).

Рис. 15.3.
Снова переключитесь с режима Polygon mode (режим Многоугольников) на Standard
mode (Стандартный режим)
Сделайте ребра видимыми.
Выделите восемь верхних ребер ножки (рис. 15.4).

Рис. 15.4.
Выделяем восемь верхних ребер для применения инструмента Crease (Складка)
Примените к выделенным ребрам команду Subdiv Surfaces / Full Crease Edge / Vertex (SDS-поверхности / Полная Складка Ребра / Вершины) (рис. 15.5).

Рис. 15.5.
Команда Full Crease (Полная Складка) придает ребрам многоугольника заостренную
форму
Выделите восемь ребер нижней части ножки стула.
Вместо применения команды Full Creasing (Полная Складка), на этот раз выполните команду Subdiv Surfaces / Partial Crease Edge / Vertex (SDS-поверхности / Частичная Складка Ребра / Вершины) (рис. 15.6).

Рис. 15.6.
К нижним ребрам применена более мягкая форма складки
При создании складок увеличивается разрешение поверхности вокруг ребер полигональной фигуры. Вы начали работу с нулевого уровня детализации. Теперь у вас есть также уровни 1 и 2, доступные для добавления деталей.
Используйте контекстное меню и команду Finer (Подробный), для того чтобы переключиться на следующий уровень иерархии (рис. 15.7).

Рис. 15.7.
Переключаемся на более подробное представление в режиме Standard mode (Стандартный режим)
На этом уровне выделите нижние ребра ножки стула и примените к ним одну из двух команд Crease (Складка).
Сделайте вершины видимыми.
Раздвиньте в стороны нижние вершины (см. рис. 15.8). С помощью команды Finer (Подробный) переключитесь еще на один уровень выше.
Перемещайте, масштабируйте и вращайте вершины на этом уровне (см. рис. 15.9).
Ножка стула готова. После этого Анна создала второй полигональный куб для следующей ножки и уделила ей столько же внимания. Она также использовала еще несколько трюков SDS-дизайна, но это ее личные MAYA секреты.

Рис. 15.8.
Нижние вершины уровня 1 раздвинуты в стороны

Рис. 15.9.
Уровень 2 предлагает более мелкие манипуляции и деформации ножки стула
Теперь все зависит от вас: последуете ли вы примеру Анны либо продолжите дублирование и масштабирование существующих объектов. В любом случае в итоге у вас будет сконструирован стул, который значительно отличается от идеально прямых стульев, которые предлагают архитектурные программы CAD.

Рис. 15.10.
Процесс работы: несколько видов стула Анны Кубик для ее анимации "Sally Burton"
А теперь кое-что новенькое. Приходилось ли вам щелкать мышкой на кнопку A\W в окне Hotbox (окно оперативного доступа к элементам интерфейса) и смотреть на Север?
Крэш-тест
Как создать симуляцию крэш-теста, в которой автомобиль с водителем внутри разбивается о каменную стену?
Тема:
Динамика.
Используемые техники и инструменты:
Active Rigid Body (Активное Твердое Тедо), Passive Rigid Body (Пассивное Твердое Тело), Gravity (Гравитация).
Настоящие крэш-тесты очень дороги, поскольку в них разбиваются настоящие машины. Моделирование аварий также весьма дорого, но уже по другой причине. В отличие от реальных тестов компьютерную модель можно повторять бесконечное количество раз однако, они требуют очень мощных компьютерных ресурсов. Эти ресурсы необходимы, поскольку тесты имеют дело с еле заметными, крошечными изменениями материалов. Они не только тестируют типы материалов, из которых сделана машина, но также и качество их плавки и соединения. Эластичность - это определяющий фактор для таких тестов. Однако важна и специфичная точка , в которой каждая часть машины теряет эту эластичность и ломается. Когда она ломается, как она ломается? Что случается со сломанными частями, как они воздействуют на окружающие предметы? Начинают ли они цепную реакцию?
Мы не можем ответить на эти вопросы с помощью MAYA. Мы можем скопировать динамические отношения, но область строения материалов нам не доступна. Мы смоделируем крэш-тест только на простейшем уровне. Тем не менее он будет достаточно впечатляющим, чтобы вызвать у вас сочувствие к водителю.
Создайте сцену: улицу, стену, машину, водителя.
Расположите стену вертикально, улицу горизонтально, поместите машину немного выше улицы и посадите водителя в машину (рис. 16.1).

Рис. 16.1.
Минимум затрат на моделирование: стена, улица, машина, пассажир
Для крэш-теста вам не обязательно моделировать что-то очень красивое. Для создания машины достаточно будет использовать полигональный куб, разделенный на три секции вверху. Смаштабируйте машину так, чтобы ее длина составила примерно три клетки сетки. Теперь нам потребуется что-то вроде сиденья, куда можно поместить водителя. Для этого экструдируйте среднюю грань вниз для создания внутренней области машины.
При моделировании водителя используйте NURBS-цилиндр, немного масштабировав его в соответствующих местах (рис. 16.2).

Рис. 16.2.
Твердые тела не должны соприкасаться друг с другом в начале компьютерной модели. Поэтому водителя следует поместить немного над дном внутренней области машины, а машину немного выше улицы. На рисунке вы видите изображение в каркасном виде в окне Side View
Выделите стену и улицу и преобразуйте их в пассивные твердые тела. Для этого нужно нажать F4 и выполнить команду меню Soft/Rigid Bodies / Create Passive Rigid Body (Мягкие/Твердые Тела / Создать Пассивное Твердое Тело). Пассивное в данном контексте означает, что эти объекты будут вести себя так, будто у них твердая оболочка, которой они могут воздействовать на другие объекты, но сами не будут реагировать на воздействия других объектов. Это отражает реальность - стены и улицы совершенно не беспокоят сумасшедшие автомобили.
Выделите водителя и машину и назначьте им обоим одно и то же поле гравитации. Выберите Fields / Gravity (Поля / Гравитация).
При воспроизведении анимации машина занимает свое место на улице, а водитель прямо сидит внутри машины. Это все, что гравитация дает нам на данном этапе, однако это всего лишь начало симуляции.
Убедитесь, что MAYA просчитывает каждый кадр симуляции, вместо того чтобы воспроизводить анимацию в реальном времени, пропуская некоторые кадры. Проверьте опцию Play every Frame (Воспроизводить каждый Кадр) в окне Timeline Preferences (Настройки временной шкалы).
Для того чтобы сделать симуляцию более захватывающей, мы добавим водителю и машине начальную скорость. В реальности это была бы скорость, с которой машина и водитель двигались бы в направлении стены. Она должна быть одинаковой для машины и водителя. Это значение вы можете ввести для обоих объектов сразу в окне Channel Box (Окно Каналов).
Выделите водителя и автомобиль.
В зависимости от направления движения автомобиля задайте для параметров Initial Velocity X или Z (Начальная Скорость по оси X или Z) в окне Channel Box (Окно Каналов) положительное или отрицательное значение 10.
Скажем, длина вашей машины три ячейки сетки. Мы будем считать, что ее длина в реальной жизни 3 метра. Ее Initial Velocity (Начальная Скорость), равная 10, будет соответствовать скорости 10 м/с, или 36 км/ч (около 22 миль/ч). При повторном воспроизведении компьютерной модели оба объекта потеряют немного скорости из-за трения с землей, но в целом они несутся со скоростью 10 единиц в секунду к стене и отскакивают от нее (см. рис. 16.3). Для того чтобы увидеть эту аварию на низкой скорости в реальном времени, вам придется использовать Playblast (Проигрыватель).
Выделите машину и водителя. Увеличьте значение их Initial Velocity (Начальная Скорость) до скорости скоростного шоссе (30 ячеек сетки в секунду). На этой скорости авария выглядит гораздо драматичнее. Для того чтобы добавить реалистичности в нашу симуляцию, давайте отредактируем значение параметра Mass (Масса) ее участников. Как и скорость, масса является атрибутом для Rigid Body (Твердое Тело).
Увеличьте значение параметра Mass (Масса) для машины с 1 до 15 (см. рис. 16.4).

Рис. 16.3.
Крэш-тест на скорости 36 км/ч (22 мили/ч). Здесь показаны несколько кадров сразу после столкновения автомобиля со стеной. Его отбрасывает в сторону. Через полсекунды после аварии водитель, переворачиваясь в воздухе, падает вниз

Рис. 16.4.
Самые важные параметры теста: Initial Velocity (Начальная Скорость) и Mass (Масса)
Это округленно соответствует отношению веса реальной машины к весу среднестатистического водителя. Теперь, посмотрев крэш-тест (рис. 16.5 и 16.6), вы без труда сможете представить, что бы произошло с водителем, если бы все это
случилось в реальности. Если вы собираетесь продолжить работать с подобного рода симуляциями, то вам следует поближе познакомиться с Динамикой Мягких Тел (Soft Body Dynamics), Пружинами (Springs) и, наконец, точной настройкой весов целевых объектов (Soft Body Goal) для разных частей "мягкого" тела.

Рис. 16.5.
Крэш-тест стал более захватывающим со значением скорости 66 миль/ч и использованием более реалистичных значений параметра Mass (Масса).Водитель вылетает из машины по широкой дуге и переворачивается в воздухе несколько раз за доли секунды

Рис. 16.6.
Десятая доля секунды после аварии (изображение отрендерено с помощью Motion Blur (Размытость при Движении)
А теперь кое-что новенькое. Никогда не пробовали в многослойном шейдере накладывать абсолютно прозрачный шершавый Phong на ярко-красный Blinn?
Извержение вулкана
Как создать кратер вулкана, выбрасывающий огонь в темную ночь?
Тема:
Динамика, Рендеринг.
Используемые техники и инструменты:
Particles (Частицы), Emit from Surface (Испускать с Поверхности), Turbulence (Турбулентность), Gravity (Гравитация), Fire (Огонь).
Взрывы, извержения и пламя - эти эффекты часто встречаются в кинофильмах. Они обычно отдельно создаются пиротехниками, а потом совмещаются с реальным местом действия. Мы можем моделировать многие из этих спецэффектов в MAYA - от фейерверков до ураганов, - используя частицы, которые подчиняются динамическим законам, и, для того чтобы выглядеть реалистично, от аниматора требуется большой опыт как для задания их физического поведения, так и для текстурирования.
В этом уроке мы затронем основы анимации частиц: создание источника, анимация интенсивности эмиссии, влияние на поведение частиц турбулентности и гравитации. Текстурирование частиц - это отдельное искусство, которое выходит далеко за рамки этого урока. Однако, применяя встроенный в MAYA эффект Fire (Огонь), мы можем получить отличные результаты.
Создайте конус вулкана, либо переместив вниз верхушку NURBS - конуса, либо применив команду Revolve (Вращать) к соответствующей профильной кривой (рис. 17.1).

Рис. 17.1.
Способ моделирования конуса вулкана командой Revolve (Вращать), примененной к профильной кривой
Наложите на вулкан ramp-текстуру, которая начинается с зеленого цвета (окружающий ландшафт), затем становится коричневой (внешняя часть вулкана), а затем и красной (кратер внутри вулкана), как показано на рис. 17.2.

Рис. 17.2.
Ramp-текстура придает цвет вулкану
Нажмите F3, выберите Surfaces / Planar (Поверхности / Планарные) для построения планарной поверхности по одной из изопараметрических кривых внутри кратера.
Эта небольшая поверхность внутри кратера и будет источником частиц. Ее построение невозможно, если изопарма, по которой строится эта поверхность, сама не будет планарна. Благодаря истории построения, планарная поверхность перестроится, если вы измените форму вулкана.
Вам не обязательно видеть построенную планарную поверхность), поэтому можете сделать ее невидимой (клавиши Ctrl+H).
Переключитесь в раздел динамики (клавиша F4).
Выделив планарную поверхность, выберите Particles / Emit from Object (Частицы / Испускать с Поверхности Объекта) (см. рис. 17.3).
Так поверхность превратится в источник частиц, в чем вы сможете убедиться, запустив симуляцию. Частицы выглядят серыми и испускаются источником во всех направлениях. Мы бы хотели, чтобы они вылетали только вверх.

Рис. 17.3.
Планерная поверхность становится источником частиц
В окне Channel Box (Окно Каналов) найдите Emitter Type (Тип Источника) в секции emitterl (рис. 17.4). Поменяйте его значение с Omni (Равнонаправленный) на Surface (С поверхности).

Рис. 17.4.
Частицы не должны покидать источник, разлетаясь во всех направлениях. Мы хотим чтобы они двигались вверх по нормали к поверхности
При воспроизведении анимации вы увидите, что частицы движутся вверх по нормали к поверхности. Если ваши частицы падают вниз, измените направление нормалей поверхности. Нажмите F3, выберите Edit NURBS / Reverse Surface Direction (Редактирование NURBS / Изменить Ориентацию Поверхности). Этот шаг необходим, если, к примеру, у вас есть большая сфера, которая должна испускать частицы внутрь. Нормали поверхности стандартной сферы направлены наружу.
Прямо сейчас равные области поверхности испускают примерно равное количество частиц.Чтобы перемешать их, необходимо подействовать на них каким-то полем, поэтому подвергнем их действию турбулентности.
Воспроизведите несколько кадров анимации до тех пор, пока не появятся частицы. Выделите их. Создайте для них турбулентное поле. Выберите Fields / Turbulence (Поля / Турбулентность).
Поле все еще выделено. Переместите его центр вверх, над вершиной вулкана (рис. 17.5). Поток частиц должен ощутить турбулентность через несколько кадров после своего появления и развития.

Рис. 17.5.
Турбулентное поле начинает перемешивать частицы в момент их появления из кратера
В окне Channel Box ( Окно Каналов) настройте силу поля. Попробуйте значение параметра Magnitude (Величина) 1 или даже меньше. Поле должно лишь слегка перемешивать частицы, не влияя на основное направление их движения.
Теперь частицы движутся беспорядочно, однако они летят прямо вверх. Поэтому далее добавим им немного тяготения. С самого начала поле гравитации будет тянуть их вниз с такой силой, что у них не останется ни малейшего шанса двигаться вверх. Теперь у нас есть две противоборствующие силы, как и в ракетной пусковой установке: сила гравитации против скорости эмиссии.
Этот шаг также подчеркивает разницу между источником и собственно частицами: задача источника - выстрелить частицы с определенной скоростью, определенной плотностью и в определенном направлении. Ему все равно, что случится с частицами после этого. Источник беспокоится только о том, чтобы отправить частицы в путешествие по миру сил.
Выделите частицы и добавьте им гравитацию. Для этого выберите Fields / Gravity (Поля / Гравитация).
Выделите источник (лучше это сделать в окне Outliner (Схема Сцены); его родительским объектом является планарная поверхность) и увеличьте значение для Emission Speed (Скорость Эмиссии).
Создайте анимационный тест инструментом Playblast (Проигрыватель). Выберите Window / Playblast (Окно / Проигрыватель). Если у вас нет супермощного компьютера, вам придется воспользоваться инструментом Playblast, чтобы оценить качество симуляции в реальном времени.
Уменьшайте силу поля гравитации и увеличивайте скорость эмиссии до тех пор, пока частицы не взлетят на приличную высоту над вулканом, перед тем как гравитация захватит их и потянет вниз. Попробуйте значения для Emission Speed (Скорость Эмиссии) - 20 (секция emitter 1-), а для Magnitude (Величина) - 5 (секция gravity 1-) (рис. 17.6).

Рис. 17.6.
Благодаря гравитации частицы не уносятся в бесконечность, а через некоторое время возвращаются на землю
Теперь перемешанный турбулентностью поток частиц вылетает вверх из вулкана и продолжает это движение, пока гравитация не потянет его прямо вниз.
Было бы еще неплохо расширить поток частиц, чтобы они падали не прямо вниз, в жерло вулкана, но также и на землю, по обе его стороны, - как фонтан. Параметр, ответственный за такое падение, называется Tangent Speed (Скорость по Касательной), который является атрибутом источника, а не частиц.
Выделите источник. Измените Tangent Speed (Скорость по Касательной) с О на какое-нибудь небольшое значение, к примеру 0,1 (рис. 17.7).

Рис. 17.7.
При немного увеличенной Tangent Speed (Скорость по Касательной) источник делает поток частиц шире
Когда ширина потока увеличена, огромное количество частиц падает на стороны вулкана и сквозь него. Если вы хотите, чтобы при столкновении с землей они исчезали, будто бы угасая, то вы должны связать их с поверхностью, используя команду меню Particles / Make Collide (Частицы / Задействовать Столкновение). Есть один изящный и естественный способ - не позволять слишком большому количеству частиц достигать поверхности и проваливаться сквозь нее. Сейчас наши частицы живут вечно. Но мы можем уменьшить время их жизни.
Откройте Attribute Editor (Редактор Атрибутов) для particle 1. В секции Lifespan Attributes (Атрибуты Периода Существования) измените режим Lifespan Mode (Режим Периода Существования) с Live Forever (Вечно) на Random Range (Случайный Диапазон). Это активизирует поле входных данных (см. рис. 17.8).

Рис. 17.8.
Частицы исчезнут через четыре секунды, плюс -минус полсекунды
Введите значение 4 для атрибута Lifespan и установите Lifespan Random (Границы случайного отклонения от среднего значения времени жизни) (стандартное отклонение от заданного значения Lifespan) на 0,5.
Теперь период существования каждой частицы перед исчезновением будет составлять случайно выбранное число от 3,5 до 4,5 с.
В природе извержения редко бывают равномерными. Они начинаются с нуля, когда ничего не происходит, затем в течение нескольких мгновений происходит высокий выброс большого количества частиц, а потом достигается равновесие потока на несколько меньшей высоте.
Ключевым параметром ( и атрибутом источника) для достижения этого эффекта является Rate (Интенсивность) испускания.
Выделите источник. На временной шкале идите в кадр (не слишком близко к началу анимации), где извержение достигает равновесия. Щелкните правой кнопкой мыши на параметр Rate (Интенсивность) и установите здесь ключевой кадр. Для этого выполните команду Key Selected (Сделать ключевыми выделенные атрибуты).
Вернитесь в тот момент, когда извержение только начинается. Увеличьте значение параметра Rate (Интенсивность) для источника вдвое и установите еще один ключевой кадр.
Вернитесь на 10 кадров назад (треть секунды). Уменьшите значение Rate (Интенсивность) до 0 и установите третий ключ (см. рис. 17.9).
Теперь вулкан ведет себя очень тихо, прежде чем начать внезапное извержение. Затем он немного замедляет извержение до уровня средней интенсивности. Используя Graph Editor (Редактор Анимационных Кривых), отрегулируйте этот процесс.

Рис. 17.9.
Анимация интенсивности извержения вулкана. В Graph Editor (Редактор Анимационных Кривых) вы можете внести необходимые для отладки анимации изменения
Если хотите, можете добавить и другие силы, влияющие на движение частиц, например ветер (Air (Ветер), либо увеличить турбулентность, или Drag (Трение), которое замедлит движение частиц, независимо от направления их движения. Но даже без всего этого анимация частиц в целом удовлетворяет нашим требованиям, и мы можем начать работу над внешним видом частиц.
Визуализировав сцену обычным способом, вы вообще не увидите частиц. Их можно увидеть лишь в результате специальной процедуры рендеринга через Hardware Render Buffer (Буфер Аппаратного Рендеринга) (меню Window / Rendering Editors (Окно / Редакторы рендеринга). Скорее всего, это будут точки, штрихи или сферы. После такого рендеринга вы сможете вставить их в сцену с вулканом, только используя композиционную программу, типа MAYA Fusion, Edit или After Effects. Нам же нужно желто-красное пламя с небольшой прозрачностью, поэтому мы должны воспользоваться процессом обычного программного рендеринга.
Откройте Attribute Editor (Редактор Атрибутов) для частиц (см. рис. 17.10). В секции Render Attributes ( Атрибуты Рендеринга) измените Particle Render Type (Тип Визуализации Частиц) на Cloud (s/w), где s/w обозначает программный рендеринг. Cloud придает нашим частицам размытый, полупрозрачный вид. В результате рендеринга вы получите голубые облака. Голубой цвет обусловлен установленным по умолчанию шейдером для частиц, который вы найдете в Hypershader. Он называется particleCloudl. Если вы измените цвет particleCloudl с голубого на красный, то вулкан будет извергаться полупрозрачными красными облаками (см. рис. 17.11).

Рис. 17.10.
Лишь два нижних типа частиц в выпадающем меню Particle Render Type (Тип Визуализации Частиц) могут быть визуализированы обычным способом. Остальные требуют применения Hardware Render Buffer (Буфер Аппаратного Рендеринга). Тип Cloud (Облако) - это подходящий для вулкана тип визуализации частиц при рендеринге

Рис. 17.11.
ParticleCloud определяет вид облака частиц. Средняя секция визуализированного изображения слева показывает измененную с голубого на красный текстуру particleCloud
Однако это очень отдаленно напоминает огонь. Если вы поиграете с цветом, например примените к частицам ramp-текстуру, то увидите, что,'несмотря на то что реалистичную анимацию частиц очень просто создать, весьма сложно придать ей красивый вид. Могут понадобиться часы работы над particleCloud 1 в Hypershade, чтобы добиться не только внешнего вида пламени, но и его реалистичного поведения при анимации. В этом уроке мы упростим себе задачу и используем встроенный в MAYA эффект Fire (Огонь). Сначала мы создадим огонь и назначим его вид частицам вулкана. Эта процедура не только сэкономит время, но и позволит вам изучить шейдер огня, так что в дальнейшем вы сможете модифицировать его исходя из собственных нужд.
Выделите пленарную поверхность, которая служит источником частиц.
Зажгите ее. Нажмите F4, выберите Effects / Create Fire (Эффекты / Создать Огонь) (рис. 17.12).

Рис. 17.12.
Команда Create Fire ( Создать Огонь) добавляет огненные частицы к уже имеющимся частицам вулкана
При воспроизведении анимации вы увидите маленький огонь внутри вулкана,
прежде чем начнется запрограммированное вами извержение. В окне modeling view (окно Моделирования) он зеленого цвета, в окне рендеринга огонь принимает вид настоящего пламени (рис. 17.13). В Hypershader рядом с particleCloud 1 вы увидите шейдер для огня partideCloud 2.

Рис. 17.13. Перед извержением вулкана огонь уже горит в кратере. Слева - вид Perspecrive View (Вид Перспективы), справа - окно рендеринга
Выделите частицы вулкана.
Откройте Hypershader. Найдите particleCloud 2, шейдер огня. Щелкните правой кнопкой мыши и выберите команду Assign Material to Selection (Назначить Материал Выделенным Объектам) для применения его к частицам (рис. 17.14).

Рис. 17.14.
Мы назначаем цвет пламени первоначальным частицам
В виде Modeling View (Окно Моделирования) частицы становятся зелеными, как и частицы огня, и повторяют вашу анимацию, а не исходные параметры анимации огня. Вы все еще можете видеть небольшой огонь в кратере. Оставьте его там либо удалите секцию particleCloud 2. Изящным штрихом может быть небольшой огонь в кратере после угасания мощного извержения. Кратер в этом случае будет продолжать тлеть до конца анимации.
В результате рендеринга вы получите слишком тоненькое пламя для мощного извержения. Это признак того, что плотность выбрасываемых частиц очень низкая. Чтобы это исправить в окне Channel Box (Окно Каналов) или в Graph Editor (Редактор Анимационных Кривых), увеличьте значение Emission Rate (Интенсивность эмиссии) для emitter 1. He бойтесь ввести большое значение, к примеру 1000!
В зависимости от размеров кратера, который вы создали, огонь может быть либо чересчур маленьким, либо слишком большим. Чтобы получить требуемый размер, выделите частицы и масштабируйте их на свой вкус.

Рис. 17.15.
Четыре визуализированные фазы извержения
Если же вы работаете именно над видом огня, изучите его структуру в Hypershader.По умолчании огонь MAYA включает три рамп-текстуры, соответственно для цвета, прозрачности и свечения . Кроме того, 3D-Crater текстура служит в качестве Blob Map (Карта Капель). Наконец, есть несколько выражений для работы с некоторыми другими вещами, например определяющие параметры эффекта Glow (Свечение). Если вас заинтересовала динамика огня, добавьте дополнительные поля и поиграйте с ними, с атрибутами частиц и источника.
А теперь кое-что новенькое. Можете ли вы построить ухо по трем кривым?
Пусть они улягутся
Как разместить несколько объектов на волнистой поверхности, чтобы они "прилипли" к ней?
Тема:
Динамика.
Используемые техники и инструменты:
Sculpt Surface Tool (Создание рельефа на NURBS-поверхности), Rigid Body Dynamics (Динамика Твердого Тела), Gravity (Гравитация).
Очень мало поверхностей имеет по-настоящему плоскую форму. Даже полы в новом здании имеют неровности, особенно заметные по краям ковра. Размещение на их неровной поверхности каких-нибудь объектов в трехмерной графике всегда вызывает затруднения. Много времени уходит на операции перемещения и вращения объектов, пока они действительно красиво лягут на землю, а не зависнут над ней и не погрузятся внутрь. При использовании динамики твердого тела эта проблема решается мгновенно. И не потребуется ни единого перемещения!
Мы преобразуем объекты, которые хотим разместить на поверхности в твердые тела, и позволим им упасть под действием гравитации. Они лягут очень натурально, именно так, как нам это нужно.
Создайте плоскость с достаточно плотной геометрией для осуществления на ней мелких деформаций (рис. 18.1).

Рис. 18.1.
Поверхность плотностью 20x20 патчей...
Откройте окно настроек, выбрав Edit NURBS / Sculpt Surface Tool (Редактирование NURBS / Создание рельефа на NURBS-поверхности). Если ваша поверхность представляет собой полигональную плоскость, выберите Edit Polygons / Sculpt Polygons Tool (Редактирование Многоугольников / Создание рельефа на полигональной поверхности).
Используя кисть модуля Artisan, деформируйте поверхность так, чтобы она стала волнистой (рис. 18.2).

Рис. 18.2. ...деформируем с помощью кисти модуля Artisan
Создайте несколько NURBS-примитивов либо импортируйте объекты предыдущих проектов. Если вы попробуете разместить эти объекты на поверхности, то увидите, насколько сложно найти точку, в которой они не утопают в поверхности и не зависают над ней (рис. 18.3). Даже когда вы найдете эту точку, объект не лежит в ней естественно, он выглядит очень неуклюже, так, будто вот-вот соскользнет с поверхности.
Для того чтобы исправить этот дефект, вам бы пришлось иметь дело с опорными точками и крошечными поворотами, которые занимают много времени.

Рис. 18.3.
Куб размещен вручную. Сложно найти точку, в которой он естественно лежал бы на поверхности. В данном случае он проникает в поверхность по крайней мере в двух точках
Переместите объекты так, чтобы они лежали немного над поверхностью (рис. 18.4).

Рис. 18.4.
Стартовая позиция симуляции. Четыре объекта расположены над поверхностью и сейчас упадут на нее
Преобразуйте плоскость в пассивное твердое тело. Нажмите F4, выберите Soft/Rigid Bodies / Create Passive Rigid Body (Мягкие/Твердые Тела / Создать Пассивное Твердое Тело) (рис. 18.5).

Рис. 18.5.
Земля заявлена как пассивное твердое тело и теперь может участвовать в симуляции
Как вы, наверное, помните из предыдущей главы о крэш-тесте, преобразование поверхности в пассивную означает, что она будет твердой для падающих объектов и не изменится при соприкосновении с ними.
Выделите все объекты над землей и назначьте им гравитацию. Для этого выберите Fields / Gravity (Поля / Гравитация) (рис. 18.6).

Рис. 18.6.
Сила гравитации влияет на объекты. Они становятся активными твердыми телами и готовы к падению
Добавив гравитацию, мы убиваем сразу двух зайцев: она преобразует каждый объект в активное твердое тело и связывает их с полем тяготения, которое потянет их вниз со скоростью 9,8 м/с .
Воспроизведите анимацию (рис. 18.7).

Рис. 18.7.
Три фазы падения четырех объектов на волнистую поверхность в соответствии с законами сэра Исаака Ньютона. Чем округлее объекты, тем дольше они катятся по поверхности до полной остановки
Для того чтобы MAYA точно воспроизвела симуляцию кадр за кадром, откройте Preferences (Установки) и измените Playback Speed (Скорость Воспроизведения) с Normal (Нормальная) на Play every Frame (Воспроизводить каждый кадр). Если какие-то из ваших объектов все еще проникают в поверхность, увеличьте разрешение плоскости (рис. 18.8).
Значение для Tesselation Factor ( Множитель Тесселяции) вы можете найти в Attribute Editor (Редакторе Атрибутов) для Rigid Body (Твердое Тело) (но не для поверхности) в секции Performance Attributes (Атрибуты выполнения).

Рис. 18.8.
Упавшие объекты не будут проникать в поверхность, если вы увеличите значение для Tesselation Factor (Множитель Тесселяции) [Тесселяция - разбиение. - Примеч. ред. ]
Если вам не нужно, чтобы объекты катились по поверхности перед окончательной остановкой, выполните несколько действий. Разместите объекты ближе к земле перед падением уменьшите значение параметра Bounciness (Упругость) (рис. 18.9), и объекты не будут подпрыгивать при соприкосновении с землей; либо вы можете увеличить их Static Friction (Сила трения покоя), чтобы они не скатывались с возвышенностей. Однако помните: чтобы вы ни делали, симуляция остается симуляцией. Другими словами, ничего предсказать нельзя.

Рис. 18.9.
При значении 0 параметра Bounciness (Упругость) объекты теряют упругость
Симуляция определит конечное расположение объектов - при ее воспроизведении объекты найдут свои конечные положения и замрут в них (рис. 18.10).

Рис. 18.10.
Все объекты естественно расположены на поверхности
Остановите симуляцию и прекратите существование объектов как твердых тел. Для этого выберите Edit / Delete by Type / Rigid Bodies (Редактирование / Удалить в зависимости от Типа / Твердые Тела). Эта команда удаляет все твердые тела, вам даже не нужно их выделять.
Используя такой подход, вы можете не только расположить несколько предметов один рядом с другим на поверхности, но и позволить им падать друг на друга, складываясь в пирамиду. рис. 18.11 демонстрирует размещение 2001 полигонального куба на плоской поверхности. Симуляция, использованная для этого, в действительности состоит из нескольких симуляций с сотней или около того кубов в каждой. Большую симуляцию из 2001 кубов не выдержал бы никакой центральный процессор персонального компьютера. Кроме того, более мелкие симуляции позволяют вам эффективнее контролировать область размещения - большая она или маленькая, размещение объектов контролируется динамическими законами.Размещение кубов один на другой либо один около другого вручную заняло бы у вас целый день.

Рис. 18.11.
Хаос из 2001 куба после нескольких динамических симуляций (из анимации для детского телевидения Германии)
А теперь кое-что новенькое. Приходилось ли вам вызывать и убирать окно Outliner (Схема Сцены) всего лишь двумя щелчками мышки (используя значок в верхней правой части экрана)? [В правой верхней части экрана нет иконки для Outliner. - Примеч. ред. ]
Атака частиц
Как создать спиральную туманность, атакующую мою камеру (а затем исчезающую в космосе)?
Тема:
Динамика.
Используемые техники и инструменты:
Emitter (Источник), Expressions (Выражения), Particle Goal (Цель Частиц), Goal Weighting (Целевой Вес), Particle Cloud (Тип Частиц Облако).
Движение частиц определяется силовыми полями, такими, как, например, гравитация и турбулентность. Именно в этом сочетании они чаще всего используются. Частицы также направляются целями - ими может быть что угодно, от сферы до кривой со свойствами мягкого тела или камеры. В этом уроке мы используем Particle Goal (Цель Частиц), для того чтобы приманить вихревой поток облаков к нашей камере. Мы немного драматизируем сцену: спиральная туманность медленно найдет нашу камеру, устремится к ней, закружится вокруг и, наконец, исчезнет.
Создайте пушку для частиц. Нажмите F5, выберите Particles / Create Emitter (Частицы / Создать Источник) (рис. 19.1).

Рис. 19.1.
Частицы, испускаемые из начала координат во всех направлениях
В окне Timeline Preferences (Настройки временной шкалы) установите Playback Speed (Скорость Воспроизведения) на значение Play every Frame (Воспроизводить Каждый Кадр).
Запустите симуляцию.
Параметр Play every Frame (Воспроизводить Каждый Кадр) очень важен: мы не хотим пропусков в шагах симуляции при работе модуля динамики MAYA.
Затем мы создадим локатор, движущийся вокруг камеры при ее движении. Локаторы - это объекты, которые не визуализируются, как вы, наверное, помните из главы 8.
Идите в начало анимации к сцене без частиц.
Создайте новую камеру и локатор.
Разместите локатор над камерой.
В режиме Insert mode (Режим редактирования опорной точки) передвиньте опорную точку локатора к центру камеры, который совпадает с началом координат сцены (рис. 19.2).

Рис. 19.2.
Передвиньте опорную точку локатора к центру камеры. Вы можете привязать его к сетке в центре координат сцены
Переместив таким образом опорную точку, вы сможете вращать локатор вокруг камеры.
Вы можете воспользоваться ключевыми кадрами для вращения, но более изящный способ - написать простое выражение.
В окне Channel Box (Окно Каналов) нажмите на Rotate Z (Вращение по оси Z). Используя контекстное меню правой кнопки мышки, откройте Expression Editor (Редактор Выражений).
Используя среднюю кнопку мышки, скопируйте строку locatorl .rotateZ из поля Selected Obj and Attr и вставьте ее в пустое поле снизу.
Завершите выражение вводом = frame (см. рис. 19.3).
Активизируйте выражение, нажав Create (Создать).
Сверните окно Expression Editor (Редактор Выражений) и воспроизведите анимацию.

Рис. 19.3.
Зависимое от времени уравнение заставит локатор медленно кружить вокруг начала координат сцены
Вот что должно произойти: источник разбрасывает частицы во всех направлениях, а локатор медленно вращается вокруг камеры. Давайте заставим его вращаться быстрее.
Откройте снова окно Expression Editor (Редактор Выражений) и отредактируйте существующее выражение, умножив переменную frame на 10. Нажмите Edit (Редактирование) для сохранения изменений.
Выражение
locatorl .rotateZ =10*frame увеличивает скорость вращения в 10 раз. Если вы теперь передвинете камеру, локатор будет продолжать вращаться вокруг начала координат сцены, а не вокруг центра камеры. Мы должны сделать его дочерним объектом по отношению к камере.
Выделите локатор, затем камеру и нажмите клавишу Р.
Последний шаг заставляет локатор следовать за камерой, куда бы она ни двигалась и ни поворачивалась. Попробуйте теперь подвигать камеру. Теперь мы будем привлекать частицы, но не к камере, а к локатору.
Выделите частицы, вслед за ними - локатор.
Привлеките частицы к локатору. Для этого выберите Particles / Goal (Частицы / Цель) (см. рис. 19.4).
Просмотрите анимацию в окне Perspective View (Вид Перспективы) и в окне Camera View (Вид сквозь Камеру).
Через камеру кажется, что поток частиц атакует нас, а затем кружит вокруг. Окно Perspective View (Вид Перспективы) показывает, что на самом деле частицы залетают далеко за камеру.
Причиной такого перелета являются весовые коэффициенты частиц по отношению к их цели. Сейчас это все имеет среднюю величину, но мы это исправим.

Рис. 19.4.
Локатор будет служить целью для частиц
Выделите частицы (не источник) и в окне Channel Box (Окно Каналов) найдите атрибут Goal Weight [0] (Целевой Вес [0]).
Идите в кадр 100 анимации.
Уменьшите значение атрибута Goal Weight [0] (Целевой Вес [0]) до 0 (рис. 19.5).

Рис. 19.5.
Атрибуты частиц в окне Channel Box (Окно Каналов). Атрибут Goal Weight [0] (Целевой Вес [0]) определяет, насколько точно частицы следуют по пути движения мишени
Используя контекстное меню, установите ключевой кадр для этого значения.
Идите в кадр 300.
Увеличьте значение Goal Weight [0] (Целевой Вес [0]) до 0,2 и установите еще один ключ.
Теперь частицы разбрызгиваются во всех направлениях на протяжении 100 кадров, затем они устремляются к локатору и кружат вокруг камеры (рис. 19.6 - 19.10). Теперь сквозь объектив камеры анимация выглядит гораздо более драматично.

Рис. 19.6.
Частицы вылетают из источника во всех направлениях...

Рис. 19.7.
...пока их не привлечет камера...

Рис. 19.8.
...они в форме ядра устремляются к локатору, который непрерывно вращается вокруг камеры...

Рис. 19.9.
... они ослепляют камеру...

Рис. 19.10.
...а затем залетают за свою мишень и возвращаются
Создайте анимацию движения камеры между кадрами 50 и 400.
Просмотрите анимацию через камеру.
Чтобы еще более драматизировать анимацию, в окне Graph Editor (Редактор Анимационных Кривых) задайте касательным анимационной кривой атрибута Goal Weight [0] (Целевой Вес [0]) тип flat (горизонтальные). Теперь смена направления движения будет мягче начинаться и заканчиваться. Если значение атрибута Goal Weight [0] (Целевой Вес [0]) ниже 0,1, его действие незаметно, поэтому, может быть, вам стоит установить еще один ключевой кадр для более быстрого перехода с 0 до установленного значения. Вы можете вставить ключ в окне Graph Editor (Редактор Анимационных Кривых).
Теперь переключим наше внимание на внешний вид частиц, с тем чтобы они визуализировались не как точки.
В Окне Attribute Editor (Редактор Атрибутов) для частиц откройте секцию Render Attributes (Атрибуты Рендеринга).
Измените Particle Render Type (Тип Рендеринга Частиц) с Points (Точка) на Cloud (s\w) (Облако) (рис. 19.11).

Рис. 19.11.
Тип частиц изменен с Points (Точка) на Cloud (s\w) (Облако)
Визуализируйте вид сквозь камеру (рис. 19.12).

Рис. 19.12.
Вид спиральной туманности, состоящей из облака сфер, сквозь объектив камеры
Если в результате рендеринга вы видите просто голубой экран, скорее всего, у вас слишком много частиц большого размера, которые расположены слишком близко к камере. Частицы нельзя масштабировать по отдельности, вам придется работать с ними как с одним целым. И прежде чем вы начнете этим заниматься, попробуйте увеличить их прозрачность. Созданный шейдер particleCloud имеет по умолчанию значение прозрачности 0,5 (см. в главе 17 о шейдинге облака частиц при извержении вулкана).
Щелкните правой кнопкой мыши по частицам и выберите Materials / Material Attributes (Материалы / Атрибуты Материала). Так вы откроете Attribute Editor (Редактор Атрибутов) для шейдера частиц.
В окне Attribute Editor (Редактор Атрибутов) нажмите на вкладку particleCloud 1 (рис. 19.13).
Поменяйте его цвет и прозрачность.

Рис. 19.13.
Используя контекстное меню, откройте Attribute Editor (Редактор Атрибутов) для шейдера particleCloud. Поменяйте его цвет с голубого на желтый и увеличьте прозрачность. Теперь объект в центре сцены становится видимым сквозь густую желтую спиральную туманность
Создайте объект-ссылку (только для расположения текстуры) в центре координат сцены.
Визуализируйте вид сквозь камеру.
Вы также можете наложить текстуру на цвет, прозрачность и другие атрибуты материала с помощью ramp-текстур. Incadescence (Самосветимость) - это важный атрибут шейдинга частиц. Он заставляет их светиться. Как только вас устроит вид частиц, вы можете отрегулировать движение облака частиц.
Как насчет небольшой (анимированной) турбулентности?
Давайте добавим немного нерешительности поведению частиц. Пусть они потеряют интерес к камере, привлеченные другой целью.
Создайте второй локатор, который будет служить конечной целью для частиц.
Поместите локатор в точку, которую будет видно из камеры в конце анимации, но достаточно далеко от нее.
Выделите частицы, затем новый локатор и создайте вторую цель. Выберите Particles / Goal (Частицы / Цель).
Две цели для одной группы частиц звучит противоречиво. Однако это как раз то, что делает цели гибкими. Мы можем задать силу влияния каждой цели, изменяя ее вес, и таким образом анимировать путь движения частиц просто и эффективно.
Сейчас частицы больше не приближаются к камере. Основной параметр, который изменил их поведение, - это вес новой цели, который вы можете увидеть в окне Channel Box (Окно Каналов): Goal Weight [1] (Целевой Вес [1]). Этот атрибут определяет, насколько точно частицы следуют за новым локатором. Поскольку сейчас это значение установлено на 0,5, частицы, находясь под его влиянием, уносятся от камеры к средней точке между первым и вторым локатором.
Идите в кадр 400.
Выделите частицы.
Установите Goal Weight [1] (Целевой Вес [1]) второго локатора на 0 и установите здесь ключевой кадр.
Идите в кадр 500.
Задайте еще один ключ для Goal Weight [1] (Целевой Вес [1]) со значением 0,5.
Теперь через 10 с частицы теряют интерес к камере и устремляются ко второму локатору - невидимой далекой цели. Наш полет может спокойно продолжаться.
А теперь кое-что новенькое. Приходилось ли вам искать Instant Maya через клавишу F1?
Толкаем вверх, тянем вниз
Как анимировать два связанных между собой объекта, один из которых должен двигаться вверх, а другой при этом падать?
Тема:
Динамика.
Используемые техники и инструменты:
Dynamic Constraints (Динамические Ограничения), Gravity (Гравитация), Fire (Огонь), Particle Cloud (Облако Частиц), Expressions if...Else (Условные Выражения).
Мы чувствуем себя легче в воде не из-за уменьшения силы тяготения, а потому, что существует противоположная сила, которая выталкивает нас вверх. Эта плавучесть в действительности обусловливается массой тела и плотностью и объемом вытесненной нашим телом жидкости. Все это может быть симулировано в трехмерной анимации, просто путем использования поля гравитации, работающего в противоположном направлении. Механически соединив два объекта с конфликтующими силовыми полями (одно толкает вверх, другое тянет вниз), мы получим в результате движение настолько сложное, что эту сложность невозможно получить с помощью обычной анимации по ключевым кадрам. В этом уроке мы создадим такую ситуацию и немного насладимся нашей работой, глядя на конфликт полей. Затем подожжем оба объекта, заставим первый объект гореть голубым пламенем, а второй погаснуть, когда он опустится ниже линии горизонта в воду.
Создайте два объекта: тор и конус.
Расположите их рядом друг с другом.
Выделите оба объекта и откройте окно настроек. Нажмите F4, выберите Soft/Rigid Bodies / Create Constraint Option box (Мягкие/Твердые Тела / Создать принудительное согласование Окно Настроек) (рис. 20.1).
В выпадающем меню выберите Pin (Булавка) в качестве Constraint Type (Тип принудительного согласования) и выполните команду.

Рис. 20.1.
Принудительное согласование объединит тор и конус
Переместите немного Pin Constraint (Принудительное согласование Булавка) вверх и в сторону (рис. 20.2). Это добавит движению дополнительный поворот, когда начнется симуляция.

Рис. 20.2.
Перед началом симуляции переместите Pin Constraint (Принудительное согласование Булавка) немного вверх и в сторону
Принудительное согласование типа Nail (Гвоздь), кстати, не является альтернативой для Pin Constraint (Принудительное согласование Булавка). Nail (Гвоздь) работает только с одним объектом, как гвоздь в рамке для картины, мы
же скрепляем два объекта [Имеется в виду, что Nail Constraint позволяет прикрепить объект к какой-то точке в пространстве, "прибить гвоздем", Pin Constraint позволяет скрепить два объекта друг с другом - Примеч. ред. ]. При воспроизведении анимации на этом этапе вы ничего не увидите, поскольку ни на тор, ни на конус не воздействуют никакие силы.
Выделите тор и добавьте к нему гравитацию. Для этого выберите Fields / Gravity (Поля / Гравитация).
При воспроизведении анимации вы увидите, как тор стремительно уносится вниз, увлекая за собой конус, на который не действует ни одно силовое поле (рис. 20.3).
Выделите конус и тоже добавьте к нему гравитацию.

Рис. 20.3.
Тор падает под влиянием гравитации и тянет за собой в бесконечность конус, на который не действуют никакие поля
В окне Channel Box (Окно Каналов) измените значение атрибута Magnitude (Величина) нового поля тяготения с 9,8 на-9,8 (см. рис. 20.4).

Рис. 20.4.
Второе, развернутое в противоположном направлении поле тяготения поднимает конус вверх
Теперь тор продолжает тянуть оба объекта вниз, а конус старается поднять их вверх - в результате мы получаем сложное движение пары (рис. 20.5). Если вы хоть немного усилите одно из полей тяготения, движение потеряет равновесие, и объекты моментально исчезнут из вида, увлекаемые большим силовым полем.

Рис. 20.5.
Конус летит вверх, тор вниз. Объединенные с помощью Pin Constraint (Принудительное согласование Булавка), они вынуждены держаться на одном уровне, создавая, таким образом, сложное, но сбалансированное движение
Выделите тор и зажгите его. Для этого выберите Effects /.Create Fire (Эффекты / Создать Огонь).
Выделите конус и тоже зажгите его.
В окне Channel Box (Окно Каналов) измените значение атрибута Fire Direction Y (Направление Огня по оси Y) для конуса с 1 на -1.
Анимация остается прежней, однако мы придали ей особенный шарм (рис. 20.6). Пламя на конусе и торе - в окнах modeling view (окно Моделирования) оно представлено в виде широко разбрасываемых зеленых сфер - горит сверху и снизу объектов, легко следуя их движению, как хвост кометы.

Рис. 20.6.
Мы подожгли объекты. При движении огонь создает пылающий хвост
В окне Hypershader найдите материал пламени конуса. Его имя particleCloud3.
Номер 3 в имени рarticleCloud3, кстати, обусловлен тем, что в каждой новой сцене Мауа создается шейдер Облака Частиц и он, по умолчанию, имеет имя particleCloudl. В действительности же это второе созданное нами облако частиц [Когда мы применяем эффект огонь, мы, помимо всего прочего, создаем систему частиц типа particle cloud и создаем для нее новый экземпляр шейдера. Поскольку один шейдер (с номером 1) создается автоматически при создании новой сцены, то новые шейдеры (а мы дважды применили эффект огонь и, следовательно, создали два шейдера) будут иметь порядковые номера 2 и 3. - Примеч. ред. ].
В окне Attribute Editor (Редактор Атрибутов) для particleCloud 3 найдите атрибуты Color (Цвет) и Incandescence (Самосветимость). К обоим атрибутам присоединены ramp-текстуры. Измените красные цвета текстуры на голубые (рис. 20.7).

Рис. 20.7.
Изменяем цвет пылающего хвоста конуса с оранжевого на голубой
Теперь конус сопровождается красивым хвостом из голубого огня (см. рис. 20.8).
Наконец, введя три строки программного кода, мы добавим еще один штрих, погашая пламя тора, когда он опускается ниже линии горизонта. Для того чтобы адекватно записать уравнение, вам нужно знать точное имя объекта. Его вы увидите, щелкнув по объекту мышкой, а также в окне Channel Box (Окно Каналов): nurbsTorml.
Выделите огонь тора и откройте для него Attribute Editor (Редактор Атрибутов) (см. рис. 20.9). Щелкните мышкой по вкладке emitterl и найдите поле Rate (Particle/Sec).
Этот атрибут определяет, сколько частиц пламени вылетит из конуса в единицу времени.
Значение атрибута по умолчанию запрограммировано в эффекте огня.

Рис. 20.8.
Отрендеренное изображение в кадре 100

Рис. 20.9.
Emission Rate (Интенсивность Испускания) огня - это атрибут источника частиц
Щелкните правой кнопкой мыши по атрибуту Emission Rate (Интенсивность Испускания), для того чтобы открыть Expression Editor (Редактор Выражений).
Здесь вы увидите несколько строк программы, которые определяют динамику выброса огня. Мы не будем менять эти сложные выражения, а просто кое-что добавим в самом их начале. Наше добавление изменит интенсивность испускания огня до нуля, когда тор погрузится ниже линии горизонта (когда значение его атрибута Translate Y (Значение перемещения по оси Y) будет меньше нуля).
Для записи новых строчек вам нужно знать полные имена для значений перемещения по оси Y и интенсивности испускания. Значение перемещения по оси Y объекта nurbsTorusl - nurbsTorusl.translateY. Полное имя для интенсивности испускания вы можете найти в первой строке уже существующего выражения; это emitter!.rate.
Добавьте следующие три строки перед уже существующими выражениями (рис. 20.10). Не забудьте о точке с запятой:
if (nurbsTorusl.translateY < 0)
emitterl.rate = 0;
else.

Рис. 20.10.
Три новые строки программного кода в окне Expression Editor (Редактор Выражений) погасят пламя тора, когда тот опустится ниже линии горизонта. Когда он снова поднимется, введенные строки уже не будут к нему применяться, и пламя зажжется снова
С этого места выражение продолжится исходным кодом. Введите изменения, нажав кнопку Edit (Редактирование).
В примерном переводе эти строки означают для MAYA следующее: "Если значение атрибута Translate Y (значение перемещения по оси Y) меньше нуля, убавьте интенсивность испускания до нуля; в противном случае делайте то, что вы обычно делаете".
Теперь, при воспроизведении анимации, хвост пламени оторвется от тора, как только тор опускается слишком низко, и появится снова, как только тор поднимается над горизонтом (рис. 20.11).

Рис. 20.11.
Пылающий хвост отрывается от тора, как только тор опускается слишком низко. Слева - изображение, полученное в результате рендеринга с помощью полупрозрачной Checkerboard (Шахматная доска), служащей поверхностью горизонта
А теперь кое-что новенькое. Приходилось ли вам выделять камеру, используя меню View (Вид)?
Пончо
Как сшить шелковое пончо и набросить его на туловище?
Тема:
Ткани, Динамика.
Используемые техники и инструменты:
Maya Cloth (Maya ткани).
До появления Maya Cloth нужно было либо прилагать колоссальные усилия, чтобы одежда трехмерных персонажей выглядела более или менее натурально, либо заключать их в жесткую оболочку, как панцирь насекомых, либо надевать на них амуницию, подобно Ларе Крофт. Теперь же юбки, брюки и рубашки для аниматора не проблема. Пончо - это всего лишь кусок ткани с отверстием для головы - никаких рукавов, никаких пуговиц. То есть это идеальный объект для начала изучения сложного мира цифровой одежды.
Модуль Cloth занимает уникальное место в семье Мауа. Сшивая части ткани вместе, мы фактически создаем поверхность; однако вы не найдете Cloth в меню моделирования (клавиша F3). Способ драпировки и более или менее свободного набрасывания тканей на туловище напоминает нам о модуле Soft Body Dynamics (Динамика Мягкого Тела). Но и в меню динамики (клавиша F4) мы не увидим Cloth. Модуль Cloth занимает свое собственное место в левом верхнем углу Maya Unlimited.
Модуль Cloth и взаимодействуют с анимацией персонажей весьма не традиционным образом. Программный модуль, который определяет, как одежда себя "чувствует" и как она взаимодействует с телом, которого касается, называется Solver (Решатель). Solver (Решатель) требует времени, для того чтобы оценить конструкцию, придать форму состояния покоя и наложить ее на смоделированную геометрию. Приходится ждать, пока Cloth выполнит инициализационную часть работы, придаст одежде начальную форму, и только по окончании этого этапа работы Решателя мы сможем начать какие-то телодвижения нашего персонажа. После завершения Решателем начальной стадии и начинается симуляция со вполне приемлемой скоростью, а результаты действительно впечатляют. В частности, объекты, созданные с помощью модуля Cloth, не выглядят резиновыми, что очень типично для мягких тел. Модуль Cloth содержит математическое описание уникальных свойств различных материалов, таких, как эластичность и плотность.
С помощью Cloth мы можем получить шелк, шерсть и джинсы.
Создайте модель туловища, либо его упрощенную форму (см. рис. 21.1).
Самый простой способ - это начать с NURBS-сферы и вытянуть из нее два обрубка для изображения рук и один для шеи. Что касается Мауа 4, модуль
Cloth может работать с SDS-поверхностями. Именно эта технология используется в наших иллюстрациях. Вы могли бы использовать и полигональный подход - пара экструдов и команда Polygons / Smooth (Многоугольники / Сглаживание) (см. главу 10 для освежения этого в памяти).

Рис. 21.1.
Это туловище состоит из наскоро смоделированных SDS-поверхностей. Вы также можете начать с многоугольников или NURBS-примитивов. Высота туловища (здесь 1,5 единицы) очень важна в этом уроке
Отмасштабируйте готовый торс так, чтобы его ширина и высота были в пределах между 1 и 2 ячейкой сетки.
В модуле Cloth размер играет важную роль. Представьте, что у вас есть большой кусок ткани и вы хотите сшить из него большое платье для женщины и маленькое для куклы. Хотя вы используете при этом один и тот же материал, маленькое платье на кукле будет сидеть не так, как на женщине, - кукольное платье будет более жестким. Когда вы моделируете персонаж, например туловище, Solver (Решатель) не знает, насколько большим будет этот персонаж. Параметр Solver Scale (Масштаб Решателя), чья задача заключается в координации расположения ткани на смоделированной геометрии, компенсирует эту неопределенность.
При моделировании пончо вы захотите отвести торсу пассивную роль. Для этого выберите Actions / Template (Действия / Шаблон) из контекстного меню. Так, вы можете видеть туловище, но не сможете его случайно выделить.
В окне Top View (Вид Сверху) создайте две концентрические NURBS-окруж- ности.
Передвиньте обе окружности вверх вместе, чтобы они располагались немного выше плеч туловища. Передвигать окружности вместе следует затем, чтобы они все время оставались в одной плоскости.
Увеличьте в размере внешнюю окружность. Это будет край ткани, покрывающей туловище.
Уменьшите внутреннюю окружность настолько, чтобы она плотно облегала шею.
Есть два условия создания одежды: первое условие требует кривых, лежащих в одной плоскости. Второе условие требует кривых, чьи границы образуют замкнутый контур. Создать одежду мы пока не можем, потому что наши окружности удовлетворяют только первому условию. Но очень скоро они сформируют два замкнутых цикла, которые мы сможем использовать для конструирования двух составных частей одежды, а не одного. Итак, мы собираемся разрезать обе окружности пополам и создать две дополнительные прямые линии, которые соединят полуокружности вдоль линии плеч. Это даст нам два замкнутых цикла, из которых мы впоследствии сможем создать две половинки одежды и сшить их вместе.
Используйте контекстное меню или нажмите клавишу F8 для отображения Edit Points (Точки Редактирования) на обеих окружностях.
Выделите все четыре редактируемые точки над плечами туловища (см. рис. 21.2).
Разрежьте обе окружности по этим точкам. Нажмите F3, выберите Edit Curves / Detach Curves (Редактирование Кривых / Разъединить Кривые) (см. рис. 21.3).
Соедините точки разделения двумя прямыми линиями, используя инструменты ЕР Curve Tool (Построение кривой по редактируемым точкам) и Curve Snapping (Прилипание к кривой) (клавиша С).
Активизируйте меню Cloth в верхней левой части экрана.
Выделите две передние полуокружности и обе новые прямые линии (порядок выделения не имеет значения).

Рис. 21.2.
Разбейте две окружности - по двум точкам каждую

Рис. 21.3.
Мы получили четыре полуокружности - базовая геометрия для передней и задней части пончо
Создайте панель из полученных замкнутых кривых. Выберите Cloth / Create Panel (Ткани / Создать Панель) (рис. 21.4).

Рис. 21.4.
Две соединительные прямые между полуокружностями позволяют нам создать панель. Стрелки указывают на четыре кривые, выделенные для создания первой панели
Выделите обе задние полуокружности плюс две прямые линии и создайте из них вторую панель.
Панель Cloth - это предварительное состояние одежды, которое не может быть визуализировано. Если вы запустите симуляцию ткани сейчас, с панелью ничего не произойдет. Нам нужно преобразовать ее в одежду, которая может быть визуализирована и которая фактически упадет на туловище.
Выделите одну из двух панелей и создайте из них первую половину одежды: выберите Cloth / Create Garment (Ткани / Создать Одежду).
Одежда, однако, пока состоит только из половины пончо. Она автоматически увеличится вдвое, как только мы пришьем к ней вторую половину.
На этом этапе одежда состоит из 25 полигонов - это недостаточно для сглаженной поверхности. Наконец, когда все готово для анимации, мы зададим разрешение поверхности 1000 многоугольников, для того чтобы получить красивые складки и изгибы. Однако для нашего следующего шага зададим промежуточное значение количества многоугольников.
В окне Channel Box (Окно Каналов) увеличьте Base Resolution (Базовое Разрешение) cpStitcher с 25 до 300.
Теперь самое время для сшивания. Я люблю шить, особенно сложные части одежды. Двух швов вдоль линии плеч будет вполне достаточно. Используйте маску выбора для дезактивации поверхности ткани. Так вы не сможете нечаянно ее выделить.
Выделите одну из двух прямых линий над плечами.
Создайте по ним шов. Выберите Cloth / Create Seam (Ткани / Создать Шов) (рис. 21.5).

Рис. 21.5.
Сшейте перед и спинку, создав два шва вдоль линии плеч
Выделите вторую прямую линию и также создайте вдоль нее шов.
Эти швы соединяют спинку и перед пончо и автоматически создают garment [Специальная поверхность Maya Cloth. - Примеч. ред. ] из задней панели. Типичная ошибка начинающих - это сшивание не тех частей; например, если вы забудете сшить второй плечевой шов, пончо будет открыто в этом месте, и либо повиснет на одном плече, либо упадет на землю.
Итак, все, что вы сделали, - это создали две панели из шести кривых, затем применили команду Create Garment (Создать Одежду) к одной из панелей путем наложения швов и, наконец, пришили получившуюся часть одежды (garment) с помощью шва.
Более сложные предметы одежды создаются тем же способом. Это быстрый и интересный путь создания реалистично выглядящей трехмерной одежды. Две поверхности не обязаны соприкасаться друг с другом перед сшиванием, как это было в случае с нашим пончо. Если панели находятся далеко друг от друга, сшивание соединит их, создав дополнительную поверхность между ними. (Урок Cloth Tutorial в документации по Instant Maya предлагает интересные способы создания рубашки и джинсов.)
Теперь при воспроизведении анимации пончо упадет и исчезнет благодаря тяготению. Оставьте его ненадолго там и, если хотите, выделите и сделайте невидимыми первоначальные кривые и панели. Они вам больше не понадобятся, но и уничтожать их нельзя.
Выделите туловище и сделайте из него объект коллизий с тканью. Выберите Cloth / Create Collision Object (Ткани / Создать Объект коллизий).
При воспроизведении симуляции на этом этапе вы будете разочарованы. Пончо не ляжет на туловище, но будет парить вокруг него, пока не исчезнет в бесконечности. В действительности это нюанс, на котором многие новички Maya Cloth сдаются. Все выглядело таким понятным, а теперь почему-то все усложнилось. Ничего не усложнилось!
Существуют две причины "неправильного поведения" пончо, и обе эти причины могут быть быстро устранены. Первая проблема заключается во взаимодействии модуля Cloth с геометрией, которая, как я говорил ранее, может быть устранена с помощью Solver Scale (Масштаб Решателя). Вторая имеет отношение к расстоянию, на которой ткань старается держаться от объекта, чтобы не проникать в него. Эти параметры называются Collision Offset (Расстояние до объекта коллизии) и Depth (Глубина проникновения), и мы сначала займемся именно ими. Единственная хитрость заключается в том, что в действительности это параметры не одежды, а объекта коллизий, которым является туловище.
Выделите туловище и откройте секцию Shapes (Форма) в окне Channel Box (Окно Каналов). Уменьшите значения для Collision Offset (Расстояние до объекта коллизии) и Collision Depth (Глубина Проникновения) с 1 до 0,1 (рис. 21.6).

Рис. 21.6.
Два основных фактора, влияющих на падение пончо на туловище, - это Collision Offset (Расстояние до объекта коллизии) и Collision Depth (Глубина проникновения ). Значение, установленное по умолчанию - 1, - слишком велико для туловища, размером в 1 или 2 единицы, и пончо, которое должно бы красиво лечь вокруг шеи
Эти небольшие изменения имеют огромный эффект. Они позволяют пончо лучше "почувствовать" туловище. Перед этим пончо парило над туловищем на расстоянии 1 ячейки сетки, словно большая арка.
Теперь давайте обратимся к Solver Scale (Масштаб Решателя), чтобы наше пончо знало, с чем имеет дело.
Выделите пончо. В окне Channel Box (Окно Каналов) в разделе Inputs (Входные Данные) щелкните мышкой на вкладку cpSolverl. Увеличьте значение Solver Scale (Масштаб Решателя) до значения, значительно большего 1, например, 15 (рис. 21.7).

Рис. 21.7.
С увеличенным значением параметра Solver Scale (Масштаб Решателя) симуляция выглядит так, как будто наш торс - это тело взрослого человека, а не куклы ( Solver Scale 1)
Со значением параметра Solver Scale (Масштаб Решателя)! пончо ведет себя так, будто оно представляет собой одежду для куклы, - слишком жесткое и грубое. Значение параметра Solver Scale (Масштаб Решателя) 15 говорит о том, что мы создали реальное пончо для взрослого человека, поэтому оно более мягко ложится на геометрию (рис. 21.8). Для получения более изящной симуляции мы снова увеличим разрешение поверхности.

Рис. 21.8.
С уменьшенными значениями параметров коллизии vi увеличенным значением параметра Solver Scale (Масштаб Решателя) пончо красиво падает на туловище. С разрешением всего лишь 300 многоугольников на панель некоторые части ткани проникают в геометрию. Цвет мы получили, наложив стандартную 2D Cloth texture
Увеличьте Base Resolution (Базовое Разрешение) cpStitcher до 1000.
При внесении такого рода изменений мудро было бы удалить кэш симуляции, перед тем как запустить ее снова. Выберите Simulation / Delete Cache (Симуляция / Удалить Кэш).
В противном случае никаких изменений вы не увидите. Кэш симуляции необходим, когда вы заканчиваете работу над симуляцией ткани и начинаете анимацию персонажа. Он записывает данные симуляции на жесткий диск, чтобы Мауа не приходилось делать все с самого начала снова и снова, при воспроизведении анимации.
С высоким разрешением пончо выглядит более мягким, а симуляции требуется больше времени для выполнения (рис. 21.9). Но что же это за материал? Мы можем выбрать материю в секции cloth properties (свойства ткани). В ней есть шелк, шерсть, джинсовая ткань и другие. Давайте сошьем наше пончо из тончайшего шелка.

Рис. 21.9.
При разрешении 1000 полигонов на поверхность пончо превосходно ложится на туловище
Создайте для пончо новую материю. Выберите Properties / Create Cloth Properties (Свойства / Создать Свойства Ткани).
Откройте Attribute Editor (Редактор Атрибутов) для нового материала и откройте в нем Material Library (Библиотека Материалов), небольшой набор встроенных материалов. В поле Material Name (Имя Материала) выберите cpSilk (см. рис. 21.10).
Удалите кэш симуляции (Simulation / Delete Cache (Симуляция / Удалить Кэш) и запустите анимацию заново.
Шелковый материал ведет себя еще мягче на туловище. Особенно это заметно при движении тела. В окне Attribute Editor (Редактор Атрибутов) вы найдете физические свойства, обусловившие это поведение, такие, как Bend Resistance (Сопротивление Сгибанию) (чем ниже значение этого параметра, тем большее количество складок вы получите), Thickness (Плотность) (для смоделированного зимнего пальто в противоположность ночной рубашке) и Friction (Трение) (между туловищем и пончо, а также между пончо и пончо). Значение параметра Friction (Трение) для шелка, конечно, значительно ниже, чем для хлопковых тканей.

Рис. 21.10.
Физические свойства тканей. Мауа предоставляет лишь несколько готовых материалов. Мы нажмем на значок папки, чтобы выбрать шелк
Когда вы проанимируете туловище, после того как пончо уютно на нем расположится, пончо будет натурально следовать за движением туловища.По мере движения туловища на пончо будут появляться новые складки, колебания, некоторые части будут растягиваться и собираться. Когда движение туловища будет достаточно быстрым, Air Damping (Демпфирование Воздуха) - атрибут свойства ткани - станет важным фактором. Если хотите, чтобы анимация туловища начиналась в кадре 0 или 1, вместо того чтобы проигрывать кадр за кадром для симуляции, используйте команду Simulation / Start / Stop Simulation (Симуляция / Начать / Закончить Симуляцию). Мауа через некоторое время оденет туловище, не продвигаясь вперед по таймлайну.

А теперь кое-что новенькое. Приходилось ли вам смешивать руку из модуля Paint Effects с березой?
Освещение с настроением
Как создать эффект еле заметного беспорядочного движения источника рассеянного света в комнате?
Тема:
Рендеринг, Динамика.
Используемые техники и инструменты:
Ambient Light (Источник рассеянного света), Nail Constraint (Принудительное согласование по типу Гвоздь), Gravity (Гравитация), Point Constraint (Принудительное согласование по типу Точка).
Слегка анимированное освещение может значительно усилить впечатление в которой, по сути, ничего особенного не происходит. Оно добавляет штрихи и к освещенной и анимированной сцене. Идея этого урока заключается в том, чтобы использовать реальные силовые поля, то есть механику Ньютона для источника рассеянного света.
Создайте комнату из большого полигонального цилиндра [На рисунке изображен куб. - Прим, переводчика. ] и удалите его потолок и две передние стены, чтобы получить вид внутри комнаты.
Поместите в нее несколько объектов.
Откройте окно настроек для создания источника рассеянного света. Для этого выберите Create / Lights / Ambient Light (Создать / Освещение / Источник Рассеянного Света (рис. 22.1).

Рис. 22.1.
Создайте источник рассеянного света, чтобы осветить сцену
Убедитесь, что значение параметра Ambient Shade (Тень источника рассеянного света) больше нуля (см. рис. 22.2).
Чем меньше значение параметра Ambient Shade (Тень источника рассеянного света), тем освещение более равномерно. Хотя по умолчанию источник рассеянного света освещает всю сцену в целом, Мауа позволяет локально увеличить его интенсивность. Нам нужен свет, локализированный в пространстве, то есть он должен быть ярче в области, где находится его источник, и при этом освещать и остальные части сцены. При установленном по умолчанию значении параметра 0,45 освещение ярче в области, где находится его источник; по мере удаления от источника интенсивность освещения падает. При значении параметра Ambient Shade (Тень источника рассеянного света), равном 1, рассеянный источник света приобретает свойства точечного источника света.

Рис. 22.2.
С помощью значения параметра Ambient Shade (Тень источника рассеянного света) больше нуля, положение света локализуется в пространстве
Создайте свет.
Визуализируйте сцену.
Источник света появляется в начале координат и сияет там ярче. Лучше всего это видно, если вы передвинете источник освещения немного вверх перед визуализацией. В отличие от других источников освещения в Мауа, рассеянный источник света достигает поверхностей, направленных от него, как, например, темные стороны цилиндра и конуса на рис. 22.3.

Рис. 22.3.
Рассеянный источник света ярче в центре сцены, чем в других ее местах. Однако он все же освещает те части объектов, которые точечный источник света оставил бы совершенно темными
Теперь мы создадим гвоздь в (уже не существующем) потолке, на котором источник света будет крепиться и раскачиваться. Осуществляя это, мы попадем в область динамических симуляций, которые содержатся в Мауа в меню клавиши F4. Динамические симуляции требуют геометрии; источники света (и другие негеометрические объекты, типа камеры) не могут напрямую участвовать в симуляции. Они могут принимать только опосредованное участие. Задача заключается в том, чтобы прикрепить источник света к геометрическому объекту, например, к сфере, то есть фактически подвесить сферу (а не источник света) и заставить ее раскачиваться на гвозде в потолке.
Создайте сферу.
Выделив сферу, откройте окно настроек меню Soft/Rigid Bodies / Create Constraint option box (Мягкие/Твердые Тела / Принудительное согласование) (рис. 22.4).

Рис. 22.4.
В действительности на гвозде подвешена сфера
Убедитесь, что Constraint Type (Тип Принудительного согласования) установлен на Nail (Гвоздь), и выполните команду.
Выполнением одной команды в действительности заставляет Мауа выполнить два действия сразу: создать гвоздь и преобразовать сферу в динамическое твердое тело. Для того чтобы раскачать источник освещения, нам нужно расположить гвоздь над сферой.
Выделите гвоздь в окне Outliner (Схема Сцены) (он называется rigidNailConstrainl) и подтяните его к потолку.
Переместите немного выше и сферу (см. рис. 22.5).

Рис. 22.5.
Гвоздь и сфера в начальной позиции
Вся эта конструкция должна выглядеть как длинный маятник, свисающий с потолка (он должен быть достаточно длинным, для того чтобы, раскачиваясь, охватывать большую часть комнаты). Если вы проиграете симуляцию, то ничего не произойдет: сфера спокойно свисает с гвоздя, поскольку на нее не воздействует никакая сила.
Выделите сферу и добавьте ей гравитации, сделайте ее тяжелее. Для этого выберите Fields / Gravity (Поля / Гравитация) (рис. 22.6).

Рис. 22.6.
Мы воздействуем на сферу гравитацией
Оттяните сферу в сторону, для того чтобы начать колебания маятника.
Воспроизведите анимацию.
Теперь сфера раскачивается на гвозде вперед-назад в одной плоскости. Для того чтобы точно воспроизвести симуляцию, в меню Preferences (Установки) откройте раздел Timeline Settings (Установки временной шкалы) и в пункте
Real time (Реальное Время) выберите значение Play every Frame (Воспроизводить каждый кадр). Результат неплохой, однако симуляция несколько надоедлива; давайте добавим ей немного джаза.
Поскольку сфера все еще выделена, откройте секцию rigidBody1 в окне Channel Box (Окно Каналов) и увеличьте Initial Velocity (Начальная Скорость) сферы по оси X и Z (рис. 22.7).

Рис. 22.7.
Увеличьте значение параметров Initial Velocity (Начальная Скорость) сферы
После установки значений начальной горизонтальной скорости движение сферы больше не ограничено вертикальной плоскостью. Теперь при воспроизведении симуляции сфера движется по гораздо более сложной траектории, выписывая петли и восьмерки, и "заметает" гораздо большую область комнаты (рис. 22.8)

Рис. 22.8.
Сфера раскачивается по всей комнате
Вы можете повозиться с начальной скоростью, для того чтобы она подошла к размеру вашей комнаты, а также изменить остальные значения rigidBodyl, для того чтобы усложнить движение.
Измените местоположение сферы в начале симуляции, чтобы она качалась внутри комнаты, не выходя за ее пределы.
Когда вас удовлетворит движение сферы, вы можете согласовать ее движение с движением источника рассеянного света.
Нажмите клавишу F2, для того чтобы войти в меню анимации.
Выделите сферу, затем источник рассеянного света и выберите Constrain / Point (Принудительное согласование по типу Точка), для того чтобы привязать источник света к сфере.
Вы, наверное, заметили, что мы используем два типа меню согласований. Команда Constrain (Принудительное согласование), принадлежащая меню анимации, используется для прикрепления объектов друг к другу, в то время как команда Create Constraint (Создать принудительное согласование) в секции динамики применяется только в динамических симуляциях. Принудительное согласование по типу Nail (Гвоздь), к примеру, бесполезно без силовых полей. Вместо использования принудительного согласования по типу Point (Точка), вы могли бы также связать движение сферы с движением источника освещения, используя иерархию "родитель - дочерний объект" (выберите Edit / Parent (Редактирование / Родительский объект). Однако принудительное согласование типа Point (Точка) экономит нам один шаг, автоматически перемещая источник освещения к сфере. При использовании родительского объекта вам пришлось бы вручную перемещать источник освещения к сфере.
Теперь самое время для последнего, завершающего шага нашей работы.
Выделите сферу и сделайте ее невидимой (клавиши Ctrl+H) (см. рис. 22.9).
Теперь вы видите иконку источника рассеянного света, свисающую с гвоздя и качающуюся внутри комнаты во время симуляции. В результате рендеринга анимации вы увидите периодически освещаемые части комнаты (см. рис. 22.10). Когда симуляция полностью вас устроит, можете запечь (to bake) ее в настоящие ключевые кадры (выберите Edit / Keys / Bake Simulation (Редактирование / Ключи / Запечь Симуляцию). Затем удалите оставшиеся твердые тела (выберите Edit / Delete by Type/ Rigid Bodies (Редактирование / Удалить в зависимости от типа / Твердые Тела), упростите, масштабируйте и подредактируйте ключевые кадры в Graph Editor (Редактор Анимационных Кривых), для того чтобы сделать эффект переменного освещения менее заметным или, напротив, более ярко выраженным.

Рис. 22.9.
Сфера спрятана. Теперь источник света как будто сам свисает с гвоздя

Рис. 22.10.
Едва заметный, но создающий необходимое впечатление эффект: динамически анимированный рассеянный свет оживляет комнату
А теперь кое-что новенькое. Приходилось ли вам раскрашивать лысую голову?
Пешеходный переход
Как в реальном времени из NURBS-плоскости сделать пешеходную "зебру", растворяющуюся в густом тумане?
Тема:
Аппаратный Рендеринг.
Используемые техники и инструменты:
Assign Material per Patch (Попатчевое присвоение материала), Hardware Fog (Аппаратный туман).
В отличие от полигональной NURBS-поверхность не имеет граней, поэтому она допускает наложение одной-единственной текстуры на всю поверхность целиком. Если вы, скажем, хотите приклеить логотип компании на NURBS-тостер, вы, скорее всего, используете метод Stencil (Трафарет). Но поскольку Stencil (Трафарет) фактически плавает над поверхностью (что иногда имеет свои преимущества), этот метод бесполезен, если вы хотите использовать параметризацию поверхности в качестве текстурных координат при наложении текстуры. Скажем, у вас есть NURBS-улица и вы хотели бы добавить к ней осевую линию. Вам бы долго пришлось возиться с параметрами закладки place2dTexture окна Attribute Editor (Редактор Атрибутов), пока не получили бы требуемое, как на рис. 23.1. Но этот метод не абсолютно точен при интерактивной работе [Здесь имеется в виду, что при визуализации расположение текстуры может отличаться от того, что вы видите в окне моделирования. -Примеч. ред. ], и если вы дополнительно (еще) захотите добавить "зебру", то у вас ничего не получится.
Вы должны были использовать многослойную текстуру, но для такой простой задачи это было бы чересчур сложное решение. Не правда ли, было бы здорово, если бы мы могли использовать патчи NURBS-поверхности, которые мы видим в окне моделирования, для того, чтобы частично и в интерактивном режиме раскрасить улицу в серый и белый цвета?
Теперь это желание может быть реализовано. Мауа 4 позволяет вам присваивать индивидуальные цвета к различным частям NURBS-поверхности. Правда, с большим ограничением: результат можно увидеть только при использовании аппаратного шейдинга - он не визуализируется! Тем не менее это довольно заметный шаг вперед, поскольку многие художники используют Мауа в проектах реального режима времени.
Но все-таки в процессе работы над этим уроком помните, что вы не сможете использовать этот метод (или новый инструмент Hardware Fog Tool (Аппаратный туман) в высококачественно визуализирован- ной анимации. Однако я уверен, что вы оцените быстрый и простой способ тек- стурирования улицы осевой линией и пешеходной "зеброй". Кроме того, он по требует хороших навыков выделения отдельных патчей.

Рис. 23.1.
Утомительный метод назначения уличной разметки NURBS-поверхности использованием шахматной текстуры. Слева: шахматная текстура, наложенная на всю поверхность целиком. В середине: параметры расположения текстуры настроены так, чтобы получить разметку пешеходной "зебры". Справа: текстура, настроенная так, чтобы получить осевую линию. Используя такой подход, получить одновременно и осевую линию, и пешеходную "зебру" невозможно
Создайте NURBS-плоскость.
В окне Channel Box (Окно Каналов) откройте секцию makeNurbsPlane и измените Width (Ширина) на 3, a Length Ratio (Соотношение сторон) на 10.
Увеличьте количество патчей вдоль U до 21, а вдоль V до 11 (см. рис. 23.2).
Мы получили плоскость следующего размера: ширина - 3 единицы, длина - в 10 раз больше, прямо как на настоящей дороге. Количество патчей - это шаблон для аппаратного текстурирования.
Выберите Window / Rendering Editors (Окно / Редакторы Рендеринга), для того чтобы открыть Hypershade. Создайте материал для асфальта улицы и материал для белой разметки.
Назначьте серый материал всей улице.
Этот - и только этот - материал будет использоваться при программном рендеринге. Все остальные цвета в этом уроке будут видимы только при аппаратном рендеринге.

Рис. 23.2.
Новая NURBS-плоскость с относительно высокой плотностью геометрии
Щелкните правой кнопкой мыши по дороге для получения изображения (только) Surface Patches (Патчи Поверхности) NURBS-плоскости (рис. 23.3).

Рис. 23.3.
Используя контекстное меню поверхности, сделайте патчи видимыми и доступными для выделения
Заметьте: в модуле меню маски выделения в верхней части окна Maya Surface Patches (Патчи Поверхности) называются NURBS-Patches (рис. 23.4). Оба термина обозначают одно и то же.

Рис. 23.4.
Вместо контекстного меню вы можете использовать маску выделения в верхней части окна Мауа для отображения патчей поверхности
В следующем шаге мы найдем самый лучший способ для выделения отдельных патчей, используя различные окна моделирования.
В окне Front View (Вид Спереди) выделите центральные патчи улицы (рис. 23.5).

Рис. 23.5.
В окне Front View (Вид Спереди) вы можете одновременно выделить все центральные патчи улицы
В окне Top View (Вид Сверху) снимите выделение с каждого второго патча (клавиша CTRL) (см. рис. 23.6).
Проверьте выделение в перспективном окне. Если вы случайно снимете выделение, используйте команду Undo (Отменить Действие).
Откройте Hypershader. Щелкните правой кнопкой мышки по белому материалу и, используя команду Assign Material to Selected (Назначить Материал выделенным объектам), наложите белую разметку на выделенные патчи (см. рис. 23.7).
Как только вы снимете выделение и вернетесь из режима Component mode (компонентный режим ) в режим Object mode (объектный режим), то увидите белые полосы вдоль дороги (см. рис. 23.8). Если разрешение поверхности вдоль оси U (вдоль длины улицы) у вас небольшое, полоски будут широкими. Если по какой-то причине вы недовольны размером линий разметки, выполните команду Edit NURBS / Insert Isoparms (Редактирование NURBS / Вставить изопармы). Так вы добавите дополнительные изопармы, а значит, и новые патчи к поверхности.

Рис. 23.6.
В окне Top View (Вид Сверху) снимите выделение с каждого второго патча

Рис. 23.7.
Оставшиеся патчи получают белый материал для изображения осевой линии улицы

Рис. 23.8.
Теперь осевая пиния разметки видна
Плотность ячеек по оси V (по ширине улицы) позволит нам нанести разметку пешеходного перехода.
Выделите пары соседних патчей для пешеходного перехода. Оставьте невыделенными по два патча между каждой парой выделенных.
Мы получили разметку пешеходного перехода, и расстояние между ее линиями в два раза больше, чем ширина осевой линии разметки.
Назначьте белый материал выделенным ячейкам (см. рис. 23.9).
Если серый патч случайно окрасится в белый цвет, просто снова назначьте ему серый асфальтовый цвет тем же самым способом.
Деформируйте поверхность так, чтобы улица слегка изогнулась (см. рис. 23.10).
Наконец, давайте используем еще один эффект, видимый лишь при аппаратном шейдинге, но не при рендеринге. Выберите Shading / Hardware Fog (Шейдинг / Аппаратный туман) (рис. 23.11). Вы можете настроить этот эффект в окне настроек. Это великолепное презентационное средство, особенно если вы проанимируете камеру и просчитаете тестовую анимацию. Для "настоящего" (то есть программного) рендеринга вам нужен другой вид тумана, который не реализуется графической картой на аппаратном уровне: Environment Fog (Туман в Окружающей Среде).

Рис. 23.9.
А теперь у нас есть и пешеходный переход

Рис. 23.10.
Деформированная улица

Рис. 23.11.
Эффект Hardware Fog (Аппаратный туман) идеален для презентаций в реальном режиме времени
А теперь кое-что новенькое. Не приходилось ли вам сравнивать одуванчик, который растет перед вашей дверью, с одуванчиком, созданным в Мауа?
Дикая растительность
Как смешать различные цвета и нарисовать Трехмерный ландшафт луга с облаками и небом?
Тема:
Рендеринг.
Используемые техники и инструменты:
Paint Effects (Эффекты Рисования), Sky Texture (Текстура Неба), Depth of Field (Глубина резкости).
Когда вы используете акварель или масляные краски, вам периодически приходится смешивать цвета - так вы получите необходимый набор оттенков для красивой сложной картины. Это очень важная процедура. Программы двухмерного рисования обычно не содержат средств для интерактивного смешивания цветов. Вместо смешивания голубого с желтым вы просто выбираете зеленый. В модуле Maya Paint Effects микширрвание должно быть глубоко запрятанным секретом; но нет, напротив, оно легко доступно.
Просто щелкните правой кнопкой мышки, и вы можете не только смешивать цвета, но и выбирать кисти и формы. В этом уроке мы будем активно использовать техники микширования и нарисуем трехмерный луг с дикорастущей травой, несколькими генетически измененными деревьями и реалистично выглядящим небом с облаками. Наконец, мы визуализируем едва заметное плавное движение камеры с глубиной резкости (Depth of Field).
Смешивание шейдинга и форм в Мауа настолько сильно, что художники двухмерной графики просто должны были бы влюбиться в него. Давайте познакомимся с двумерным поведением штрихов на плоской поверхности, проще называемой "холст".
Нажмите клавишу 8, для того чтобы войти в Paint Effects (Эффекты Рисования).
Выберите Paint / Paint Canvas (Рисование / Рисование на Холсте), для того чтобы переключиться с трехмерного, на двухмерный вид.
Щелкните по пиктограмме Get Brush (Взять Кисть) и в окне Visor откройте папку Oil (Масляные Краски).
Выберите красную кисть. Нарисуйте линию на чистом холсте.
Щелкните правой кнопкой мышки (и держите ее) по одной из голубых кистей.
В контекстном меню выберите Blend Shading (Смешать Тонирование) 50% (см. рис. 24.1).

Рис. 24.1.
Секция масляных красок в Paint Effects (Эффекты Рисования). Мы добавляем 50% голубого цвета к нашей красной кисти
Таким образом, вы погружаете красную кисть в голубой цвет и получаете точное 50-процентное смешение красного с голубым цветом. Как и большинство программ, Мауа использует термин "кисть" для обозначения того, что художники назвали бы "цветом". При смешивании цветов мы на самом деле смешиваем тонирование и формы кистей. Кисти в программном обеспечении означают более чем цвет, поскольку они не только содержат цвет, но также создают различные штрихи, используя свою уникальную форму.
Нарисуйте вторую линию. Это смешение красного и голубого: фиолетовый.
Тем же способом смешайте 50% белой кисти и полученной фиолетовой и нарисуйте третью линию. Мы получили ярко-сиреневый цвет.
Прибавьте к этому 100% желтой кисти и нарисуйте четвертую линию: полностью желтую.
Используйте 100% Shading (Тонирование) первоначальной красной кисти, чтобы вернуться к тому цвету, с которого начали (рис. 24.2).

Рис. 24.2.
Смешиваем различные масляные краски. Слева направо: красная краска; красная краска, смешанная с 50% голубой краски; все это перемешано с 50% белой краски; результат смешан со 100% желтой; и наконец, желтая кисть полностью погружена в первоначальную красную краску
Таким образом, вы легко смешиваете цвета в точной пропорции. Нарисованные вами линии также выглядят по-разному, поскольку масляные кисти имитируют не только цвет, но и освещение. За счет этого штрихи местами выглядят ярче и различаются от одной масляной кисти к другой. Операция смешения тонирования учитывает как освещение, так и отражение.
В окне Visor откройте папку, содержащую Перья (рис. 24.3). Выберите красное перо и нарисуйте перистый штрих.

Рис. 24.3.
Библиотека Перьев
Откройте секцию Fibers (Волокна). Нажмите правой кнопкой мышки на веревку rope.mel (рис. 24.4). Используя команду Blend Brush (Смешивание Кистей) 50%, возьмите 50% свойств веревки (что означает больше чем просто цвет) и нарисуйте вторую линию.

Рис. 24.4.
Библиотека Волокон
Новая линия выглядит перистой, однако она также содержит элементы плетения веревки.
Ее цвет представляет собой смешение красного цвета пера
и бежевого цвета веревки. Используя команду Blend Brush (Смешивание Кистей), вы смешали не только информацию о тонировании, но и о форме.
Смешайте 50% цветка или соцветия одуванчика, dandelionYellow.mel, который вы найдете в библиотеке Flowers (Цветы) (рис. 24.5), с "пероверевкой" и нарисуйте новую линию.

Рис. 24.5.
Цветение одуванчика в секции Flowers (Цветы)
Добавьте 50% головок одуванчика (Seed-head) и на этом закончите эксперимент.
Цветение одуванчика берет структуру перо/веревка и смешивает ее с 50% эффекта цветения. Головка одуванчика добавляет белое цветение и делает структуру листьев значительно менее похожей на первоначальную перистую. Новые цветки очень отдаленно напоминают структуру желтого цветения одуванчика и больше похожи по форме и размеру на его белую головку (рис. 24.6).

Рис. 24.6.
Смешиваем цвета и формы. Слева направо: красное перо; красное перо, смешанное с веревкой; результат смешан с цветком одуванчика; результат смешан с головкой одуванчика
Покажите это и другие свои достижения вашим друзьям, занимающимся двухмерной компьютерной графикой. А через некоторое время, когда вы встретитесь снова, подготовьте для них трехмерный дикий луг (см. рис. 24.14).
Выйдите из Paint Effects (Эффекты Рисования), нажав клавишу 8.
Создайте большую NURBS-плоскость для ландшафта.
Деформируйте ее так, чтобы на ней появились холмы и долины.
Назначьте ей новый материал.
Выделите ландшафт и приготовьтесь к использованию Paint Effects (Эффекты Рисования). Нажмите F5, выберите Paint Effects / Make Paintable (Эффекты Рисования / Сделать Доступным для Рисования).
Снова войдите в Paint Effects (Эффекты Рисования) (клавиша 8). Если перед вами все еще двухмерный холст, переключитесь в трехмерное пространство, выбрав Paint / Paint Scene (Рисование / Рисовать в Сцене).
Теперь землю нашего луга мы засеем растениями как естественного, так и генетически измененного происхождения.
В окне Visor выберите кисть из папки Grasses (Травы).
Определитесь, где будет находиться камера, и несколькими штрихами нарисуйте в этом месте немного травы (рис. 24.7). Если листья травы кажутся вам слишком мелкими или слишком крупными, используйте "горячую клавишу" В (плюс левая кнопка мышки), чтобы изменить их размер.

Рис. 24.7.
Несколько штрихов травы на широком поле. Камера будет находиться очень близко, и в объектив попадет холм на заднем плане
Из папки Flowers (Цветы) выберите цветок. Смешайте его с деревом из секции Trees (Деревья). Новой кистью нарисуйте растение в траве.
Выйдите из Paint Effects (Эффекты Рисования).
Создайте и расположите где-нибудь еще одну камеру. Она должна находиться в траве, очень близко к растениям/деревьям.
Установите два вида освещения: (направленный) солнечный свет и слабый источник рассеянного света.
Визуализируйте вид сквозь камеру.
Измените цвет поверхности ландшафта. Используйте пипетку Color Chooser (Выбор Цвета), для того чтобы скорректировать цвет поверхности ландшафта в соответствии с цветом травы.
Визуализируйте снова (рис. 24.8).

Рис. 24.8.
Первый рендеринг обычной травы с гибридами цветов и деревьев. В цветы на переднем плане добавлена небольшая доза одуванчика
Вернитесь в Paint Effects (Эффекты Рисования), смешайте несколько других растений и кистей на ваш вкус и нанесите новые штрихи близко к камере. Выполняйте тестовую визуализацию после каждого вновь выращенного цветка.
Если ваши растения располагаются вне обзора камеры, в перспективном окне выделите штрих и передвиньте его или просто немного передвиньте камеру. Если вам не нравится вид растений, просто удалите их в окне Outliner (Схема сцены).
Если работа вашего компьютера замедляется по мере добавления новых элементов в сцену, временно скройте отдельные растения, например всю траву. Самый лучший инструмент для подключения и отключения групп объектов - это Layer Editor (Редактор Слоев).
Привлекательный луг проще создать стандартными растениями Paint Effects (Эффекты Рисования), чем их гибридами (рис. 24.9).
Например, если вы скрестите цветы с водорослью (из секции Underwater (Подводный Мир), то получите неинтересное растение с отполированными стволами и цветами скучных пастельных тонов. Поэтому вам придется выкинуть большинство ваших созданий.

Рис. 24.9.
Добавляем растения-гибриды. В центре вы видите белую головку одуванчика, опущенную в красную масляную краску. Близко к камере - полупрозрачный красный лист, который фактически является смешением березы, травы и акварельной краски
Две основные вещи вы должны помнить при засеивании луга. Первое: размещайте наиболее красивые растения ближе к камере, а менее привлекательные - подальше. Второе: не усердствуйте при заполнении ландшафта! Фон должен оставаться хоть немного незанятым, поскольку мы еще будем использовать глубину резкости при визуализации. Это сделает объекты более размытыми по мере удаления их от камеры.
В нашей сцене все еще нет неба. Черное небо - не слишком привлекательный выбор для картины природы. Немного голубого цвета над горизонтом значительно улучшит вид - ramp-текстура поможет разнообразить атмосферу всей сцены. Все, что вам нужно, - это либо простой цвет фона, либо Image Plane (Плоскость Изображения) с наложенной на нее текстурой. Мы используем последний способ и наложим текстуру Sky (Небо) на Image Plane (Плоскость Изображения). Этот метод дает нам не только приятные, естественные цвета для неба в любое время дня, но и добавит облака и солнце.
Откройте Attribute Editor (Редактор Атрибутов) камеры. В секции Environment (Окружающая Среда) нажмите на Image Plane Create (Создать Плоскость Изображения).
В секции Placement (Расположение) нажмите Fit to Resolution Gate (в Соответствии с Разрешением). Так текстура фона будет заполнять все области визуализируемого изображения.
В Image Plane Option box (окно настроек Плоскости Изображения) выделите Texture (Текстура) и нажмите на шахматный значок рядом с этим полем (рис. 24.10).

Рис. 24.10.
Attribute Editor (Редактор Атрибутов) для камеры Image Plane (Плоскость Изображения).
Мы готовы к изображению цифрового неба
В окне Create Render Node (Создать Узел Рендеринга) откройте секцию Environment Textures (Текстуры Окружающей Среды) и выберите Env Sky (рис. 24.11).

Рис. 24.11.
Выбираем текстуру для Image Plane (Плоскость Изображения)
Визуализируйте сцену.
Environment Sky (Небо Окружающей Среды) предлагает много настроек для получения более или менее реалистичного изображения неба. Например, вы можете изменить яркость, создать облака (используя текстуру fractal) либо добавить атмосферные эффекты. Поскольку вы намерены напрямую связать плоскость изображения с камерой, то применять различные наклоны и неровности вы не можете, изображение не будет выглядеть реалистично.
Здесь имеется в виду следующее. Image Plane может позиционироваться по отношению к камере двумя способами - жестко прикрепляться к камере (опция "attached to camera") или позиционироваться в пространстве, независимо от положения камеры (опция "fixed"). В первом случае при любых движениях камеры фоновая картинка не меняется, при изменении положения камеры и при больших поворотах или панорамировании передний план и фон будут несогласованы друг с другом - фон останется неизменным, а передний план будет двигаться, что будет выглядеть неестественно. Поэтому перевод, скорее, будет примерно следующим.
Так как мы выбрали жесткое прикрепление image plane к камере, то мы не можем сильно панорамировать или поворачивать камеру - это разоблачит нашу хитрость (подделку).
Если вы хотите свободы в движении камеры по сцене, то вы должны были бы наложить текстуру на сферу большого размера, накрывающую всю сцену целиком. Поскольку наша камера будет лишь немного передвигаться в глубь луга, использование плоскости изображения - это самый прямой путь достичь нашей цели (рис. 24.12).

Рис. 24.12.
Луг с небом и облаками
В окне Top View (Вид Сверху) измерьте расстояние между камерой и цветами, которые представляют для вас наибольший интерес. Если вы не доверяете вашей сеточной разметке, используйте инструмент Measure Distance Tool (Измерение Расстояния) в меню Create (Создать) и Point Snapping (Привязка Точки) для размещения локаторов инструмента.
Откройте Attribute Editor ( Редактор Атрибутов) для камеры секцию Depth of Field (Глубина резкости).
Включите Depth of Field (Глубина Резкости).
В поле Focus Distance (Фокусное расстояние) введите расстояние (предварительно измеренное) между камерой и желаемой фокальной плоскостью.
Визуализируйте сцену.
Если изображение получилось чересчур размытым, значит, глубина резкости недостаточна (рис. 24.13), поэтому увеличьте Focus Region Scale (Масштаб Области Фокусирования) и F-Stop. Последнее значение определяет ширину раскрытия линзы камеры. Широко раскрытая линза (низкое значение F-Stop) означает меньшую глубину резкости и большую размытость. Это озадачивает компьютерных графиков и так знакомо настоящим фотографам!

Рис. 24.13.
Слишком малая глубина резкости, слишком сильная размытость: только стебли трав справа изображены (неожиданно) с хорошей резкостью
Когда вас удовлетворит размытость изображения, точно наведите фокус на объект, который вы хотели бы видеть резким (рис. 24.14). Параметр для фокусирования на объектах называется Focus Distance (Расстояние Фокуса).

Рис. 24.14. Оптимальная глубина резкости: размытость размазывает пустоты между растениями и выделяет находящийся в четком фокусе красный одуванчик
Идите в конец анимации и установите ключевой кадр для положения камеры.
Идите в начало анимации, немного отведите назад камеру и установите второй ключевой кадр.
Визуализируйте изображение.
Многие растения в Paint Effects (Эффекты Рисования) содержат информацию о ветре, и ветер будет дуть без какого-либо вашего вмешательства. И вы можете убедиться в этом, "поелозив" бегунком по таймлайну, - трава будет раскачиваться, листья дрожать, стебли травы и некоторых из созданных вами растений сгибаться под порывами ветра. Именно так, как это должно быть в настоящем трехмерном ландшафте для трехмерных существ, которых вы еще создадите.
А теперь кое-что новенькое. Приходилось ли вам создавать скелет, гуляющий в Dirk Bialuch's Footsteps? [Здесь речь идет о скрипте, который называется footsteps, автора Dirk Bialuch, который позволяет создавать анимацию ходьбы, расставляя "следы". - Примеч.ред. ]
Маска черной дыры
Как создать анимацию планеты с облаками и спутниковой орбитой на трех отдельных слоях для отправки проекта в отдел компоузитинга?
Тема:
Rendering
Используемые техники и инструменты:
Extrude Surface (Экструдировать Поверхность), Reverse Utility (Утилита Обращения), Black Hole Mask (Маска Черной Дыры).
Когда вы располагаете таким многосторонним и объемным программным продуктом, как Мауа, существует соблазн провести в нем всю работу по созданию проекта. Сконструировав и анимировав сложную сцену, отрендерив сотни тестов и даже получив нужное освещение, вам сразу же захочется отрендерить весь комплекс объектов как единое целое, даже если это займет несколько дней.
В действительности же лучше было бы проводить рендеринг по слоям, а скомпоузитить все позже. Существуют два аргумента в пользу преимущества такого подхода. Во-первых, это время, которое уходит на рендеринг. Вы можете его сэкономить, например, путем рендеринга статичных объектов отдельным слоем и скомпоузитить их с движущимися объектами позднее. Для анимации, которая обычно требует десять часов рендеринга, можно подчас сэкономить девять часов времени. Вы можете поспорить, что время рендеринга не такой уж важный аспект в анимации, в особенности если имеешь дело с видеоразрешением NTSC или PAL (а не киноразрешением); мощные процессоры не так дороги в настоящее время, а Мауа может осуществлять распределенный рендеринг на нескольких машинах. А если вы работаете с программой рендеринга Мауа, вам даже не нужно платить лицензию на ее использование, как в случае с другими программным продуктами.
Самый веский аргумент за рендеринг по слоям - это мощь компоузитинга.
Во время компоузитинга слоев вы легко можете осуществить такие эффекты, как смена цвета отдельных частей финального изображения, добавление небольшого свечения всего лишь одному объекту либо придание чему-нибудь вида рисованной анимации во время движения по экрану. Кроме того, в компоузитинговых программах очень легко согласовать цвет, яркость и контрастность нескольких слоев, с тем чтобы изображение стало изящным и реалистичным.
Художнику трехмерной графики очень сложно бывает полностью контролировать цвет, поскольку все материалы и освещение сцены живут каждый своей
собственной жизнью, что существенно влияет на конечное изображение, если камера передвинется в другое положение, где, к примеру, луч прожектора вызывает отражение. Если заказчик вдруг захочет, чтобы небо выглядело более голубым и жизнерадостным, то, если небо было отдельно отрендерено, вам потребуется один раз щелкнуть мышкой в пакете компоузитинга. А если бы вы делали это в Мауа, вам пришлось бы заново рендерить всю анимацию.
В этом уроке мы не будем создавать ничего сложного - сложные вещи пусть выполняет художник-компоузитор. Мы с вами займемся чем-то более реальным: подготовим три простых слоя трехмерной сцены для их компоузитинга: сферу планеты, облака и спутниковую орбиту. Мы также будем иметь дело с моделированием, текстурированием и прозрачностью.
Создайте NURBS-сферу и новый материал. Используйте для этого материала процедурную текстуру, например Crater (Кратер). Либо с помощью инструмента 3D Paint Tool (инструмент трехмерного рисования) нанесите континенты и океаны на сферу вручную.
Создайте маленькую NURBS-окружность.
Щелкните правой кнопкой мышки по сфере и, используя контекстное меню, отобразите ее изопараметрические кривые. Не снимая выделения с маленькой окружности, нажмите клавишу SHIFT и выделите также изопарму вдоль экватора.
Откройте окно настроек. Для этого нажмите F3, выберите Surfaces / Extrude option box (Поверхности / Экструдировать Окно настроек).
Установите Result Position (Результирующее Положение) на At Path (Вдоль Пути), a Pivot (Опорная Точка) на Component (Компонента) (см. рис. 25.1). Эти настройки гарантируют, что новая поверхность будет построена там, где находится изопарма, и никак иначе.
Нажмите Extrude (Экструдировать), для того чтобы экструдировать маленькую окружность вдоль экватора.
Смасштабируйте новую поверхность - орбиту воображаемого спутника - немного наружу, чтобы она не проникала в сферу (см.
рис. 25.2). Если вы хотите, чтобы она выглядела тоньше, уменьшите размер маленькой окружности, которая определяет размер орбиты в поперечном сечении.

Рис. 25.1.
С такими настройками инструмента Extrude Tool (Экструдирование) маленькая красная окружность из центра экструдируется вдоль желтого экватора, образуя кольцо

Рис. 25.2.
NURBS-сфера, раскрашенная вручную меньше чем за минуту, напоминает планету Земля, а тор служит орбитой воображаемого спутника
Сдублируйте сферу и немного смасштабируйте новую сферу наружу, чтобы она уместилась между планетой и орбитой спутника.
Наложите на новую сферу новый материал Lambert с фрактальной текстурой - это будет слой облаков.
Отрендерите сцену.
В отрендеренном изображении планета полностью покрыта сферой фрактальных облаков. Для того чтобы снова увидеть планету (или хотя бы ее часть), нам нужно к слою облаков добавить информацию о прозрачности, и ничего не может быть для этого более удобным, чем сама фрактальная текстура.
В окне Hypershader откройте иерархию материала облаков. С помощью средней кнопки мыши перетащите фрактальную текстуру на материал Lambert. Во всплывающем меню выберите Transparency (Прозрачность) в качестве текстурируемого канала.
Когда вы отрендерите сцену, облака будут черными, а промежутки между ними прозрачными (рис. 25.3). Проблема заключается в том, что канал прозрачности сферы облаков воспринимает в качестве прозрачного белый цвет облаков вместо черного промежутка между ними. Поэтому только черные части текстуры облаков становятся видимыми. Если мы инвертируем цвета фрактала, мы получим ту же проблему с другой стороны: прозрачные в настоящее время части станут черными и непрозрачными. Нам требуется инвертировать только значения цвета фрактала, которые входят в канал прозрачности материала (а не те, которые входят в канал цвета).

Рис. 25.3. Сквозь слой облаков видны части планеты. Но почему же облака черные?
Разорвите связь информации о прозрачности между фрактальной текстурой и материалом Lambert.
Для этого вам нужно выделить ее и удалить.
Не выходя из окна Hypershader, откройте секцию Create Utility (Создать Утилиту) и с помощью правой кнопки мышки перетащите Reverse Utility (Утилита обращения) на рабочую область.
Соедините атрибут фрактала outColor (рис. 25.4) со входным каналом (input) Reverse Utility (Утилита обращения) (рис. 25.5).

Рис. 25.4.
Для того чтобы облака были прозрачными там, где это нам нужно, значения цвета информации о прозрачности следует изменить на противоположные. Выход канала цвета фрактала...

Рис. 25.5.
...соединяется со входным каналом Reverse Utility (Утилита обращения). Reverse Utility (Утилита обращения) инвертирует значения цвета...
Соедините выход (output) утилиты со входом канала прозрачности материала Lambert (рис. 25.6).

Рис. 25.6.
...и передает их каналу прозрачности материала облаков
Теперь белые (а не черные) части облаков воспринимаются как непрозрачные. При рендеринге вы увидите белые облака и планету в промежутках между ними (рис. 25.7) Если вы нажмете на круглый белый значок в окне рендеринга, то увидите альфа-маску изображения. Здесь у облаков есть красивые пушистые края (рис. 25.8).

Рис. 25.7.
Инвертированный канал прозрачности создает требуемый эффект облаков

Рис. 25.8.
Канал маски прозрачности слоя облаков. Края облаков выглядят красивыми и пушистыми
Заметьте, что, хотя мы говорили только о черном и белом цветах, Мауа фактически использует информацию об оттенках серого для рендеринга прозрачности. Поэтому Reverse Utility (Утилита обращения) делает темно-серый светлосерым и оставляет средние тона без изменений. Пушистый вид облаков обусловлен областями разной степени прозрачности, то есть различными уровнями яркости серого цвета.
Перед тем как начать рендеринг сцены по слоям, стоит объединить элементы каждого шага рендеринга в индивидуальные слои, которые легко можно подключать и отключать.
Вы оцените этот подход, когда одним лишь щелчком мыши в секции видимости Layer Editor (Редактора Слоев) вы на время спрячете слой облаков, оставив в окне моделирования лишь слой с планетой.
Layer Editor ( Редактор Слоев) не представляет собой ничего сложного и находится прямо под окном Outliner (Схема сцены) [Здесь ошибка в исходном тексте. Layer Editor находится прямо под Channel Box (Окном Каналов). — Примеч. ред.] (рис. 25.9).

Рис. 25.9.
Для рендеринга каждый уровень следует объединить в отдельный слой с помощью Layer Editor (Редактор Слоев). Здесь объекты в пределах одного слоя можно легко подключать и отключать, нажимая на значок V (видимость)
Многие аниматоры трехмерной графики испытывают отвращение к альфа-каналам и маскам. Для них действительно есть вещи поважнее, чем быть "альфа-экспертом". Однако вам необходимо знать, что именно вы отдаете вашему коллеге или заказчику. Обычное изображение, отрендеренное в Мауа, содержит канал маски, который в общих чертах говорит: здесь (где белый цвет) находится объект, здесь (где черный) вы можете смотреть в бесконечность. Канал маски полностью покрывает картинку белым цветом только в том случае, когда у вас есть фон, заполненный картинками, либо большое изображение, типа сферы для текстуры неба.
Если вы просто сделаете облака и планету невидимыми, чтобы отрендерить только орбиту спутника (см. рис. 25.10), и отдадите отрендеренное изображение вашему коллеге в отдел компоузитинга, вы получите массу претензий. Ваш коллега пожалуется, что кольцо не содержит информации ни о том, какая его часть должна быть видимой в композиции (передняя часть), ни где планета
с облаками должна перекрывать его (скорее, задняя часть) (рис. 25.11). Передняя и задняя часть объектов (их видимые и скрытые области) - это наиболее важная деталь для компоузитора, и вы, художник трехмерной графики, должны корректно предоставить ему эту информацию.

Рис. 25.10.
Кольцо орбиты спутника при скрытой планете и облаках

Рис. 25.11.
Изображен только канал маски кольца спутника. Хотя он выглядит абсолютно совершенным для художника трехмерной графики, он бесполезен для его коллеги- компоновщика, поскольку не содержит информации о том, где кольцо и другие слои изображения перекрывают друг друга в конечной композиции
Давайте предположим, что вы скроете планету и орбиту спутника и оставите для рендеринга только слой облаков. Тогда ваш коллега столкнется с той же проблемой. Загруженный в программу компоузитинга слой облаков сферы будет просвечиваться, будто он сделан из стекла (см. рис. 25.12).

Рис. 25.12.
Слои планеты и орбиты спутника скрыты, отрендерены только облака. Такое изображение нельзя использовать для компоузитинга, поскольку задняя часть сферы облаков будет просвечиваться и лежать поверх планеты и кольца спутника
Основная процедура рендеринга по слоям для компоузитинга должна быть примерно такой. Начните с самого дальнего слоя и отрендерите его первым без других слоев. Затем сделайте видимым второй слой, а первый сделайте черным, чтобы он не выдавал никакой информации о цвете, но сообщал бы альфа-каналу: я здесь! Эта опция - существенная для компоузитинга - называется Black Hole Mask (Маска Черной Дыры), и это свойство материала объекта, а не самого объекта. Отрендерите второй проход, в котором слой 2 видим, а к слою 1 применена Black Hole Mask (Маска Черной Дыры). При рендеринге третьего слоя примените Black Hole Mask (Маска Черной Дыры) к слоям 1 и 2 и оставьте видимым только слой 3. И так далее.
В нашем случае лучше всего поступить так (это сохранит межличностные отношения в коллективе):
Скройте орбиту спутника и облака.
Отрендерите сферу планеты как она есть и оставьте это изображение для вашего коллеги-компоузитора (рис. 25.13).

Рис. 25.13.
Первый корректно отрендеренный результат: слой планеты отрендерен; оба других слоя невидимы
Откройте Attribute Editor (Редактор Атрибутов) для материала планеты (не ее геометрии) и в секции Matte Opacity (Непрозрачность вещества) установите параметр Mode (Режим} на Black Hole (Черная Дыра) (рис. 25.14 и 25.15).

Рис. 25.14.
Маска планеты

Рис. 25.15.
Перед рендерингом второго шага маску материала планеты следует установить на Black Hole (Черная Дыра.)
Скройте слой облаков.
Отрендерите вторым проходом слой облаков (рис. 25.16).
Рендеринг принимает во внимание альфа-информацию о местонахождении планеты, но не рендерит цвет планеты (рис. 25.17). Сохраните это изображение для своего коллеги-компоузитора.
Установите маску материала облаков на Black Hole (Черная Дыра).
Сделайте слой спутника видимым.

Рис. 25.16.
Отрендеренные облака и слой планеты. Эффект Black Hole-Mask (Маска Черной Дыры) материала планеты (слева)

Рис. 25.17.
... можно видеть в альфа-канале слоя облаков. Это детальный вид, в котором край слоя планеты совершенно белый. Маска скрывает все облака за планетой (справа)
Третьим проходом отрендерите орбиту спутника (рис. 25.18). Сохраните это изображение для вашего коллеги-компоузитора (рис. 25.19).

Рис. 25.18.
Третий корректно отрендеренный проход. Кольцо перекрывает облака и сферу планеты только спереди и исчезает сзади. Black Hole Mask (Маска Черной Дыры) слоев планеты и облаков участвует в рендеринге

Рис. 25.19.
Альфа-канал орбиты спутника. Маска кольца учитывает присутствие облаков и планеты
Любая программа компоузитинга сможет корректно работать с этими тремя изображениями (а если это будет анимация, то с последовательностями изображений). Молодой польский аниматор, который завоевал несколько призов своей первой трехмерной анимацией, как-то сказал мне, что не видит смысла в рендеринге по слоям. Все равно никому свои наработки он отдавать не собирается. Может, у него был уже печальный опыт в этой области. В самом деле, компоузитинг не сложнее трехмерной анимации. Скорее всего, его проблема (и многих других аниматоров) заключается в неспособности взаимодействовать, недостатке уверенности в компоузиторе, который, кстати, тоже очень неплохо может разбираться в области трехмерной графики.
Поскольку эта книга посвящена трехмерной анимации, мы завершим этот урок без сведения трех наших слоев в окончательную картинку. Пусть это сделает (за нас) отдел компоузитинга.
А теперь кое-что новенькое. Приходилось ли вам прятать временную шкалу?
Тень от деревьев
Как добавить тень от веток и листьев березы, трепещущих на ветру, в мою скучную трехмерную комнату?
Тема:
Рендеринг, Анимация.
Используемые техники и инструменты:
Paint Effects (Эффекты Рисования).
Простой и симпатичный прием сделать источник освещения более интересным - это наложить на него фильтр. В Мауа это можно сделать, либо изменив цвет источника света, либо наложив на его цвет текстуру. Анимируя текстуру, вы можете воспроизвести (смоделировать) такие эффекты, как тени от бегущих облаком или поднимающихся венецианских жалюзи.
С появлением модуля Paint Effects (Эффекты Рисования) мы можем использовать цифровые деревья для оживления освещения и тени сцены. Иногда мы даже не должны видеть деревья - только их тень.
Создайте полигональный куб, достаточно большой, для того чтобы внутри него свободно могла перемещаться камера.
Экструдируйте одну из его граней, смасштабируйте ее до размеров окна и удалите (рис. 26.1).

Рис. 26.1.
Полигональный куб с экструдированной, смасштабированной и удаленной передней гранью для получения окна
Создайте рассеянный источник света и солнечный свет (направленный свет). Расположите последний так, чтобы он освещал комнату через окно, достигая
пола и задней или боковой стенки. Для этого выберите Panels / Look Through Selected (Панели / Смотреть Через Выделенное).
В окне Attribute Editor (Редактор Атрибутов) для освещения включите Depth Map Shadows (Тени на основе карты глубины) и увеличьте Dmap Filter Size (Размер Фильтра Dmap), например, до 3. Это смягчит края тени.
Для того чтобы привлечь взгляд, добавьте в комнату две колонны, смоделированные из цилиндров.
Создайте новую камеру и разместите ее в комнате. Если это необходимо, уменьшите длину фокуса для увеличения угла обзора.
Отрендерите изображение внутренней части комнаты с двумя колоннами и освещением из окна (рис. 26.2).

Рис. 26.2.
Широкоугольная камера находится в комнате и направлена на тень, образованную солнечным светом
Мы закончили создание нашей комнаты, и я думаю, что вы согласитесь со мной, она скучновата На самом деле в этом нет ничего плохого; просто мы еще раз убедились, что компьютерный мир, слишком искусственен и скучен.
В перспективном окне нажмите клавишу 8 и переключитесь на Paint Effects (Эффекты Рисования) (см. рис. 26.3).
Из секции Trees (Деревья) возьмите кисть BirchBlowingLight.mel. С ее помощью вы нарисуете раскачивающуюся на ветру березу (рис. 26.4).

Рис. 26.3.
Нажав на этот значок, вы откроете окно Visor с огромным набором кистей

Рис. 26.4.
В секции Trees (Деревья) вы найдете березу, раскачивающуюся на ветру
Выбрав кисть, переместите курсор на плоскость поверхности земли. Не нажимая кнопки мыши, определитесь с размером дерева. Возможно, кисть окажется слишком мала по сравнению с большими размерами комнаты. В этом случае увеличьте Scene Scale (Масштаб Сцены) в окне Paint Effects Globals (Глобальные настройки Эффектов Рисования). Для этого нужно нажать клавишу F5 и выбрать Paint Effects / Paint Effects Globals (Эффекты Рисования / Глобальные настройки Эффектов Рисования).
Нарисуйте одно или два дерева на плоскости поверхности земли перед окном. Если вас не устроит расположение или размер деревьев, используйте команду Undo (Отменить) для отмены операции (см. рис. 26.5).
Нажмите клавишу 8 для выхода из модуля Paint Effects (Эффекты Рисования). Теперь в окне рендеринга вы сможете увидеть только схематичное изображение берез(ы). Если это необходимо, переместите ее в перспективном окне ближе к окну комнаты (см. рис. 26.6).
Отрендерите вид сквозь камеру.

Рис. 26.5.
Трехмерная береза нарисована кистью модуля Paint Effects (Эффекты Рисования)

Рис. 26.6.
Слева: перспективное окно с березой, расположенной перед окном комнаты. Справа: окно рендеринга тени дерева в комнате
Если вы в правильном месте посадили дерево, то солнечный свет, падая на ствол, ветки и листья березы, образует красивую тень в комнате. Если тень не попадает внутрь комнаты, выделите дерево и переместите его. Здесь полезно использовать вид сквозь источник освещения [Нужно выделить источник солнечного света и, как это делалось выше, Panels>Look through selected. - Примеч. ред. ]. Помните, что трехмерная анимация - это не только создание интересных объектов, но также и экономная работа.
Если нам требуется только тень, тогда зачем оставлять дерево?
Откройте Attribute Editor (Редактор Атрибутов) для дерева.
Нажмите на вкладку strokeShapebirchBlowingLightl.
Снимите флажок с Primary Visibility (Первичная Видимость) штриха дерева
(рис. 26.7).

Рис. 26.7.
Отключив Primary Visibility (Первичная Видимость), мы удаляем сам объект - но не его присутствие в окнах моделирования и не его тень - из процесса рендеринга
Primary Visibility (Первичная Видимость) означает видимость объекта для рендеринга. Когда этот параметр отключен, объект все еще можно видеть в окнах моделирования, сохраняется также его воздействие на сцену. Но сам объект рендериться не будет (см. рис. 26.8). Это главное отличие Primary Visibility (Первичная Видимость) от Visibility объекта (Видимость объекта). Если вы отключите Visibility для объекта (Видимость объекта) в окне Channel Box (Окно Каналов) или в Окне Attribute Editor (Редактор Атрибутов) в меню Display (Показать), то не только сам объект исчезнет из окон моделирования и визуализации, но также и тень объекта больше рендериться не будет.
Береза модуля Paint Effects (Эффекты Рисования) содержит атрибут, который придает дереву движение в соответствии с правилами динамики. Вам не нужно рендерить последовательность, чтобы увидеть это движение. Просто пройдитесь по временной шкале в окне камеры. Силовое поле модуля Paint Effects (Эффекты Рисования), используемое в данном случае, называется Grass Wind (Ветер в Траве). Вы можете найти его (а так же редактировать его и устанавливать ключевые кадры), открыв Attribute Editor (Редактор Атрибутов) для узла birchBlowingLightl. В этом окне войдите в секцию Tubes (Трубы) в меню Turbulence (Турбулентность) [Там путь длиннее. Итак, открываем Atribute editor для birchBlowingLightl. Далее - секцию Tubes, ее подсекцию Behavior, потом подсекцию Forces и далее подсекцию Turbulence. - Примеч. ред. ].

Рис. 26.8.
Тень березы в комнате. Когда вы отрендерите анимацию, листья и ветки будут трепетать на ветру
Конечно, ветер можно добавлять всем другим видам растений.
А теперь кое-что новенькое. Когда-нибудь задумывались о значении пиктограммы над начальной точкой временной шкалы?
Блуждающее свечение
Как создать анимацию движения свечения по кольцу? [Вдохновленный Паоло Берто.
]
Тема:
Рендеринг.
Используемые техники и инструменты:
Hypershade, IPR (Интерактивный фотореалистичный рендер), Projection (Проекция).
Эффект свечения очень популярен среди заказчиков трехмерной анимации. Обычно они хотят, чтобы их обожаемый объект - зубная паста, машина, звезды - светился для привлечения к ним внимания. Аниматор трехмерной графики в этом случае просто открывает Attribute Editor (Редактор Атрибутов) для материала зубной пасты и увеличивает значение атрибута Glow (Свечение).
Движение свечения по геометрии получить гораздо сложнее, поскольку в этом случае вы должны подвергнуть действию glow лишь определенные части объекта, остальные - нет. Мауа рендерит свечение как "постэффект", после того как закончит процесс создания двумерного изображения. Вы не можете видеть свечение в окнах моделирования, поэтому его местоположение - это всегда причина трудностей и ошибок. В этом уроке вы сможете буквально взять свечение в окне моделирования и переместить его в нужное место. Все, что нам для этого потребуется, - это маленький трюк и краткая экскурсия в мир комбинирования узлов текстуры.
Создайте кольцо.
Для этого можно использовать NURBS-тор,.скорректировав его радиус. Либо вы можете создать кольцо с помощью операции Revolve, вращая NURBS-окружность, которая будет служить поперечным сечением.
Наложите на кольцо шейдер Blinn.
Шейдер Blinn - это типичный материал, отправная точка для получения эффекта металлической поверхности с ее яркими бликами. Самые важные атрибуты блика называются Eccentricity (Эксцентриситет) и Specular Roll Off (Уровень Зеркального Отражения). Их можно найти в секции Specular Shading (Отражающие свойства шейдера). Вместо настройки нового материала вы можете использовать уже готовый металлический шейдер из Интернета или из базы данных шейдеров Мауа. Нажмите на вкладку Shader Library (Библиотека Шейдеров) в окне Hypershader.
Ключ к созданию свечения, путешествующего по кольцу, заключается в использовании локальной проекции параметра свечения.
Другими словами, мы спроецируем текстуру на поверхность, которая не изменит цвета поверхности, но будет менять силу свечения там, где она попадет на поверхность. Не имеет особого значения, какую текстуру использовать для свечения. Мы будем использовать шахматную текстуру (checker), поскольку она позволяет очень точно оценить интенсивность эффекта.
Давайте сначала изменим компоновку окон, в которых вы работаете. Над (некоторые говорят "на севере от") меню Hotbox (Окно оперативного доступа к элементам интерфейса) расположено всплывающее зональное меню с несколькими заготовленными вариантами компоновки окон (рис. 27.1).

Рис. 27.1.
Кольцо и смена компоновки окон во всплывающем зональном меню; вверху меню Hotbox (Окно оперативного доступа к элементам интерфейса)
Набор окон Hypershade / Render / Persp (Hypershade / Рендеринг / Перспектива) лучше всего подходит для нашей цели. Итак, мы имеем перспективное окно внизу справа (для выбора хорошей точки съемки); в окне внизу слева вы можете непрерывно выполнять процесс рендеринга IPR (Интерактивный фотореалистичный рендер). В широком верхнем окне под рукой всегда будет окно Hypershader для объединения желаемых элементов (см. рис. 27.2).
В окне Attribute Editor (Редактор Атрибутов) шейдера Blinn откройте секцию Special Effects (Специальные Эффекты) и щелкните мышкой по значку рядом с полем Glow Intensity (Интенсивность Свечения). Откроется окно Create Render Node (Создать Узел Рендеринга).

Рис. 27.2.
Новый вариант компоновки окон. Вверху расположено окно Hypershader - панель инструментов для создания нового материала; внизу справа - окно моделирования; внизу слева - непрерывно обновляемое IPR (Интерактивный фотореалистичный рендер) изображение
В окне Create Render Node (Создать Узел Рендеринга) отметьте As projection (Проекция) и текстуру Checker (см. рис. 27.3).
Окно IPR (Интерактивный фотореалистичный рендеринг) теперь показывает целиком светящееся кольцо (см. рис. 27.4).
В окне Hypershader дважды щелкните мышкой по текстуре Checker.
В открывшемся окне Attribute Editor (Редактор Атрибутов) затемните значение белого цвета текстуры: Colorl (см. рис. 27.5).
Это позволяет видеть на кольце узор текстуры Checker. Там, где шахматная доска черная, свечение не появляется. Перед сменой белых тонов на серые эффект свечения был слишком выраженным и распространялся даже на не светящиеся области кольца. Помните, что мы меняем не цвет кольца, а интенсивность свечения.

Рис. 27.3.
Мы позволим текстуре Checker решать, где расположить свечение, сделав три простых шага от окна Attribute Editor (Редактор Атрибутов) материала до окна Create Render Node (Создать Узел Рендеринга)

Рис. 27.4.
Окно IPR (Интерактивный фотореалистичный рендер) показывает свечение, полностью покрывающее кольцо. Нерегулярность свечения обусловлена наложением текстуры Checker

Рис. 27.5.
Затемняем белый цвет текстуры Checker. Свечение рендерится только там, где отсутствует черный цвет
До настоящего времени проекция работала по всему объекту. Она покрывала все кольцо целиком. Для того чтобы заставить проекцию работать локально, нам следует глубоко погрузиться в логику функциональных узлов. В окне Hypershader откройте вкладку Work Area (Рабочая Область). Щелкните правой кнопкой мыши либо используйте пиктограмму вверху окна Hypershader для отображения иерархии материала Blinn (его входные и выходные связи). Наведя курсор на линии связи между функциональными узлами, вы увидите, к примеру, что projection1, функциональный узел проекции, отправляет значения полутонов (информацию об альфа-канале) параметру Glow Intensity (Интенсивность Свечения) шейдера Blinn (рис. 27.6).

Рис. 27.6.
Иерархическая структура материала кояьца. Проекция сквозь распределение полутонов (альфа) функционального узла checkerl определяет интенсивность свечения [Узел (node) - это элемент функциональной архитектуры Мауа - графа зависимостей (dependency graph), - в котором происходит обработка и преобразование данных (чисел, массивов, матриц и так далее). Автор использует термин "logic node" для обозначения элементов иерархической структуры материала в окне Hypershade (shader network).
Это частный случай графы зависимостей, поэтому (чтобы не путать с узлами, осуществляющими логические операции над данными) мы будем использовать наиболее близкий по смыслу термин "функциональный узел". - Примеч.ред. ].
В окне Attribute Editor (Редактор Атрибутов) логического узла projection] измените следующие три установки:
Смените тип проекции с Normal (Обычная) на Cylinder (Цилиндр) [Видимо, опечатка в оригинале. Среди типов проекции нет Normal, при создании по умолчанию выбирается тип проекции Planar (Плоскопараллельная), поэтому смените тип проекции с Planar (Плоскопараллельная) на Cilindrical (Цилиндрическая). - Примеч. ред. ].
В секции Color Balance (Баланс Цвета) установите Default Color (Цвет по Умолчанию) на Black (Черный).
В секции Effects (Эффекты) отключите параметр Wrap (Обернуть) (рис. 27.7).

Рис. 27.7.
Три изменения в окне Attribute Editor (Редактор Атрибутов) проекции локализуют эффект свечения
Параметр Wrap (Обернуть) заставляет текстуру охватить весь объект (или периодически повторяться по всему объекту)- Когда он дезактивирован, текстура Checker (или любая другая) работает только там, где нам это нужно, - и нигде больше [При выключенном атрибуте wrap текстура проецируется только внутрь текстурной решетки (в нашем случае это зеленый цилиндр), при включенном атрибуте wrap - и внутрь, и наружу. - Примеч. ред. ]. В тех областях объекта, где материал не находит никакой информации о текстуре, он использует Default Color (Цвет по Умолчанию). Мы хотим, чтобы наш материал был черным везде, где нет свечения, и светло-серым или даже белым там, где оно должно быть.
Если вы заглянете в перспективное окно, то увидите зеленый, наполовину скрытый каркас цилиндра в центре сцены (рис. 27.8). Этот объект называется placeSDtexturel, и он не рендерится. Его задача заключается в том, чтобы определять, где должно появиться свечение, а где - нет. Поскольку в настоящее время он расположен в середине кольца, окно IPR (Интерактивный фотореалистичный рендеринг) не показывает нам никакого свечения.

Рис. 27.8. При отключенном параметре Wrap (Обернуть) кольцо светится только там, где его касается зеленый объект placeSdTexture

Рис. 27.9. Окно IPR (Интерактивный фотореалистичный рендеринг) показывает локальное действие оттекстурированного Checker свечения. Справа: манипулятор управления узлом размещения
Окно рендеринга показывает желаемый эффект свечения только в запланированных областях кольца. Для более аккуратного применения локального свечения попробуйте другие манипуляторы значка текстуры.

Рис. 27.10. Перемещаем опорную точку узла расположения текстуры в центр кольца
Анимируйте параметр вращения placeSDtexturel с помощью ключевых кадров либо выражений так, чтобы свечение обошло кольцо несколько раз (рис. 27.11).

Рис. 27.11.
Простое математическое выражение определяет равномерное непрерывное вращение свечения вокруг кольца
Если вас не устраивает текстура Checker, а свечение кажется чересчур слабым, задайте обоим цветам текстуры Checker одинаковое - и может более яркое - значение серого тона. Если вы хотите сменить цвет (или другие свойства) самого свечения, откройте Hypershader ц дважды щелкните по узлу ShaderGlowl. Этот узел - а не шахматная текстура - определяет внешний вид свечения. Если вы хотите вернуться к компоновке окон Four View, используйте новые пиктограммы Мауа 4 в нижней левой панели экрана.

Рис. 27.12.
Возвращаемся к знакомой компоновке окон Four View

Рис. 27.13.
Анимация свечения вдоль более сложной поверхности. Здесь объект расположения текстуры присоединен к пути вдоль поверхности, поэтому свечение в точности следует ее форме
А теперь кое-что новенькое. Приходилось ли вам использовать среднюю кнопку мыши для перемещения по временной шкале в анимации?
Подсказки при использовании в
Для работы с двухмерной графикой я бы посоветовал использовать такую компоновку окон, где справа располагается периодически обновляемое IPR (Интерактивный фотореалистичный рендеринг) - изображение перспективной камеры, а слева окно модуля Paint Effects (Эффекты Рисования).При рисовании на холсте (в 2D) команда Undo (Отменить) (клавиша Z) не работает. Paint Effects (Эффекты Рисования) являются довольно устойчивым программным модулем, и сохранение (под разными именами) было бы неплохой привычкой. Команда Save (Сохранить) для двухмерных изображений также находится в меню Canvas (Холст).
Кроме того, в меню Canvas (Холст) вы найдете команду Auto Save (Автосохранение). Когда она активизирована, Мауа сохраняет каждый штрих, а вы немедленно можете видеть эффект в перспективном и IPR (Интерактивный фотореалистичный рендеринг) окне.
Во время работы с холстом используйте опции навигации клавиши Alt, например, чтобы получить увеличенное изображение и рассмотреть детали.
Очень полезным инструментом (стандартным для двухмерных приложений) является пипетка. Она отсутствует в окне Paint Effects (Эффекты Рисования). Найти ее можно через Color Chooser (Выбор Цвета), который всегда открывается, если щелкнуть мышкой в поле цвета рядом с буквой С в заголовке окна Paint Effects (Эффекты Рисования).
Рядом с буквой С находится буква Т, которая определяет прозрачность текущей кисти. Выберите светло-серый для легкого нанесения цвета и черный, если вы хотите работать непрозрачной кистью, покрывая все изображение краской.
Быстро сменить размер кисти можно, нажав клавишу В. Держите ее, и нажав левую кнопку мыши, двигайте мышь вправо, чтобы увеличить, либо влево, чтобы уменьшить ширину штриха.
Активно используйте кисти, особенно двухмерные, большой набор которых содержится в секциях Oil (Масляные Краски) и Watercolor (Акварель). Хотя трехмерные кисти тоже очень красивы, помните, что с собой они приносят устойчивое поведение освещения. Когда вы применяете их на трехмерном объекте, вы получите неверное освещение.
Это обусловлено тем, что внутреннее освещение кисти смешивается с трехмерным освещением вашей сцены.
Wrap Canvas (Обернуть) - это очень полезный эффект, который доступен через значок с двумя стрелками в заголовке окна Paint Effects (Эффекты Рисования). Он имитирует постоянно повторяющиеся обои, поэтому, когда вы используете кисть с одной стороны холста, рисунок повторяется с другой. Это особенно важно для текстур, применяемых к поверхностям без края, таким, как сфера и тор.
Заметьте, что при рисовании в 2D вы можете использовать цветные изображения и в качестве карты цвета зеркального отражения либо для эффекта Bump Map (Карта Рельефа) (см. рис. 28.10).

Рис. 28.10.
Текстуру цвета можно также использовать в качестве эффекта Bump Map (Карта рельефа). Там, где присутствуют светлые тона, геометрия немного выпячивается
А теперь кое-что новенькое. Приходилось ли вам в режиме перемещения, нажав клавишу CTRL, щелкать мышкой по голубой стрелке перемещения?
Спасательный круг и любовь
Как нарисовать шесть сердечек на расстоянии друг от друга на надувном спасательном круге?
Тема:
Рендеринг.
Используемые техники и инструменты:
3D Paint Tool (Инструмент Трехмерного Рисования), Paint Effects (Эффекты Рисования).
Раньше программное обеспечение, позволявшее рисовать на трехмерных объектах, было очень дорогим. В версии Мауа 3 оно стало доступнее, а в Мауа 4 это вообще не проблема: трехмерное рисование теперь полностью интегрированно в программное обеспечение. С помощью инструмента 3D Paint Tool (Инструмент Трехмерного Рисования) вы даже можете использовать кисти модуля Paint Effects (Эффекты Рисования), для того чтобы рисовать непосредственно на NURBS или полигональной поверхности.
Однако рисование непосредственно по трехмерной геометрии всегда имеет ряд ограничений, в особенности это касается мелких деталей. Гораздо проще - и, конечно, точнее - рисовать с помощью инструментов двухмерного рисования. Поэтому здесь мы используем процедуру, которая объединит возможности трехмерного рисования с мощью двухмерного рисования.
Вот что мы сделаем: нанесем грубую трехмерную текстуру прямо на объект, а затем детализируем ее в режиме 2D модуля Paint Effects (Эффекты Рисования). Результат мы увидим сразу же в окне IPR (Интерактивный фотореалистичный рендеринг). Объектом рисования будет тор (давайте назовем его спасательным кругом), который мы раскрасим шестью сердечками.
Создайте NURBS-тор. Увеличьте его радиус до 5 и уменьшите height ratio (отношение радиусов сечения и образующей окружностей) до 0,3.
Наложите на тор новый материал.
Выделите тор.
Переключитесь на рендеринг (F5) и вызовите инструмент рисования в 3D. Выберите Textures / 3D Paint Tool (Текстур / Инструмент Трехмерного Рисования). Использование этого инструмента может быть осмысленным только с открытым окном настроек.
Наложите файловую текстуру на спасательный круг. Для этого следует щелкнуть мышкой на Assign Texture (Назначить Текстуру) в секции File Textures
(файловая текстура) окна 3D Paint Tool (Инструмент Трехмерного Рисования).
В открывшемся окне задайте текстуре размер 512x512 пикселей (рис. 28.1).
В окне 3D Paint Tool (Инструмент Трехмерного Рисования) уменьшите Radius (U) (Радиус (U), выберите цвет и нанесите шесть точек в шести различных местах на спасательном круге (рис. 28.2).

Pис. 28.1.
Top готов к раскрашиванию. Окно 3D Paint Tool (Инструмент Трехмерного Рисования) запрашивает размер текстуры. 512x512 пикселей - это необходимый минимум (в нашем случае)

Рис. 28.2.
Рисуем в 3D. Нанесем на спасательный круг шесть точек, которые позже станут сердечками
Ровной тонкой кистью другого цвета нарисуйте стрелки, указывающие вверх от точек (рис. 28.3). Впоследствии в двухмерном изображении это облегчит вам задачу определения местоположения вершины сердечек.

Рис. 28.3.
Стрелки, нарисованные тонкой кистью, указывают наверх
Сохраните сцену.
На этом этапе очень важно сохраниться. Впоследствии Мауа сохранит нарисованную вами текстуру, находящуюся в настоящее время в оперативной памяти компьютера, в папку ваших проектов на жесткий диск. Мауа использует имя сцены при генерации имени картинки.
В окне инструмента 3D Paint Tool (Инструмент Трехмерного Рисования) щелкните мышкой на Save Textures (Сохранить Текстуру). Возьмите на заметку текст в строке Command Feedback (Результат выполнения команды) справа внизу окна Мауа.
Здесь вы увидите имя, под которым сохранена текстура файла. В текущем проекте вы найдете папку с именем 3dPaintTextures. В ней содержится папка с именем вашей сцены, а внутри нее - картинка с именем nurbsTorusShapel_color.iff. Если вы откроете этот файл с помощью утилиты fcheck, то увидите изображение, похожее на то, которое вы нарисовали на спасательном круге в режиме 3D. Однако точки и стрелки очень странно расположены по отношению друг к другу (рис. 28.4). Если бы вы нарисовали две окружности сверху и снизу круга, вы бы сейчас увидели две прямые вертикальные линии в двухмерном изображении. Эти особенности, которые могут озадачить начинающих, давно знакомы экспертам по текстурированию и могут легко объединить двухмерный и трехмерный миры.

Рис. 28.4.
Что общего у этой картинки с нанесенной нами трехмерной текстурой? Много!
При работе с полигональными объектами преобразование текстуры происходит в двумерном пространстве, то есть просто плоские преобразования картинки. Работая с NURBS-поверхностями, мы должны придерживаться общей структуры их UV-координат и не можем изменять детали на локальном геометрическом уровне. Что мы можем сделать на этом этапе - и сделаем, - это загрузить двухмерное изображение в модуль Paint Effects (Эффекты Рисования) и поработать над ним там. Это позволяет работать с деталями.
Нажмите клавишу 8 для переключения в модуль Paint Effects (Эффекты Рисования).
Переключитесь с Paint / Paint Scene (Рисовать / Рисовать Сцену) (трехмерное рисование) на Paint / Paint Canvas (Рисовать / Рисовать Холст) (двухмерное рисование).
Выберите Canvas / Open Image (Холст / Открыть изображение), для того чтобы открыть файл текстуры (см. рис. 28.5).

Рис. 28.5.
Рисуем в 2D, используя Paint Effects (Эффекты Рисования). Самые важные кнопки в заголовке окна: а) новая кисть; б) "обертывающая текстура" опция, позволяющая "склеить" верхний и нижний край (или правый и левый края) текстуры для получения бесшовной картинки; в) меняет цвет; г) меняет прозрачность
Перерисуйте изображение с помощью Paint Effects (Эффекты Рисования). Вместо точек нарисуйте сердечки. Используйте стрелки для ориентирования (см. рис. с 28.6 по 28.9).

Рис. 28.6.
Первая попытка. Сердечки нарисованы красной масляной краской, голубой цвет принесен одной из кистей Clouds (Облака) модуля Paint Effects (Эффекты Рисования)

Рис. 28.7.
Добавьте пару трехмерных подсолнухов на плоский холст

Рис. 28.8.
В отрендеренном изображении сердечки выглядят слишком широкими, а подсолнухи - растянутыми

Рис. 28.9.
Вторая попытка. Слева - двухмерное изображение с сердечками, специально растянутыми в длину, и четкой структурой линий. Эти структуры сохраняют четкость и в отрендеренном изображении (справа), где сердечки приобретают обычные пропорции
Волшебные линзы
Как создать строчку букв, движущихся перед линзой с изменяющимся коэффициентом преломления? [Для того чтобы происходило искажение букв, линза, как и увеличительное стекло в реальном мире, должна находиться между камерой и буквами. То есть мы должны смотреть на наш текст сквозь линзу, для того чтобы получить заявленный эффект. - Примеч. ред.]
Тема:
Рендеринг.
Используемые техники и инструменты:
Text (Текст), Raytracing (Трассировка Лучей), Refractive Index (Коэффициент Преломления).
Летящие надписи [Flying logos - направление в дизайне анимации надписей и логотипов, основанное на пространственном движении, как правило, объемных элементов финальной композиции. - Примеч. ред. ] - это, конечно, уже прошлое, однако изящно анимированный двумерный тест всегда радует глаз. Впечатляющих эффектов можно достичь путем анимации объектов (а не только букв), движущихся перед линзами. Еще более интересные структуры можно получить, если линзы меняют коэффициент преломления и ведут себя так, словно они резиновые.
Для рендеринга преломленного света мы должны отбросить обычную процедуру рендеринга Мауа и переключиться на Raytracing (Трассировка Лучей). Raytracing (Трассировка Лучей) испускает бесчисленное число цифровых лучей в трехмерную сцену, вычисляет, как эти лучи отражаются либо преломляются поверхностью, которой они достигают, и в результате длительных вычислений получается изображение, гиперреалистически четкое и детализированное.
Выберите Create / Text (Создать / Текст) и, используя окно настроек, создайте надпись тем шрифтом и размером, каким вам заблагорассудится (см. рис. 29.1). Поскольку мы будем рендерить буквы, не просто создайте кривые, но активизируйте опцию Trim (Вырезать) для NURBS-поверхностей или Poly (для полигональных поверхностей).
Буквы появятся в сцене как сгруппированные друг с другом объекты. Вы можете удалить кривые, по которым был создан текст, и добавить буквам цвет.
Добавьте в сцену сферу и отмаштабируйте ее так, чтобы она стала почти плоской и приняла форму линзы.
Присвойте линзе шейдер Lambert (см. рис. 29.2).

Рис. 29.1.
Создание текста: мы набираем ничего не значащую фразу "r@ytrace moi!", используя шрифт Courier New

Рис. 29.2.
Щелкните правой кнопкой мыши по линзе и, используя контекстное меню, присвойте ей материал Lambert. Текст получил процедурную текстуру
Создайте новую камеру. Для этого выберите Create / Cameras / Camera (Создать / Камеры / Камера) либо щелкните мышкой по пиктограмме камеры.
Выделите линзу, а затем и камеру и нажмите клавишу Р.
Клавиша Р делает камеру родительским объектом по отношению к линзе. ("Очень удобно", - шутит мой друг кинематографист, который меняет объективы различных камер каждый день.)
Немного подвиньте линзу вперед, подальше от камеры. Посмотрите сквозь камеру (рис. 29.3).

Рис. 29.3.
Линза расположена перед камерой. Когда вы смотрите через камеру в окне моделирования, то видите серую стену
Камера направлена на серую линзу, а потому не видит букв.
Откройте Attribute Editor (Редактор Атрибутов) для шейдера Lambert линзы и передвиньте ползунок Transparency (Прозрачности) до конца вправо.
Это сделает линзу (видимую в окнах моделирования и рендеринга) полностью прозрачной.
Процедура Raytracing (Трассировка Лучей) предполагает два этапа. Во-первых, следует сообщить материалу, что он будет принимать участие в трассировке лучей. Сделав это, определите, какие именно объекты (либо, если быть более точным, какие материалы) будут задействованы в длительном рендеринге, а какие не будут. Во-вторых, вам придется активизировать опцию Raytracing (Трассировка Лучей) в окне Render Globals (Глобальные Настройки Рендеринга).
Откройте Attribute Editor (Редактор Атрибутов) шейдера Lambert и в секции Raytrace Options (Настройка Трассировки Лучей) активизируйте параметр Refractions (Преломления) (см. рис. 29.4).
Откройте окно Render Globals (Глобальные Настройки Рендеринга). В секции Raytracing Quality (Качество Трассировки Лучей) включите Raytracing (Трассировка Лучей).
При рендеринге результата сквозь камеру (к сожалению, IPR (Интерактивный фотореалистичный рендеринг) не работает с трассировкой лучей) буквы фразы не будут деформированы (рис. 29.5). Это происходит потому, что Refractive Index (Коэффициент Преломления) линзы установлен на 1, что означает, что все лучи, исходящие от букв и проходящие через линзу в камеру, остаются неизмененными.

Рис. 29.4.
Слева: окно Hypershader. Справа: атрибуты материала линзы. Параметр Transparency (Прозрачность) установлен на Full (Полная), а способность преломлять свет включена

Рис. 29.5.
Raytracing (Трассировка Лучей) без преломления лучей. Значение Refractive Index (Коэффициент Преломления) линзы по умолчанию установлено на 1
В окне Attribute Editor (Редактор Атрибутов) шейдера Lambert измените значение параметра Refractive Index (Коэффициент Преломления) с 1 на большее значение, например 1,3.
Снова отрендерите сцену.

Рис. 29.6.
Текст, отрендеренный со значением параметра Refractive Index (Коэффициент Преломления) 1,3
Теперь вы можете видеть эффект преломленного света (см. рис. 29.6).

Рис. 29.7.
Загадочные двухмерные фигуры, полученные путем увеличения значения параметра Refractive Index (Коэффициент Преломления) линзы. Только буквы справа от линзы остались неизмененными
Измените местоположение камеры и поварьируйте значение параметра Refractive Index (Коэффициент Преломления) линзы (см. рис. 29.7). Попробуйте также изменить расстояние от линзы до камеры.
Перед тем как вы передвинете линзу, которая расположена в системе координат камеры, дважды нажмите на пиктограмму инструмента перемещения либо откройте его окно настроек. В окне настроек выберите режим Object mode (Объектный режим). Обычно вы передвигаете объекты по сцене в режиме World mode, который использует систему координат, параллельную осям XYZ сцены.
С этого момента вы обладаете широкими возможностями анимации движущихся надписей. Вы можете двигать буквы перед камерой либо анимировать движение камеры перед буквами.Что особенно важно, вы можете даже анимировать параметр Refractive Index (Коэффициент Преломления) (рис. 29.8). Для этого можно использовать окно Channel Box (Окно Каналов). Щелкните правой кнопкой мышки по словам Refractive Index (Коэффициент Преломления) и установите ключ. Значения выше 1 делают линзу увеличительным стеклом. При еще больших значениях изображение переворачивается вверх ногами.

Рис. 29.8.
Анимация преломляющей линзы. Значения параметра Refractive Index (Коэффициент Преломления) линзы сверху вниз: 0.3, 0.8,1.0,1.2,1.5, 2.0,2.3
А теперь кое-что новенькое. Приходилось ли использовать пункт меню Optimize Scene (Оптимизировать Сцену) для наведения порядка в сцене ?
Китайский иероглиф Жи
Как создать анимацию каллиграфической кисти, рисующей Жи - китайский иероглиф, обозначающий "машина"? [С благодарностью Ли-юн Бауер-Сиех и Хуанг Сонг.
]
Тема:
Рендеринг.
Используемые техники и инструменты:
Paint Effects (Эффекты Рисования), Clip (Клип), Trax Editor (Редактор Дорожек).
Основное различие между существовавшими ранее способами цифрового рисования и Maya Paint Effects (Эффекты Рисования) заключается в том, что в обычных пакетах рисования штрих неподвижен, в то время как законченный штрих модуля Paint Effects (Эффекты Рисования) может быть впоследствии изменен, настроен и - да! - анимирован. Просто взгляните на набор атрибутов (на которые можно устанавливать ключевые кадры) обычного чернильного штриха в Мауа - это поразительно!
В этом уроке мы создадим анимацию одного-единственного китайского иероглифа, Жи (машина). Китайское слово, обозначающее космический челнок, например, тоже содержит букву Жи. Космический челнок - это taikong chuan suoji - машина-челнок, проникающая в космос (рис. 30.1). Жи - последний символ в этом термине - в настоящее время пишется достаточно просто, в соответствии с современной системой написания букв (см. рис. 30.2).

Рис. 30.1. "Космический челнок" по-китайски: "проникающая сквозь космическое пространство машина-челнок". Последний справа знак представляет собой аббревиатуру, современный способ написания Жи (машина)

Рис. 30.2.
Рисование иероглифа Жи традиционной каллиграфической кистью
Однако исходный иероглиф, которому уже тысяча лет, гораздо более сложен (см. рис. 30.3). Он состоит из четырех частей: слева (штрихи с 1 по 4) древесина; вверху (штрихи с 5 по 10) два челнока ткацкого станка или дверного замка обозначают подвижные механические части; снизу в середине (штрихи с 11 по 13) человек; и наконец, большая структура, проходящая через всю правую сторону иероглифа (штрихи с 14 по 16), оружие. Если это прочитать как предложение, то мы получим примерно следующее: "Движущиеся механические деревянные части, которые помогают человеку сражаться".
В искусстве каллиграфии порядок и направление нанесения каждого штриха играют очень важную роль. Поскольку это динамический процесс, описание его на статичной бумаге, используя цифры и стрелки, как на рисунке 30.3, не совсем подходящий способ. Однако с помощью анимации эта информация может быть выражена в сжатой и интуитивно понятной форме. Мы воспользуемся каллиграфической кистью и проанимируем штрихи после того, как нарисуем их (если у вас есть графический планшет, используйте его!). Анимацию отдельных штрихов легко будет скоординировать между собой, используя нелинейную анимацию и Trax Editor (Редактор Дорожек).

Рис. 30.3.
Древняя классическая форма иероглифа Жи. Красными стрелками показан алгоритм его каллиграфического исполнения
Создайте NURB S -поверхность.
Увеличьте ее на 3 единицы.
Переключитесь на Рендеринг, нажав F5.
Подготовьте (выделенную) поверхность к рисованию. Выберите Paint Effects / Make Paintable (Эффекты Рисования / Сделать раскрашиваемым).
Этими шагами мы создали поверхность и приготовили ее к работе с каллиграфической кистью, которую и выберем сейчас.
Нажмите клавишу 8. Вы вошли в модуль Paint Effects (Эффекты Рисования).
Нажмите на пиктограмму Get Brush (Взять Кисть). Открывается окно Visor.
В окне Visor откройте папку pens (ручки).
Щелкните по кисти с названием calligraphic.mel (см. рис. 30.4).

Рис. 30.4.
Щелкнув по пиктограмме Get Brush (Взять Кисть) в окне Paint Effects (Эффекты Рисования), мы открыли окно Visor. Каллиграфическая кисть находится в папке pens (ручки)
Закройте окно Visor.
Нарисуйте на бумаге 16 штрихов, формирующих иероглиф Жи, в соответствии с иллюстрацией на рисунке 30.3. По возможности точно следуйте цифрам и стрелкам. Пусть это займет немного вашего времени (рис. 30.5).

Рис. 30.5.
Каллиграфия с использованием модуля Paint Effects (Эффекты Рисования)
Выйдите из модуля Paint Effects (Эффекты Рисования), снова нажав клавишу 8.
В перспективном окне вы видите каллиграфические штрихи в виде кривых на поверхности (см.
рис. 30.6). В окне Outliner ( Схема сцены) мы видим индивидуальные кривые как список объектов. В окне Channel Box (Окно Каналов) в секции strokeShape Calligraphic мы видим атрибут Max Clip (Максимальный Клип). Это - решающий атрибут для нашей анимации. Если мы уменьшим его значение, то укоротим штрих. В самом низу секции мы видим атрибут Primary Visibility (Первичная Видимость), который позволяет исключить штрих из процесса рендеринга.

Рис. 30.6. Слева изображены 16 штрихов в скромном представлении перспективного окна. В середине окно Outline! (Схема сцены), содержащее полный список штрихов. Справа окно Channel Box (Окно Каналов). В нем отмечены два решающих атрибута для анимации штрихов: Max Clip (Максимальный Клип) и Primary Visibility (Первичная видимость)
Давайте теперь расположим ключевые кадры для всех штрихов так, что они станут невидимыми в начале анимации, просто установив значение атрибута Primary Visibility (Первичная Видимость) в off (выключен). Кадром позже они снова все станут видимым (атрибут Primary Visibility (Первичная Видимость) включен) и встанут в начало своего пути (Max Clip (Максимальный Клип) 0). В конце анимации они все достигнут конца пути и появятся полностью прорисованными (Max Clip (Максимальный Клип) 1).
Задайте длину анимации 200 кадров.
Идите в начало анимации.
Выделите все штрихи в окне Outliner (Схема сцены).
В окне Channel Box (Окно Каналов) перечислены атрибуты всех выделенных штрихов, однако показаны только те, которые относятся к последнему выделенному штриху (рис. 30.7). Поэтому не беспокойтесь об этом.

Рис. 30.7.
Многоточие после имени штриха в окне Channel Box (Окно Каналов) указывает на то, что это не единственный объект, выделенный в настоящее время
В окне Channel Box (Окно Каналов) наберите слово off в поле Primary Visibility (Первичная Видимость). Щелкните правой кнопкой мыши по словам Primary Visibility (Первичная Видимость) и установите ключ для выделенного параметра.
Перейдите на кадр вперед.
Включите Primary Visibility (Первичная Видимость) (набрав в ее поле on) и установите ключевой кадр.
Уменьшите значение Max Clip (Максимальный Клип) с 1 до 0 и установите ключевой кадр.
Идите в конец анимации.
Введите значение 1 для Max Clip (Максимальный Клип) и установите последний ключевой кадр.
Теперь для каждого из 16 штрихов установлено по три ключевых кадра. При рендеринге анимации вы увидите в начальном кадре чистый лист бумаги (рис. 30.8). Отрендерив следующий кадр, вы увидите первые точки штрихов (см. рис. 30.9). Если вы воспроизведете всю анимацию, то увидите, что штрихи появляются равномерно и одновременно и достигают своей окончательной длины в самом конце (см. рис. 30.10). Если какой-то штрих нарисован в неверном направлении, вы можете исправить это сейчас, изменив значение Max Clip (Максимальный Клип) с 1 до 0, вместо с 0 до 1 и задав значение 1 атрибуту Min Clip (Минимум клипа).

Рис. 30.8.
Отрендеренная анимация в кадре О

Рис. 30.9.
Отрендеренная анимация в кадре 100. Все штрихи прорисовываются одновременно

Рис. 30.10.
В кадре 200 все штрихи достигли конечной длины одновременно
Теперь время тайминга! [Timing - термин, используемый в анимации. Он не имеет прямого аналога в русском языке и означает распределение анимационных событий во времени. В зависимости от контекста его можно переводить как хронометраж или темпо-ритм. - Примеч. ред] (Кто сказал "время дорожек"?) Нет ничего лучше для изменения тайминга, чем нелинейная анимация. Эта наиболее прямой способ. Сначала мы преобразуем всю анимацию в клипы, затем отмасштабируем их и поместим их в Trax Editor (Редактор Дорожек) для подбора наилучшего тайминга. Если ваша версия Мауа не поддерживает нелинейную анимацию, используйте Dope Sheet (Монтажный Стол) для финальных шагдв.
Штрихи, перечисленные в окне Outliner (Схема сцены), в действительности не содержат ключевых кадров, которые мы только что установили. Если попробовать преобразовать их в клипы, программа ответит сообщением об ошибке, произошедшей из-за отсутствия данных об анимации. В окне Outliner (Схема сцены) мы видим только информацию о кривых.
Информация о форме штрихов, называемая strokeShapes, находится в функциональных узлах под кривыми. Поэтому преобразовывать сейчас мы будем не штрихи, а форму штрихов.
В окне Outliner (Схема сцены) либо в перспективном окне выделите первый штрих. Нажмите клавишу Down Arrow (Стрелка Вниз), для того чтобы спуститься на один шаг в иерархии, к формам.
Переключитесь в меню Animation (Анимация) (клавиша F2).
Выберите Animate / Create Clip (Анимация / Создать Клип). Это конвертирует ключевые кадры выделенного объекта в клип.
Выделите второй штрих, снова нажмите клавишу Down Arrow (Стрелка Вниз), затем G (для того, чтобы повторить последнюю команду). В строке Command Feedback (Результат выполненной команды) появится сообщение о том, что Мауа только что создала clip2.
Повторите процедуру для каждого из оставшихся штрихов. Через минуту или около того вы получите 16 клипов.
При воспроизведении анимации вы не увидите ничего нового. Все штрихи, длинные или короткие, появляются одновременно в течение 200 кадров. Единственное изменение заключается в том, что временная шкала больше не показывает ключевые кадры. Теперь все они собраны в компактные полоски, одна под другой в окне Trax Editor (Редактор Дорожек), где мы легко можем ими манипулировать.
Выберите Window / Animation Editors (Окно / Редакторы Анимации), для того чтобы открыть окно Trax Editor (Редактор Дорожек) (рис. 30.11).

Рис. 30.11.
Окно Trax Editor (Редактор Дорожек), где все данные анимации собраны в полоски. Каждая из них начинается в кадре 0 и заканчивается в кадре 200
Выделите все клипы. Дважды щелкните мышкой по одному из них.
Это переносит все параметры выделенных клипов в окно Channel Box (Окно Каналов). Теперь мы укоротим длину полосок.
В окне Channel Box (Окно Каналов) уменьшите Scale (Масштаб) всех штрихов, введя значение 0,2.
Это укоротит клипы до 1/5 их начальной длины. В нашем случае это означает меньше двух секунд вместо восьми (пересчитанные по системе PAL или кинематографической системе).
Измените положения клипов в окне Trax Editor ( Редактор Дорожек) так, чтобы один следовал за другим (рис. 30.12). Используйте стандартные возможности навигации клавиши ALT.

Рис. 30.12. Укорачиваем и перемещаем клипы прямо как в программе цифрового видеомонтажа
При воспроизведении анимации (вам, возможно, придется расширить диапазон воспроизведения) вы увидите результат своих нелинейных манипуляций. Появляется первый штрих. Когда он закончен, начинает появляться второй и т.д.
Если вы создаете эту анимацию для учебного пособия, типа интерактивного CD-ROM, вам, возможно, придется дополнительно ее подредактировать. Например, нелишним было бы немного отделить во времени начертание каждой из четырех частей иероглифа Жи. Или, например, выделить коротким штрихам меньше времени, чем длинным, для достижения конечной длины. Вы также можете анимировать поверхность, на которой все это происходит, и наложить на нее текстуру бумаги. Эта текстура не зависит от каллиграфических штрихов. Вы можете даже изменить (или анимировать) вид некоторых штрихов, открыв для них Attribute Editor (Редактор Атрибутов). Например, можете попробовать задать атрибуту Gap Size (Размер Пробела) значение 0,7 (см. рис. 30.13).

Рис. 30.13.
Штрих 14 с измененным цветом и значением пробела

А теперь кое-что новенькое. Приходилось ли вам нажимать правую кнопку мыши на временной шкале?
Сайт: Аннимация - Видео - Графика
- Анимация на сайте
- Графика на сайте
- Фотография на сайте
- Кино на сайте
- Flash на сайте
- Видео для сайта
- Premiere Pro
- Vstudio
- VirtualDub
- Sonic Scenarist
- DVD
- Изображения для сайта
- Пакет Photoshop
- Adobe Illustrator
- Adobe Illustrator
- CorelDRAW
- CorelXARA
- Maya