Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Редактирование кривых




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

Можно также перемещать сами элементы управления, изменяя тем самым длительность или параметры определенного события.

Кроме элементов управления кривыми Безье во многих пакетах используются другие виды интерполяции. Линейная кривая не имеет участков торможения или ускорения и представляет собой последовательность отрезков прямых линий (рис. 8.8). Ступенчатая кривая выглядит как последовательность сигналов прямоугольной формы, и переходы от одного значения к другому происходят скачкообразно (рис. 8.9). Большинство видов интерполяции выполняется с применением кривых Безье.

Рис. 8.6. Отрицательные значения кривой указывают на то, что нога «провалилась» сквозь «землю»

Рис. 8.7. Управление при помощи кривых Безье

Рис. 8.8. Линейные кривые

Рис. 8.9. Ступенчатые кривые


Использование кривых для анимации методом компоновки

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

Аналогичный подход можно использовать и в компьютерной анимации. Художник набрасывает основные позы на шкале времени с помощью ступенчатой кривой. При этом персонаж «перескакивает» от одной позы

Рис. 8.10. В этой анимации персонаж стоит, потом нагибается, чтобы что-то рассмотреть на земле, а затем распрямляется

Основы анимации персонажей к другой (рис. 8.11). Если воспользоваться линейными кривыми, то из-за плавного характера переходов сложно точно отслеживать время. Конечно, при скачкообразном изменении поз теряется реалистичность, но такой прием позволяет сосредоточиться на отдельных моментах анимации и их продолжительности. После того, как время задано, ключевые точки копируются на несколько кадров позже на шкале времени (рис. 8.12), а затем ступенчатые кривые преобразуются в кривые Безье. Теперь персонаж принимает одну позу, которая плавно переходит в следующую, и т.д. Сцена принимает естественный вид (рис. 8.13). После синхронизации можно приступать к созданию промежуточных поз. Основная идея заключается в том, чтобы последовательно фиксировать позы в течение небольшого промежутка времени, а затем делать переходы между ними. Как правило, на переход отводится 6-8 кадров (хотя это число может меняться в зависимости от сцены). Затем переходы преобразуются в кривые Безье. После этого движение корректируется, кадры сводятся до совпадения и т.д.

Рис. 8.11. Использование ступенчатой кривой

Рис. 8.12. Скопированные ключевые точки

Рис. 8.13. Преобразование ступенчатых кривых в кривые Безье


Временные таблицы

Временная таблица является более простым способом представления анимации. Кривая (зависимость значения параметра от времени) дает двумерное представление движения, а временная таблица - одномерное. Аниматор имеет дело с линией, на которой точками или другими символами обозначены изменения движения в ключевых кадрах (рис. 8.14 и 8.15). В предыдущем примере первая точка на временной шкале соответствовала началу движения персонажа. Моменту остановки соответствует следующая отметка, и еще одна обозначает изменение направления движения. Эта линия похожа на кривую анимации, но не содержит информации о значении параметра кривой.

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

Рис. 8.14. Временная таблица в программе 3D Studio MAX

Рис. 8.15. Временная таблица в программе Maya


Пути/траектории

Другой метод управления анимацией предполагает использование пути. Большинство пакетов отображают путь объекта в пространстве, что помогает точно определять его движение (рис. 8.16). При коррекции формы пути изменяется способ перемещения персонажа по сцене.

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

Рис. 8.16. Линия, обозначающая путь движения запястья

Рис. 8.17. Использование пути при анимации методом инверсной кинематики

комнате. Путь обозначает движение тела в пространстве. Кроме генерации пути для движения с заданными ключевыми кадрами многие пакеты позволяют рисовать сплайны и использовать их в качестве пути. Но если необходимо, чтобы персонаж двигался по прямой, путь должен быть представлен прямой линией.


Расчет времени движения с учетом веса модели

Если используемый вами пакет не рассчитывает движение тела в соответствии с законами физики, то задать вес объекта невозможно. Рассмотрим шар, лежащий на земле (рис. 8.18). Что это - шар для боулинга или баскетбольный мяч? Пока он не начнет двигаться, ответить на этот вопрос нельзя. Шар для боулинга тяжелый, катится медленно, и чтобы изменить направление его движения, требуется большое усилие. Баскетбольный мяч относительно легкий, катится быстрее, легко отскакивает, и подбросить его способен даже младенец.

Рис. 8.18. Шары, вес которых неизвестен, пока они не начнут перемещаться

Упражнение 1. Имитация веса при помощи движения

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

1. Смоделируйте шар, куб и гладкую поверхность. Разместите шар и куб на поверхности на некотором расстоянии друг от друга.

2. Выполните анимацию движения шара, чтобы он катился по прямой линии к одной из граней куба.

3. Как только шар коснется куба, измените направление его движения на противоположное. Куб при этом должен оставаться неподвижным. Выполните рендеринг сцены.

 

4. Создается впечатление, что шар намного легче куба. Теперь воспроизведите обратную ситуацию.

5. При том же исходном положении выполните анимацию движения шара, чтобы он катился по прямой линии в сторону куба.

6. На этот раз после удара о куб шар должен продолжать катиться по прямой, а куб сдвинуться с места и начать вращаться. Выполните рендеринг сцены.

7. Возникает ощущение того, что шар тяжелее сбиваемого им куба.

В обеих сценах используются одни и те же объекты, которые по-разному взаимодействуют друг с другом. В первом случае шар кажется легче куба, во втором — тяжелее. Как видите, характер движения влияет на восприятие веса объекта.


Язык движения

Художник-аниматор должен знать базовые принципы движения. Речь идет об основных правилах воспроизведения движения, описываемых такими терминами, как «дуги», «подготовка», «принятие позы», «вторичное движение», «доводка», «наложение», «удержание позы» и т.д.

Дугообразные траектории

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

Рис. 8.19. Дуга, по которой движется рука

Перемещаться по дуге заставляет объекты также и сила притяжения: планеты движутся по эллиптическим орбитам, а брошенный мяч летит по параболической траектории (рис. 8.20). Таким образом, тела часто при своем движении описывают дугу.

Наглядным примером движения по дуге является простой поворот головы. Предположим, вам необходимо, чтобы персонаж повернул голову влево. Первым желанием будет просто повернуть голову по прямой горизонтальной линии. При этом движение получается неестественным (рис. 8.21). В реальной жизни голова обычно сначала немного опускается во время поворота и затем приподнимается, описывая дугу, как показано на рис. 8.22.

Рис. 8.20. Траектория полета подброшенного в воздух мяча

Рис. 8.21. Неправильно выполненный поворот головы

Рис. 8.22. Кадры правильной анимации

Ускоренное начало и конец движения

Естественное движение не начинается и не заканчивается внезапно. Один из законов Ньютона гласит, что объект, к которому приложена сила, совершает ускоренное движение. Следовательно, начало движения объекта происходит с некоторым положительным ускорением, а окончание - с отрицательным. Представьте себе подброшенный вверх мяч. Сила тяжести поначалу замедляет его взлет до тех пор, пока он не остановится, а затем ускоряет падение вплоть до касания земли. В анимации подобные эффекты называются ускоренными началом и концом движения (slow-in и slow-out.)

Кроме силы тяжести на персонажи действует множество других сил. Они могут быть внешними, если, например, героя толкают (рис. 8.23), тянут за руку или везут в машине, или внутренними. Силы внутреннего происхождения действуют, когда из-за сокращения мышц поворачивается сустав, что приводит к ускоренному движению конечности. (С определенной степенью обобщения это понятие можно отнести и к силе мысли персонажа - нерешительный герой даже двигается по-другому, чем самоуверенный.)

Чтобы сымитировать эффект ускоренного начала движения и торможения в конце его, лучше всего использовать кривую Безье. Однако, как правило, этого не требуется. Например, если персонаж сталкивается с кирпичной стеной, то он останавливается практически мгновенно, без торможения. Обратите внимание, что на графике при приближении скорости к нулю кривая становится почти горизонтальной (рис. 8.24). В данном случае целесообразно применить линейную или ступенчатую кривую.

Рис. 8.23. Ускоренное движение героя, которого толкнули

Рис. 8.24. Кривые анимации для отображения ускоренного движения в начале и конце пути

Запаздывание

При анимации нужно учитывать эффект так называемого запаздывания. Прилагаемая к объекту сила по-разному воздействует на различные его части. Рассмотрим два стержня, имеющих шарнирное соединение. Если потянуть за один из них, то второй не сразу последует за ним (рис. 8.25). Сначала второй повернется вслед за ним (рис. 8.26) и только через какое-то время два стержня расположатся вдоль одной прямой (рис. 8.27). Этот эффект называется запаздыванием (lag), или инерционностью.

При движении объекта, составленного из множества звеньев, каждый из шарниров совершает поворот вслед за предыдущим. Если добавить к первым двум третий стержень, то он начнет движение вслед за вторым.

Добавление третьего стержня вносит дополнительную задержку. Третье звено движется за вторым, который перемещается вслед за первым (рис. 8.28).

Рис. 8.25. Потянули за первый стержень

Рис. 8.26. Второй стержень повернулся вслед за первым с запаздыванием

Рис. 8.27. Стержни расположились вдоль одной прямой

Рис. 8.28. Движение трехзвенной цепочки

Те же принципы применимы и к движению суставов персонажа. Позвоночник представляет собой совокупность аналогичных шарниров. Сила, приложенная к одному концу позвоночника, достигает другого его конца через некоторое время, как и сила, приложенная к мышце предплечья, - плеча (рис. 8.29). Представьте себе хвост собаки. Суставы ее хвоста ведут себя так же, как шарниры в нашем примере. Основание хвоста вращается, вызывая с некоторым запаздыванием движение остальных его частей (рис. 8.30).

Рис. 8.29. Скелет тела, представленный е виде набора шарниров

Рис. 8.30. Хвост собаки изгибается аналогично шарнирной цепочке

Сжатие-растяжение

Как правило, при моделировании персонажей (если речь, конечно, идет не о модели статуи Свободы) имитируется настоящая плоть. Плоть податлива, во время движения деформируется, что приводит к появлению на ней разных складок. Вспомните, как много выражений может отразиться на лице человека. Форма поверхности других частей тела тоже претерпевает изменения. Этот принцип моделирования кожи называется сжатием-растяжением (squash-and-stretch).

Проиллюстрируем данное понятие, смоделировав отскок мяча. Когда мяч ударяется о землю, сила удара сплющивает его, придавая ему продолговатую форму. После отскока мяч растягивается в обратном направлении (рис. 8.31).

Аналогичные принципы применимы и к анимации персонажей. Подпрыгивающий персонаж вытягивается после отрыва от земли и сплющивается в момент приземления (рис. 8.32 и 8.33). Под действием силы изменяется форма мышц и конечностей. Конечно, персонаж не в буквальном смысле слова увеличивается в объеме. Реалистичные модели людей и животных также испытывают воздействие эффекта сжатия-растяжения. В момент приземления персонажа его позвонки смещаются книзу, нейтрализуя удар. Если герой выполняет прыжок, то его ноги вытягиваются в момент полета в воздухе. Чтобы получить утрированный мультипликационный эффект, вы можете на протяжении нескольких кадров сильно растягивать персонаж, падающий в дыру (рис. 8.34).

Рис. 8.31. Деформация мяча при ударе об землю и отскоке

Рис. 8.32. Изменение формы мешка с мукой

Рис. 8.33. Деформации, претерпеваемые прыгающим персонажем

Рис. 8.34. Котенок, падающий в дыру

При выполнении сжатия-растяжения объем персонажа должен оставаться неизменным. Представьте себе шар, наполненный водой. Если попытаться растянуть или сплющить его, вода из одной части шара перетечет в другую. Объем шара при этом не изменится. Мышечная ткань человека в основном состоит из воды, следовательно, к его телу также применим этот принцип. Как бы ни растягивался или сплющивался персонаж, его объем остается неизменным. Посмотрите на рис. 8.35-8.37, где проиллюстрировано это явление. Если кольца двигаются вверх, туловище растягивается. Простое удлинение туловища не дает требуемого эффекта - объем персонажа неправдоподобно увеличивается. Сужение туловища в области грудной клетки (показано стрелками) сохраняет его объем, и персонаж выглядит естественно.

Рис. 8.35. Герой, висящий на кольцах

Рис. 8.36. Неправильно выполненная деформация

Рис. 8.37. Благодаря сужению туловища персонаж выглядит более естественно

Как выполнять сжатие и растяжение персонажа

Процесс выполнения сжатия-растяжения персонажа зависит от способа его построения и деформации. Рассмотрим несколько методов проведения этой процедуры.

Изменение позы

Как правило, при создании реалистичных персонажей утрированное изменение их формы не требуется. В такой ситуации для имитации эффекта сжатия-растяжения лучше всего придать модели правильную позу. При сплющивании фигуры персонажа согните его колени и изогните позвоночник. При растяжении выпрямите его ноги и позвоночник.

Сжатие-растяжение - не только мультипликационный эффект. Это составная часть движения всех существ. В мультфильмах данный эффект несколько преувеличивается для выразительности. Но в любом случае перед изменением размера персонажа придайте ему правильное положение. За основу утрированного действия всегда берется реальное движение.

Изменение масштаба

Простейший способ имитировать сжатие-растяжение - изменить размер всего объекта или его части вдоль одной оси. При сжатии персонажа его размер вдоль соответствующей оси уменьшается, при растяжении - увеличивается. Чтобы объем оставался постоянным, следует соответственно увеличивать или уменьшать размер модели по двум другим осям (рис. 8.38).

Рис. 8.38. Изменение масштаба объекта

 

Деформация скелета

Если персонаж имеет скелет, то сжатие-растяжение можно выполнить, изменяя положение костей (рис. 8.39). Большинство пакетов, поддерживающих создание скелета, позволяют делать это. Соответственно будет изменяться и размер вершин каркаса персонажа. Например, если вы хотите удлинить руку, измените размер ее костей, используя тот же подход, что и при изменении размера частей персонажа: если кость вытягивается в одном направлении, то она должна сжиматься в другом, чтобы ее объем оставался постоянным. Другой способ растяжения скелета заключается в изменении расстояния между костями (рис. 8.40). Подобную операцию обычно выполняют методом прямой кинематики. Но аналогичный подход применяется и в системах с инверсной кинематикой и ограничителями. В скелете, описанном в главе 6, движение ступни было ограничено перемещением ноги.

Если попытаться вытянуть ногу больше допустимого предела, то кости отделятся на уровне лодыжки, и нога в этой области удлинится (рис. 8.41). В большинстве систем инверсной кинематики при удалении эффектора за пределы сустава длина костей остается неизменной (рис. 8.42), но некоторые программы обеспечивают автоматическое удлинение. Как только будет превышен предел длины той или иной части тела, кости скелета автоматически растянутся до точки расположения эффектора. Нога удлиняется, соединяясь со ступней (рис. 8.43).

Рис. 8.39. Результат изменения размера кости

Рис. 8.40. Увеличение расстояния между костями при использовании методе прямой кинематики

Рис. 8.41. Манипулирование ногой методом инверсной кинематики с ограничением для ступни

Рис. 8.42. Пример, в котором длина кости не зависит от положения эффектора

Рис. 8.43 Удлиненная кость, соответствующая положению эффектора

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...