| Иллюстрированный самоучитель по Maya для начинающих |
|
|
| 14.12.2007 г. | |||||||||
Страница 4 из 7 Пожалуйста, переверните страницу Как перевернуть страницу трехмерной книги? Тема:
Используемые техники и инструменты: ЕР Curve Tool (Построение кривой по редактируемым точкам), Loft (Построение поверхности по сечениям). Первый урок, кстати, самый простой в этой книге. Может быть, задача переворачивания страницы трехмерной книги покажется вам банальной и даже скучной. Я думал точно так же, пока не предложил это задание десяти студентам университета в классе 3D анимации. Я дал им 30 минут на то, чтобы смоделировать лист бумаги и перевернуть его справа налево. Некоторые студенты уже занимались трехмерной анимацией в свободное время, другие подрабатывали Веб-дизайном. Все они были хорошо знакомы с интерфейсом Мауа. Однако через полчаса никто из них не смог сконструировать изгибающуюся в процессе перелистывания страницу книги. Лучшим результатом была выпуклая страница, которая проникала в корешок книги, поскольку ее кривизна не менялась во время переворачивания. Некоторые студенты пытались решить проблему с помощью Soft Body Dynamics (Динамики Мягкого Тела), один студент даже использовал Maya Cloth (Maya Ткани); они просто не смогли справиться с задачей, используя базовые приемы моделирования. Поэтому, если вы все еще считаете этот урок простым, возьмите и сконструируйте страницу на вашем компьютере. И не переворачивайте страницу этой книги, пока не перевернете трехмерную страницу в Мауа. Для выполнения этой задачи вам не нужно иметь дело со скучным и утомительным выделением и перемещением CV (контрольных вершин) кривых. Не потребуется также Soft Body Dynamics (Динамика Мягкого Тела). Существует несколько возможных решений этой задачи, как и любой другой, но только некоторые из них изящно просты. Для нахождения этого решения сделайте шаг назад. Не думайте о моделировании страницы, сконцентрируйтесь на ядре проблемы, которым является анимация, а не моделирование. Эта анимация заключается в повороте страницы вокруг центральной оси книги, которая соединяет страницы между собой. Если вы начнете с использования, скажем, обычной NURBS-плоскости (сокр. от non-uniform, rational B-spline - неоднородный рациональный би-сплайн (геометрический примитив, широко используемый для описания кривых поверхностей) и попробуете повернуть ее вокруг оси, вам придется иметь дело с контрольными вершинами, для получения нужного изгиба страницы. Я не возражаю против такого способа. Однако знайте, что контрольные точки могут быть использованы только на завершающем этапе моделирования, и, как правило, для получения мелких изменений, но не в основных процедурах. Поэтому выполнение задачи необходимо начинать не с плоскости, а с кривых. Раз уж мы имеем дело с поворотом вокруг оси, давайте создадим 3 кривые, параллельные ей.
Заметьте, что опорные точки (pivot) всех кривых должны находиться в центре сцены, который также является центром нашей книги. Вы можете проверить это следующим образом: выделите кривые, затем перейдите в режим вращения или перемещения. Если опорная точка вращения находится не в центре, то, нажав клавишу Insert, переместите ее туда. Рис. 1.1. С помощью инструмента ЕР Curve Tool NURBS-кривые можно создать всего лишь двумя щелчками мыши Рис. 1.2. Три кривые для одной страницы книги
Рис. 1.3. Два ключевых кадра для кривых заставляют страницу переворачиваться
При воспроизведении анимации движение страницы может показаться немного замедленным, однако результат получен: страница переворачивается (рис. 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 (Схема сцены) в Окно Перспективы, используя среднюю кнопку мыши? Живая камера Как встряхнуть камеру, движущуюся слишком плавно? Тема:
Используемые техники и материалы:
Нелинейная анимация - это не более чем смещение по времени, изменение длительности и микширование анимационных данных: точно так же, как мы работаем с видео в любой монтажной системе. Совсем недавно в Мауа была добавлена техника Trax Editor (Редактор Дорожек) - новый великолепный инструмент анимации, который во многом заменяет собой Graph Editor (Редактор Анимационных Кривых) и Dope Sheet (Монтажный стол). Dope Sheet (Монтажный стол) идеален для перемещения ключевых кадров во времени. Graph Editor (Редактор Анимационных Кривых) незаменим для управления объектами до и после установки ключевых кадров. Но когда предварительно заданные, созданные ключевые кадры нужно передвинуть либо объединить между собой, наилучшей техникой является нелинейная анимация с помощью Редактора Дорожек (Trax Editor). Представьте, что вы только что создали анимацию плавного движения камеры, провели много времени, скрупулезно настраивая касательные ключевых кадров, для того чтобы камера двигалась быстрее. Затем приходит ваш клиент, говорит, что только что он видел один из тех экспериментальных фильмов «Dogma» из Дании, и просит вас сделать движение камеры немного грубее. Вместо безукоризненно плавного, типичного для трехмерной графики движения ему хочется видеть подрагивающую съемку, которая в целом повторяет путь движения вашей камеры, но выглядит, скажем, немного более импровизированно. Раньше вам бы пришлось открыть Graph Editor (Редактор Анимационных Кривых) и добавить дополнительные ключевые кадры для встряхивания камеры во время движения (рис. 2.1). Для того чтобы это получилось качественно, вам бы пришлось приложить массу усилий. Кроме того, работа оказалась бы неблагодарной: добавляя новые ключевые кадры в готовую анимацию, вы бы свели на нет плавность движений камеры. А если по окончании всего этого клиент пожаловался бы, что полученный результат чересчур уж в стиле Dogma, вам пришлось бы переделывать все с самого начала. С появлением нелинейной анимации вы получаете возможность представить вашему клиенту несколько версий более или менее трясущейся камеры практически немедленно, не нарушая ни единого ключевого кадра готовой анимации. Рис. 2.1. Плавное движение камеры к конусу. Я использовал команду Create Motion Trail (Создать След Движения), для того чтобы получить графическое представление пути движения с пронумерованными ключевыми кадрами
Рис. 2.2. Каналы анимации плавного движения камеры представлены в виде клипа в Trax Editor (Редактор Дорожек) Данные движения камеры теперь представлены в виде горизонтальной полоски на одной-единственной дорожке Trax Editor (Редактор Дорожек). Ее можно видеть в левой части Trax Editor (Редактор Дорожек): она принадлежит новому персонажу, который создан Мауа. Не будем сейчас заострять внимание на том, что он собой представляет, хотя следует отметить, что понятие персонажа весьма важно для анимации. Персонаж может объединять в себе разные параметры нескольких объектов, что делает анимацию сложных трехмерных существ, или систем, особенно эффективной. В нашем случае, однако, персонаж состоит не более чем из пары каналов перемещения и поворота камеры. Давайте дезактивируем данные о движении камеры в Trax Editor (Редактор Дорожек), убрав флажок с Enable Clip (Активировать Клип) в контекстном меню правой кнопкой мыши. Теперь камера будет находиться там, где вы ее оставили, что позволит вам заняться другими вещами. Данные анимации при этом не пропадут. Мы создадим короткую анимационную последовательность, в которой камера будет вздрагивать.
При воспроизведении анимации может показаться, что камера остается неподвижной в начале координат. На самом деле она довольно основательно трясется и поворачивается меньше чем за 1 секунду. Теперь мы преобразуем эти каналы в новый клип.
Рис. 2.3. Создайте клип подрагивающего движения камеры, используя окно Create Clip Option Box (Создать Клип Окно Настроек)
Когда вы воспроизведете анимацию, то увидите первоначальное движение камеры с подрагиванием в начале. Пусть ваша камера несколько кадров движется плавно, перед тем как ее начнет трясти. Для этого передвиньте клип дрожащего движения немного вправо. Рис. 2.4. Клип Shake из 20 кадров теперь в Trax Editor (Редактор Дорожек). Предыдущий неактивный клип теперь активирован Теперь камера начнет дрожать немного позже на пути к конусу. Скорее всего, эффект подрагивания получился слишком сильным. Давайте немного его смягчим. Для этого щелкните дважды по клипу Shake для появления его настроек в окне Channel Box (Окно Каналов). Попробуйте уменьшить значение Weight (Вес) с 1 до 0,2 (рис. 2.5). Рис. 2.5. Эффект подрагивания будет мягче, если уменьшить его Weight (Вес) Если вы захотите левой кнопкой мыши увеличить длину клипа на всю анимацию, она не растянется. Она зациклится [Здесь странная неточность: если подвести курсор мыши к правому нижнему углу клипа и попытаться потянуть за этот угол, то курсор превратится в «круговую стрелку» и анимация действительно будет повторяться, однако если попробовать потянуть за правый верхний угол клипа, то анимация как раз растянется да и курсор будет отображаться в виде правой стрелки. - Примеч. ред. ]. Кроме того, камера Dogma, о которой мечтает ваш клиент, не трясется все время на пути к желаемому объекту - у нее есть периоды плавного движения. В Trax Editor (Редакторе Дорожек) скопируйте клип Shake, используя правую кнопку мыши и команду Copy Clip (Копировать Клип). Для того чтобы вставить его, выберите Edit / Paste (Редактирование / Вставить). Вы увидите скопированный клип в новой, третьей дорожке. Передвиньте его на вторую дорожку, в ее середину. Дважды щелкните мышкой по клипу и, если его Вес все еще установлен на 1, смените это значение на ваш вкус. Вы можете увеличить продолжительность клипов Shake, изменив значение Scale (Масштаб) в окне Channel Box (Окно Каналов). Попробуйте значение 3 для одного из клипов. Это сделает его втрое длиннее первоначальной версии без повторов. Периоды подрагивания камеры, таким образом, не будут следовать немедленно один за другим. Скопируйте клип Shake в конец анимации. Теперь камера будет вздрагивать и после достижения конечной позиции. Когда вы воспроизведете анимацию, то увидите, что после 200-го кадра информация о плавном движении камеры больше не считывается. Зато последний клип подрагивания продолжает действовать, отсылая камеру в начало координат, то есть в то место, где он был создан. Этот скачок связан с абсолютными и относительными значениями перемещений. В Relative mode (Относительный режим) параметры трясущейся камеры не обрабатываются как таковые, а прибавляются к данным другого клипа. Щелкните правой кнопкой мыши в конце анимации и поставьте флажок на Relative Clip (Клип с относительными значениями перемещения) (рис. 2.6). Рис. 2.6. После кадра 200 камера считывает информацию только с клипов подрагивания, которые были созданы в начале координат, поэтому она отправляется прямо туда. Остановите ее путем установки Relative Clip (Клип с относительным значением перемещения) в параметрах трясущегося клипа. Теперь камера, достигнув конечной позиции, продолжает там же немного вздрагивать Вы можете применить эту команду и к другим клипам. Однако, если движение вздрагивания камеры было создано не в начале координат, а где-либо еще, вам придется установить для каждого из клипов на дорожке режим Relative mode (Относительный режим). С помощью нелинейной анимации вы создали очень послушную Dogma-камеру без потери данных первоначальной плавной анимации. И если ваш клиент снова передумает и захочет экстремально вздрагивающую камеру где-нибудь в середине анимации, вы уже знаете, что нужно делать, - просто измените один-единственный параметр. Редактор Дорожек так же гибок в применении, как окно редактирования видеофайлов в соответствующих монтажных системах. Так же как в видеоредактировании, вы можете использовать микширование клипов (см. главу 6). А теперь кое-что новенькое. Приходилось ли вам делать кости тоньше? Забавы со скручиванием Как изменить куб до неузнаваемости? Тема:
Используемые техники и инструменты:
Примером линейного деформирования может быть 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 (Изгиб).
Как и многие инструменты деформации, Изгиб не показывает вначале никаких изменений, но это не значит, что он не действует. Взгляните на его работу в режиме Wireframe mode (режим Каркас). Деформатор находится внутри куба.
Рис. 3.2. Куб подвергается воздействию деформатора Bend (Изгиб). Плавающее окошко справа - это меню нелинейных деформаторов Рис. 3.3. Три манипулятора заставляют куб изгибаться относительно угла Когда вы воспроизведете анимацию, куб изогнется по кривой, касательной пути его движения. После того как ваш куб обогнет угол, передвиньте манипулятор bend 1 так, чтобы куб двигался вдоль оси X, покидая область действия деформатора. Для этого вы также можете просто уменьшить значение Low Bound (Нижняя Граница) в окне Channel Box (Окно Каналов) до 0. Давайте попробуем другой деформатор.
Рис. 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 (Выпуклость).
Длина волны не только определяет частоту появления .волн, но также и то, каким наш куб входит и выходит из области действия деформатора. Длина волны 0,5 или 3,1 не кратна количеству полных колебаний, а следовательно, изменяет форму куба до и после деформации. Установите Wavelength (Длину Волны) sinel на целое число, например 1 или 2. Рис. 3.5. Синусоидальная деформация делает куб волнистым в одной плоскости
Самый важный параметр эффекта Squash (Сплющивание) - это его сила, или Factor (Множитель). В отличие от Flare (Выпуклость), которое сужает или расширяет определенные области объекта, не затрагивая остальные его .части, Squash (Сплющивание) старается сохранить первоначальный объем. Другими словами, когда Squash (Сплющивание) сжимает середину объекта, он увеличивает в размере внешние области и наоборот. Классическим примером может быть прыгающий мяч, который при соприкосновении с землей сжимается по вертикали и одновременно становится шире в горизонтальной плоскости. Отрицательный фактор Сжатия влечет эффект утолщения, что делает весь куб короче (рис. 3.6). Если вы выберете фактор сжатия 7, куб сожмется и вытянется одновременно. Start and End Smoothness (Начальное и Конечное Значения Сглаживания) дают вам возможность сделать эффект более или менее мягким. При значении 7 этот параметр позволит эффекту начать более мягко. Когда вас удовляетворят параметры Squash (Сплющивания), продвиньтесь немного вперед по временной шкале, и мы попробуем следующий деформатор. Рис. З.6. Сплющивание утолщает и укорачивает куб одновременно
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 - это анимация мимики лица. - Примеч. ред.) А теперь кое-что новенькое. Знаете ли вы, что получится, если щелкнуть правой кнопкой мыши во временной шкале? Зззвоним в звонок Как, нажав кнопку звонка, заставить его звенеть? Тема:
Используемые техники и инструменты:
Мауа, конечно, не воспроизводит звенящие звуки, но мы можем использовать ее возможности для создания ударника звонка, который будет вибрировать, ударяя по звонку. Мы также можем сконструировать кнопку звонка, нажатие которой заставит ударник вибрировать. Этот урок посвящен анимации и зависимостям. Он также о работе аниматора в команде, то есть подготовке сцены таким образом, чтобы она была абсолютно понятна коллеге, специализирующемуся на анимации персонажей. Мы также примем меры к сокращению, а именно спрячем все лишнее в сцене, что может отвлечь аниматора, работающего с 3D персонажем, который нажмет кнопку звонка, чтобы войти в дом. Сначала смоделируем четыре объекта: непосредственно звонок, ударник для звонка, кнопку и рамку для кнопки. Вы можете использовать NURBS-примитивы, поскольку этот урок не о сложном моделировании. Вся геометрия на рис. 4.1 была создана именно так. Основа звонка - это верхняя часть NURBS-сферы, немного сверху приплюснутая. Ударник состоит из NURBS-цилиндра, поверхность которого создана инструментом Square Tool (Квадрат) и Loft (Построение поверхности по сечениям) для создания объема [Ударник состоит из нескольких поверхностей. Во-первых, «пятачок» - это просто NURBS-цилиндр. Во-вторых, «ножка», которую автор строил следующим образом: сдублирована крайняя изопарма цилиндра, разрезана пополам. Получились две полуокружности. Одна полуокружность отодвинута. Далее концы раздвинутых полуокружностей соединены отрезками. По полученным четырем кривым построена боковая часть «ножки» с помощью Square Tool. Затем все четыре кривые были отдублированы и немного сдвинуты «по толщине». К «новым» четырем кривым вновь применяется Square Tool для получения второй боковой поверхности «ножки». Затем устраивается Loft между соответствующими парами кривых для получения толщины этой самой «ножки». - Примеч. ред. ]. Все части объекта были сгруппированы, для того чтобы не терять контакта при вращении. Рамка кнопки звонка была создана путем применения инструмента Round Tool (Округление) к NURBS-кубу. Сама кнопка - это отмасштабированная аналогично звонку половина NURBS-сферы. Давайте сначала поработаем над движением ударника. Рис. 4.1. Набор объектов: звенящее устройство со звонком, ударником, кнопкой и ее рамкой
Рис. 4.2. Опорная точка ударника сдвинута назад
Рис. 4.3. Выражение со случайной функцией заставляет ударник вращаться между -0,5 и 0,5 градусами
Ударник теперь вращается случайным образом между минус полградуса и плюс полградуса относительно своей вертикальной оси. Если вибрация кажется вам слишком слабой, увеличьте значение аргументов случайной функции rand. Если бы мы могли услышать, звонок звенел бы уже без остановки. Но мы бы хотели, чтобы он звенел только тогда, когда нажимается кнопка. Чтобы достичь этого, мы должны будем создать зависимость между позицией кнопки и включенным / выключенным состоянием случайного выражения. Прежде всего, нам нужен новый атрибут для состояний кнопки звонка on (включена) и off (выключена).
Рис. 4.4. Кнопка приобретает новый атрибут для состояний on / off
Вы найдете новый атрибут прямо под атрибутом Object's Visibility (Видимость Объекта) в окне Channel Box (Окно Каналов). Сейчас его состояние установлено на off (выключено). Но даже если мы изменим его на on (включено), ничего не изменится. Атрибут должен знать, что делать с этим on (включено). Мы поручим инструменту Set Driven Key (Установить Управляемый Ключ) управлять связью между новым атрибутом rrringTheBell и позицией кнопки. Инструмент Set Driven Key (Установить Управляемый Ключ) заставит новый атрибут посылать команду, которая вызовет нажатие кнопки.
Рис. 4.5. Инструмент Set Driven Key (Установить Управляемый Ключ) создает зависимость между позицией кнопки (в данном случае значение ее перемещения по оси Y (Translate Y) и значениями on / off нового атрибута звонка (rrring The Bell). В отличие от обычных ключевых кадров инструмент Set Driven Key (Установить Управляемый Ключ) создает связь не между атрибутами и временем, а между атрибутами и атрибутами
Когда в окне Channel Box (Окно Каналов) вы поменяете атрибут звонка с on на off, кнопка звонка вернется в выключенное положение. Теперь давайте займемся самим ударником.
Вот что новая запись означает: если атрибут rrringTheBell принимает значение on (включено) (1 как противоположность 0), звонок зазвенит. Из этого следует, что, если rrringTheBell принимает значение off (выключено), ничего не произойдет. Новый атрибут не только управляет кнопкой, но и позволяет вам звонить в дверной звонок. Однако, если вы в таком виде передадите сцену коллеге, который будет создавать персонаж, звонящий в звонок, чтобы попасть в дом, она для него будет слишком сложной. Вашему коллеге придется анализировать внутреннюю структуру сцены, изучать взаимодействие Expressions (Выражений) и инструмента Set Driven Key (Установить Управляемый Ключ) с объектами и их работу и т. д. Мы сделаем так, чтобы следующий аниматор мог сфокусировать внимание только на одном объекте - красной кнопке и ее атрибуте rrringTheBell. Окно для наведения порядка в Channel Box (Окно Каналов) называется Channel Control (Управление Каналами).
Рис. 4.6. Левая сторона окна Channel Control (Управление Каналами) содержит список всех атрибутов кнопки, на которые могут быть поставлены ключи (keyable attributes). Все атрибуты, кроме одного (нового), выделены и будут перемещены в правую часть окна. Они впоследствии исчезнут из окна Channel Box (Окно Каналов)
Вы можете спрятать атрибуты всех остальных объектов сцены тем же способом. Ваш коллега, открыв сцену, выделит кнопку и увидит только один атрибут, на который можно поставить ключ, имеющий значение для персонажа, который нажмет на кнопку своим большим пальцем (рис. 4.7). Рис. 4.7. После очищения только один атрибут остался в окне Channel Box (Окно Каналов). Это все, что нужно видеть аниматору, для того чтобы дать возможность персонажу позвонить в звонок А теперь кое-что новенькое. Приходилось ли вам применять Incremental Save? [Сохранение с автоматическим добавлением возрастающих номеров к имени сохраняемого файла. - Примеч. ред.] Может предотвратить кучу неприятностей Куда он делся! Как заставить персонаж со свистом умчаться, как в мультфильме? Тема:
Используемые техники и инструменты:
Одной из ключевых особенностей анимации персонажей является подготовка действия (anticipation). Каждый шаг в реальной жизни предваряется фазой подготовки к нему: перед тем как занести ногу вперед, мы слегка отводим ее назад - сильно перед тем, как ударить по мячу, слабее, когда прогуливаемся по парку, но все же мы это делаем. Отведение ноги назад, то есть движение в обратном направлении, и есть подготовка действия. У нее есть несколько особенностей, которые мы изучим в этом уроке, используя простой объект. Полученные результаты можно применять даже при изображении самого незаметного движения, для того чтобы обогатить личность сложного трехмерного персонажа. Мультипликаторы всегда знали об этой подготовке действия. Когда Дональд Дак проносится справа налево, мы видим, как он медленно отклоняется назад, перед тем как исчезнуть из виду за доли секунды. В этом уроке мы используем три очень полезных инструмента для создания эффекта подготовки действия: Jiggle Deformer (Деформатор Покачивание) (новый инструмент Мауа 4), который заставит персонаж слегка покачиваться назад и вперед по инерции движения; Graph Editor (Редактор Анимационных Кривых) позволит нам настраивать касательные ключевых кадров и рендеринг с опцией Motion Blur (Размытость при движении) позволит визуально усилить ощущение скорости.
Рис. 5.1. Средние секции конуса сужены Покачивание деформирует геометрию фигуры в соответствии с данными движения и инерцией. Нет движения, нет и покачивания. Итак, давайте добавим движение нашему конусу.
Когда вы воспроизведете анимацию, верхняя секция (не самый кончик и не основание, поскольку мягкой мы сделали только середину) наклонится с началом движения конуса (рис. 5.2). Рис. 5.2. Начиная с кадра 25 конус движется справа налево. В кадре 25 (крайний правый конус) он стоит прямо, в кадре 26 он резко устремляется влево, а его форма меняется Деформатором Покачивание. Хотя движение заканчивается в кадре 75 (крайний левый конус), верхушка конуса некоторое время слегка покачивается назад и вперед по инерции. Без Деформатора Покачивание эта линейная анимация справа налево была бы весьма неинтересной Достигнув конечной позиции, верхушка конуса продолжает покачиваться по инерции. Деформатор Покачивание значительно украшает эту простую анимацию с двумя ключевыми кадрами. Однако к подготовке действия это пока не имеет никакого отношения. Давайте проведем эксперимент.
Эта последовательность движений содержит важную информацию о подготовке действия, которую мы сейчас используем в создании анимации нашего конуса. Самый важный момент подготовки действия - это точка разворота конуса, где происходит изменение направления движения и где мы теперь зададим третий ключевой кадр. Эта точка завершает подготовку действия, и останутся лишь доли секунды, прежде чем анимация будет завершена. Подготовка к тому, чтобы умчаться прочь, занимает гораздо больше времени, чем основное движение (во всяком случае, в мультфильме).
Теперь конус, оставляя начальную позицию, медленно движется вправо на протяжении нескольких кадров и молниеносно исчезает из виду в левую сторону всего за пару кадров (см. рис. 5.3). Рис. 5.3. Анимация с подготовкой действия, как в мультфильме. В кадре 25 конус начинает медленно двигаться вправо. Это предваряющее движение в противоположном направлении длится около 2 секунд до кадра 70. Затем внезапно наш конус устремляется влево и достигает конечной позиции всего за 5 кадров. Он резко останавливается, а верхушка продолжает еще долго раскачиваться. Самое большое ускорение, а следовательно, и самые большие покачивания происходят тогда, когда конус покидает зону подготовки действия в кадре 71 и после его внезапной остановки в кадре 75 Деформатор Покачивание активнее всего действует в кадре 70, где меняется направление движения. Если эффект покажется вам слишком сильным, откройте секцию Jiggles (Покачивания) в окне Channel Box (Окно Каналов) и увеличьте значения параметров Stiffness (Жесткость) и Damping (Затухание). Для того чтобы полностью контролировать ключевой кадр 70, мы обратимся к касательным движения нашего конуса - графическому изображению того, как анимация приближается к ключевому кадру и покидает его.
Теперь конус медленно движется вправо, еще больше замедляет движение перед кадром 70, а потом вдруг уносится влево с большой скоростью. Две касательные позволяют весьма эффективно управлять подготовительным действием движения конуса. Если вы зададите тип Flat (Горизонтальный) и для касательной выхода из области подготовки действия, конус с некоторым промедлением будет покидать точку изменения направления. Рис. 5.4. В кадре 70 конус слишком плавно проходит область подготовки действия, что делает анимацию скучноватой. Для того чтобы направление движения сменялось быстрее, нам нужно разделить касательные в этом ключевом кадре Рис. 5.5. Задав тип Linear (Линейный) для правой касательной - в нашем случае это означает крутой и быстрый, - мы задаем левой касательной тип Flat (Горизонтальный). Теперь конус не спеша движется до точки поворота, а затем неожиданно стремительно покидает ее Для рендеринга такой анимации нам просто необходим Motion Blur (Размытость при Движении). Motion Blur - это эффект, заимствованный из мира реальной видеосъемки, который легко имитируется в программах по трехмерной графике. Прежде чем приступить к рендерингу с опцией Motion Blur (Размытость при Движении), создайте для эффекта покачивания кэш диска. Для этого нужно выбрать в меню Deform / Jiggle Disk Cache (Деформация / Кэш Диска для Покачивания). Это позволит Мауа сохранять на жесткий диск данные деформации, которые Motion Blur (Размытость при Движении) будет использовать в процессе рендеринга.
Рис. 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), в начале анимации (справа) и в конце (слева) А теперь кое-что новенькое. Приходилось ли вам оставлять немного места под окном Мауа для размещения там пиктограмм свернутых окон? Посемафорим Как создать анимацию работы семафора? Тема:
Используемые техники и инструменты:
Более века назад семафорные флаги как систему передачи сигналов заменил электрический телеграф. Тем не менее и в наши дни корабли продолжают использовать семафор для связи на коротких дистанциях, а морские офицеры-связисты в прошлом использовали флаги для передачи сообщений приветствия, вызова или нападения. В системе семафора каждое сочетание двух флажков символизирует число или букву. Весьма интересно наблюдать за парой рук, машущих флажками по определенному шаблону и передающих информацию кому-то, знакомому с этой системой. В этом уроке мы отправим семафорное сообщение: четыре буквы M-A-Y-A. Для этого используем технику нелинейной анимации. Для начала нам нужен кто-то, держащий флажки. В окне Front View (Вид Спереди) создайте простой скелет, состоящий из торса, двух плеч и двух рук.
Рис. 6.1. Параметры для диагонального расположения цветов текстуры Ramp на флаге
В семафоре руки движутся, как стрелки часов (рис. 6.2). Для того чтобы получатель сообщения понял, что одно слово закончилось и начинается новое, система знаков содержит нейтральную позицию, когда обе руки опущены вниз. В этом уроке мы изобразим M-A-Y-A как слово, где следует выделить каждую букву. Для этого мы используем нейтральную позицию рук после каждого отдельного символа, а не в конце всего слова. Различные положения рук создаются вращением относительно нейтральной позиции на угол, кратный 45 градусов. Самый лучший инструмент для достижения такой точности - это Rotation Snapping (Привязка Вращения): дважды щелкните мышкой по значку вращения, активизируйте Snapping (Привязка) и введите для нее значение 45. Рис. 6.2. Буквы и числа семафорной азбуки Теперь инструмент вращения будет останавливать движение рук через каждые 45 градусов. Перед тем как приступить к нелинейной анимации, нам бы пришлось начать анимацию слова M-A-Y-A с изображения нейтральной позиции и установки здесь ключевого кадра. Затем мы бы вращали все участвующие в движении объекты для приведения их в положение, обозначающее букву М, и снова установили ключевой кадр. Потом опять вернулись бы в нейтральную позицию, задали ключевой кадр, выполнили бы Rotate (Поворот) для буквы А, ключевой кадр и т. д. Конечно, это самый прямой способ анимации слова. Однако, если вы работаете, скажем, над серией сюжетов для научной передачи о системе семафорных знаков и вам нужно было бы изобразить передачу огромного количества слов и предложений, использование процедуры, исключающей установку ключевых кадров, сэкономило бы вам много времени. Вместо установки ключей мы создадим позы для каждой руки, изображающие все возможные варианты положений рук под углом 45 градусов, то есть целый алфавит. Создание этих поз не займет много времени, однако, когда оно будет завершено, работа над созданием анимации станет весьма приятной. Какое бы слово вам ни пришлось изобразить, просто подберите необходимые позы и соедините их в Trax Editor (Редактор Дорожек). Для того чтобы использовать позы в Мауа, нам нужно создать персонажей из совокупности участвующих в анимации объектов. Персонаж в данном контексте не имеет ничего общего с трехмерными существами или личностью. Персонаж в Мауа - это просто набор различных атрибутов всевозможных объектов. Нам нужно создать такой набор, перед тем как использовать его атрибуты в нелинейной анимации. При создании клипа персонаж генерируется автоматически. Позы, однако, еще потребуют немного ручной работы. Итак, мы создадим два простых персонажа: один, состоящий из поворотов левой руки и флажка вокруг оси Z, другой, состоящий из поворотов правой руки и флажка вокруг оси Z.
Во всплывающем меню в правом нижнем углу экрана вы увидите, что персонаж создан и активизирован. Это все, что вам нужно о нем знать. Теперь вы можете поработать с позами правой руки.
Рис. 6.3. Для преобразования положений рук нашего сигнальщика в позы следует сначала создать новый персонаж - в данном случае для правой руки и флажка Рис. 6.4. Первая поза (нейтральная) Воспользуйтесь иллюстрацией знаков семафора в качестве гида. При этом вам не нужно выделять объекты для создания поз. До тех пор, пока персонаж, содержащий интересующие нас атрибуты, активен, все задаваемые ключи будут ставиться на эти атрибуты Основная цель, а также мощь использования персонажей в Мауа заключается в том, чтобы собрать вместе большое количество параметров различных объектов для упрощения работы с ними.
Рис. 6.5. Мы применяем готовую позу к сцене - и персонаж сигнализирует букву Y При изображении буквы А положение правой руки будет таким же, как при изображении буквы М.
Поза левой руки для буквы А такая же, как в нейтральной позиции, а поза для Y, когда рука с флагом вытянута в сторону, повторяет позу для буквы М. Теперь у вас есть 2 набора из семи поз - для каждого из двух персонажей. Когда вы активизируете персонаж во всплывающем меню справа снизу, вы увидите его позы в Visor.
Рис. 6.6. Используя среднюю кнопку мыши, вы можете перетащить нейтральную позу правой руки из окна Visor в пять различных позиций на дорожке Trax Editor (Редактор Дорожек) Вы можете работать в окне Trax Editor (Редактор Дорожек), как в любом другом 2D окне. Особенно полезны клавиши: F - для фокусирования на выделенных объектах; А - для фокусирования на всех объектах.
Это не заняло много времени. Так же быстро все это получится и при работе со вторым персонажем, левой частью сигнальщика.
Рис. 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 - информация о распределении частиц по глубине. Эта информация весьма объемна и занимает на диске много места... Поскольку речь идет о старом проекте, то эти папки можно почистить, сэкономив кучу места на диске. - Примеч. ред. ] Катись, мяч, катись! Как сделать так, чтобы сфера скатывалась с холма, а не соскальзывала с него? Тема:
Используемые техники и инструменты:
Нет ничего сложного в том, чтобы передвинуть объект слева направо. Довольно просто толкать объект по горизонтальной плоскости. Однако совсем не так легко двигать объект по неровной поверхности, точно соблюдая заданный путь движения (использовать динамическую симуляцию в этом случае вы не можете: результаты могут быть самыми неожиданными). А если объект является сферой, которая должна катиться, а не скользить, - тут есть над чем задуматься. Но давайте отложим размышления на потом и начнем двигать куб по холмистой поверхности. Рис. 7.1. Вот так выглядит реальный курвиметр для измерения длины кривой линии, например дороги на карте французских Альп
Рис. 7.2. Пиктограмма с магнитом в верху окна Мауа позволяет вам работать непосредственно на поверхности
Кривая, которую вы только что создали непосредственно на поверхности, и будет путем движения нашего куба.
Рис. 7.3. Присоединим куб к кривой на поверхности Когда вы воспроизведете анимацию, то увидите, как куб движется вниз и вверх по холмам. Есть, правда, одна проблема: когда куб скользит по поверхности, он погружается в нее (рис. 7.4). Рис. 7.4. Наш куб движется по холмам и по долинам (и проваливается в них) Это связано с положением опорной точки куба. Мы могли бы передвинуть ее, однако вместо этого удалим куб и создадим NURBS-сферу. Давайте поговорим об опорной точке сферы. Если вы присоедините сферу к пути ее движения, как вы это уже делали с кубом, то ее нижняя часть тоже погрузится в поверхность. Если же вы опустите опорную точку сферы, для того чтобы избавиться от этого погружения, то сфера перестанет вращаться относительно своего центра - а это именно то, что необходимо для ее качения (а не скольжения) по поверхности. Что нам тут действительно нужно, так это объединить два объекта в одном. Один будет отвечать за движение по заданному пути, а другой возьмет на себя качение сферы. Все это мы осуществим с помощью иерархической анимации - громкое слово для обозначения простой процедуры работы с группами, членами и родительскими объектами, сферу саму с собой и присоединить группу к пути движения. Единственный член группы - сфера - может теперь вращаться вокруг своей центральной точки, в то время как группа будет двигаться вверх и вниз по холмам. Группа несет в себе сферу, а сфера, в свою очередь, заботится об эффекте качения.
Рис. 7.5. Перемещаем опорную точку группы сферы после группирования сферы с самой собой. Благодаря этому сфера остается на поверхности во время движения
Сфера движется по поверхности (не погружаясь в нее) (рис. 7.6). В действительности движется не сама сфера, а ее группа, которая, конечно, несет в себе сферу, куда бы ни двигалась. Если сфера склоняется к кривой пути движения, исправьте это, изменив внутреннюю ось пути. Откройте Attribute Editor (Редактор Атрибутов) motionPathl и установите Up Axis (Верхняя Ось) на Y. Рис. 7.6. Скользим и съезжаем с холмов - но не катимся Теперь можно приступить к качению. Как предотвратить скольжение сферы? Мы заставим ее вращаться внутри группы для создания впечатления качения. Если мы поделим длину кривой на длину окружности сферы, то узнаем, сколько раз ей нужно повернуться вокруг своей оси за время движения по поверхности. Радиус сферы равен 1. Формула вычисления длины окружности следующая:
Таким образом, каждый раз, когда сфера преодолеет 6,28 единицы и выполнит один полный оборот, выглядеть это будет так, будто она катится по поверхности, чувствуя трение с ней. Мауа предлагает пару весьма полезных способов для измерения расстояний. Тот, который потребуется нам для измерения длины нерегулярной кривой, называется Arc Length Tool (Длина Дуги).
Рис. 7.7. Инструмент Arc Length Tool (Длина Дуги) измеряет длину дуги между началом кривой и любой точкой на ней
Следовательно, сфера сделает вокруг своей оси 4 полных оборота.
Теперь вы знаете, на сколько градусов должна повернуться сфера, чтобы прокатиться по всему пути движения.
Рис. 7.8. После небольших вычислений вращение сферы получает второй ключевой кадр. В нашем случае она поворачивается на -1464 градусов вокруг оси Z
Рис. 7.9. Для того чтобы получить реалистичное перекатывание, для касательных должен быть задан тип Linear (Линейный), если он еще не задан Если сфера вращается в противоположном направлении, переустановите ключевой кадр, на этот раз с отрицательным значением. При воспроизведении анимации вы увидите сферу, плавно катящуюся по своему извилистому пути (см. рис. 7.10). Рис. 7.10. Сфера реалистично катится по извилистому пути Этот способ позволяет вам получить за короткое время вполне реалистичное качение сферы, однако он не очень удобен. Если, например, хоть один параметр - радиус сферы или длина пути - меняется, эффект качения пропадет, и вам снова придется производить вычисления и переустанавливать второй ключевой кадр. Для того чтобы полностью контролировать ситуацию, вам придется создать выражения, которые будут использовать значения этих параметров как переменные. У нашей анимации есть еще одно слабое место: сфера катится слишком монотонно. Например, она не ускоряется при движении вниз с холма. Это можно исправить путем установления большего количества ключевых кадров для U Value (Значения U) пути движения и вращения сферы. После этого вам нужно будет дополнительно настроить две соответствующие анимационные кривые в Graph Editor (Редактор Анимационных Кривых). А теперь кое-что новенькое. Использовали ли вы когда-нибудь Тот Kluysken's Caustics при рендеринге рубинового колье? Управляем велосипедом (и отвлекаем внимание) Как сделать так, чтобы персонаж одной рукой управлял велосипедом, а другой одновременно рисовал в воздухе знак @? Тема:
Используемые техники и инструменты:
Анимация персонажей не сводится к цифровому изображению мимики, реалистичной ходьбе и синхронизированной с движениями губ речи. Персонаж также должен взаимодействовать с окружающим миром. Хотя в реальной жизни это предполагает огромное количество различных действий - прикасание, хватание, отпускание, взгляд, приближение, - в компьютерной анимации все это может быть сведено к Constraint (Принудительное согласование). Самое главное согласование - это то, которое связывает персонаж с другими элементами окружающего мира: с другим объектом или персонажем. В этом уроке мы рассмотрим основные процедуры при использовании такого вида ограничений. Мы создадим анимацию персонажа, управляющего велосипедом и одновременно рисующего другой рукой в воздухе знак @.
Рис. 8.1. Руль велосипеда с ручками состоит из трех NURBS-цилиндров Рис. 8.2. Моделируем скелет: несколькими щелчками мыши в соответствующем окне мы создаем левое плечо и руку Рис. 8.3. Теперь создадим зеркальное отражение руки и плеча для другой половины (здесь относительно плоскости YZ) Рис. 8.4. Два ik Handles (ИК-манипулятор) упрощают анимацию рук Используя два ik Handles (ИК-манипулятор), вы сможете управлять движением рук в соответствии с законами инверсной кинематики. Вам только нужно взять ik Handle (ИК-манипулятор) и перемещать его туда, куда вам нужно: две кости руки будут вращаться соответственно перемещению ik Handle (ИК-манипулятор). Мы прикрепим ik Handles к ручкам руля.
Рис. 8.5. Перемещение опорных точек ручек руля вверх поднимает и запястья персонажа Теперь давайте немного подвигаем рулем.
Рис. 8.6. Математическое равенство заставляет двигаться руль велосипеда
Это выражение позволяет рулю медленно вращаться между -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 (вес).
Запястье моментально реагирует на это изменение и перепрыгивает в точку между ручкой руля и локатором. Если вы передвинете локатор в другую область сцены, ik Handle (ИК-манипулятор) последует за ним. Определяющими параметрами такого поведения являются Weights (Веса) двух принудительных согласований. Их вы найдете в окне Channel Box (Окно Каналов) прямо под полем Node State (Состояние Узла). Первое значение - это вес ручки руля, второе - вес локатора. Поскольку оба значения в данный момент равны, ладошка располагается между ними (рис. 8.9). Рис. 8.9. Веса WO (для локатора) и W1 (для ручки руля) равны. Следовательно, запястье руки располагается между ними
Рис. 8.10. Когда вес для ручки руля меняется на WO = 1, а вес для локатора на W1 = 0, запястье руки возвращается к ручке руля
Меняя веса для двух принудительных согласований позиции, вы создали анимацию движения руки. Она отпускает руль в кадре 300 и через 50 кадров перемещается к локатору - там и остается все оставшееся время. Рис. 8.11. Со значениями WO = 0 и W1 = 1 запястье руки перепрыгивает к локатору
Между 350 и 500 кадрами рука находится в статичном положении. Если вы создадите анимацию локатора в этом промежутке, например придав ему машущее движение, рука повторит его, поскольку она больше не привязана к ручке руля. Мы зададим руке совершенно определенное движение: пусть она нарисует в воздухе знак @. Это мы сможем получить путем установления ограничивающей связи локатора (но не для ik Handle (ИК-манипулятор) и пути рисования знака.
Рис. 8.12. Пишем знак @ в окне Side View (Вид Сбоку) Рис. 8.13. Между кадрами 400 и 470 локатор оказывается «привязанным» к пути рисования знака @ Теперь рука, бросив руль, рисует в воздухе знак @, после чего возвращается к рулю и продолжает управление велосипедом (рис. 8.14). Взгляните на анимационные кривые для Motion Path (Путь Движения) в Graph Editor (Редактор Анимационных Кривых), для того чтобы убедиться, что движение не будет слишком поспешным. Вы также можете задать тип Flat (Горизонтальный) касательным ключевых кадров, используя контекстное меню временной шкалы. Рис. 8.14. Персонаж управляет велосипедом только одной рукой. Руль продолжает двигаться. Правая рука рисует в воздухе знак @. После этого она возвращается к ручке руля и продолжает спокойно управлять Если вы создадите велосипед и велосипедиста, не забудьте объединить локатор в одну группу с другими элементами. Было бы даже неплохо добавить небольшую анимацию знака @ в этой точке. Плечу тоже можно придать небольшое движение. А как насчет функции синус? А теперь кое-что новенькое. Приходилось ли вам расчесывать мех? |
|||||||||
| Последнее обновление ( 14.12.2007 г. ) | |||||||||
| « Пред. |
|---|