Войти
АртСтатьи

Приближение анимации персонажа к реальности. (2 стр)

Автор:

«Статичные» анимации и теория «Временных интервалов»

Что за такая теория и почему данную категорию анимаций я назвал статичной? Если не брать перенос персонажа в пространстве, то, согласитесь, что любое движение можно выразить через вращение в суставе. Даже, если мы в программе хватаем за кисть и несём её в новое положение, то на самом деле такое действие реализуется через определенный поворот в плечевом и локтевом суставах.

А теперь предположим, что сустав вращается с определенной постоянной скоростью. К чему я клоню?

Интервалы времени

Давайте попытаемся разобраться в каких-то зависимостях, за которые можно было бы ухватиться при анимировании. Я буду разбирать их от простого к сложному.

Если вы понаблюдаете в повседневной жизни за людьми, то наверняка заметите, что каждому свойственно иметь свой собственный темп и ритм движения. Так, например, ходит кто-нибудь задумчиво или делает зарядку — его движения всегда идут практически плавно, сохраняя собственный темп. Или как иногда особенно тяжело многим людям делать движения руками и ногами в разном ритме (хотя барабанщики умело справляются с подобной задачей). Конечно, скачки во времени возможны (быстрый выпад вперед или падение и т.д.), однако я пока беру в общем, частный случай.

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

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

Заметьте, что в формулировке теории к персонажу я приклеил слово «данный», а это значит, что временные интервалы в значительной степени определяются параметрами анимируемого персонажа, его характеристиками. Для каждого, практически, свойственно собственное течение времени. Поэтому ВСЕ РАССЧИТАННЫЕ ИНТЕРВАЛЫ ЯВЛЯЮТСЯ ПРИМЕРНЫМИ в своем значении и необходимы лишь как отправные точки.

Теперь ознакомимся с моментом движения. В дальнейшем я буду его сокращено обозначать MM (motion moment). Как я уже писал выше, в рассмотрение попадает спектр анимаций на месте. При таком раскладе практически любую анимацию возможно выполнить через вращение кости, исключение составляет только перенос COM’а (центра тяжести). Следовательно, единицей измерения момента движения будет количество градусов, на которое поворачивается кость за один кадр. Сразу приведу простой пример. Допустим, что MM головы составляет 3 градуса/кадр, а мне нужно перевести голову слева направо. Беру навскидку угол поворота головы равным 90 градусов. Теперь этот самый угол делю на MM головы и получаю 30 кадров. Как видите, всё довольно просто и полученный результат будет моей опорой при составлении разметки анимации.

Двигаемся дальше… Думаю, самое время рассмотреть отдельные части тела, т.к. каждая имеет свой удельный вес и некоторые особенности в своём движении, следовательно и MM для каждой части тела тоже будет особенным.

Голова

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

Норма подвижности (MM) головы составляет 5 градусов в кадр. Максимальное значение — 10 градусов в кадр. Однако предложенные числа – общий (идеальный) случай, от которого можно отталкиваться для вычисления значений к вашему персонажу.

Изображение

Заметки:

1) При движениях головы не забывайте об устранении линейности, особенно это касается медленных движений – они более округлы по траектории.

2) Есть ещё одна особенность. Т.к. голова «крепиться» на позвонке и способна совершать только вращательные операции относительно своего основания, то при выходе из центральной зоны, показанной на рисунке, лоб смещается дальше чем подбородок и, соответственно, его радиус вращения также больше.

3) Для придания большей реалистичности часто эффективны вторичные анимации головы. Вот бытовой пример. Стул без подголовника, и садимся на него «на лету» (рисунок, расположенный ниже). Тело упирается в спинку стула, а голова продолжает движение, что приводит к её покачиванию. Это существенное дополнение, поэтому анализ выполняемого вами движения обязателен. Как говориться в одном умном законе сохранения энергии: «ничто ни откуда не берется, и так же бесследно не пропадает» (я передал смысл закона).

Изображение

Теперь давайте на примере воспользуемся MM головы для выполнения движений.

«Смотрим по сторонам…»

Загрузите сцену с Biped скелетом из файла «biped_prepare». Для нашей анимации вполне достаточна продолжительность в 90 кадров. Анимировать будем только голову (хотя это физически неверно и при поворотах головы не забывайте про позвоночник),  но для нас главная задача – воспользоваться MM головы при вычисления тайминга. Возьмём идеальный случай, где момент движения составляет 5 градусов/кадр.

Активируйте режим «Авто ключа» (Auto Key).

Перейдите в 10 кадр и поверните голову на 50 градусов по оси X и на –10 градусов по оси Y (немного наклоним для естественности положения). Это наша начальная поза.

Теперь пусть «скелет» посмотрит в другую сторону, и угол поворота головы составит 100 градусов. Тогда на это он затратит 20 кадров (учитывая, что MMголовы 5 градусов на 1 кадр). Следовательно, переходим в кадр номер 30 и разворачиваем голову на –100 градусов по оси X. Добавим ещё и небольшой наклон голове, поворот по оси Y на 20 градусов и по оси Z на 10 градусов.

Продержим позу 30 кадра до кадра номер 40 (скопируйте ключ из 30 в 40 кадр).

Пусть голова перевёдет «взгляд» впёред. Для этого её следует развернуть на 50 градусов по оси X (я пока рассуждаю, не вздумайте поворачивать) и после недолгих расчетов вычисляем, что для данной операции потребуется 10 кадров. Однако, треть секунды (считаем, что в одной секунде 30 кадров) слишком мало, а наш «скелет» никуда не торопится, поэтому отведём на данный поворот 15 кадров. Объяснение относительно внесения данной поправки я рассмотрю чуть ниже в разделе «Нормальное движение». Помните, что высчитанное значение кадров является лишь опорой, а замедление и ускорение вноситься уже на ваше усмотрение (всё-таки анимирование — это творческая работа). Перейдите в кадр 55 и разверните голову на 50 градусов по оси X, –10 градусов по оси Y и 10 градусов по оси Z.

Итак, разметка движению задана. Однако есть один изъян, который следует непременно устранить – это прямолинейный поворот головы. Перейдите в кадр 20 и опустите слегка голову вниз, повернув её на 10 градусов по оси Z. «Перебегаем» в кадр 47 и поворачиваем по той же оси Z, только уже на 5 градусов. Проиграйте анимацию, согласитесь, что так гораздо лучше.

Результат этого примера сохранён в файле «headTurn».

Руки

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

MM руки (идеальное) составляет 3 градуса/кадр норма и 10 градусов/кадр – максимальное.

Изображение

В таблице представлен тайминг «с натуры» по выполнении движений рукой. Обратите внимание на тот факт, что практические движения выполнены быстрее. Это можно объяснить помощью силы тяжести, а также применением в жизни ускорений и замедлений, в то время как теоретическое значение рассчитано на идеально равномерное вращение. Кроме этого, немалое значение играет собственный вес рук. Тяжёлые руки совершают движения медленнее и чаще не имеют большой резкости (особенно если они тяжелы от «сала», а не от мышц :) ).

«болтающаяся рука»

Загрузите сцену «dangleHand_start» — анимация по поднятию одной руки вверх. Нашей задачей будет её оттуда спустить, да так спустить, чтобы она как «вермешелина» поболталась ещё немного.

Включите незаменимый режим «Авто ключа» (Auto Key) и перейдите к кадру 71. Теперь схватите кисть руки и перетащите по оси Z до самого пола. Предплечье разверните по оси X на –100 градусов. Вот такая получилась поза опущенной руки. Получившаяся траектория падения руки довольно «ужасная» и требует внесения значительных поправок.

Для начала откройте диалог параметров ключа 50 кадра анимации и установите значение ослабления от ключа (ease from) равным 50, что позволит добавить эффект ускорения при полёте.

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

Изображение

Добавим покачивания после падения. В кадре 78 отведите руку по оси X на –12 единиц. Скопируйте только что созданный ключ в кадр 85. В кадре 97 перетащите руку на 20 единиц по оси X. Этот ключ также надо скопировать и копию оставить в 102 кадре. Данные копии позволят нам придать эффект небольшого «зависания» при изменении направления вращения (я говорю о вращении, потому что наши перемещения кисти «выливаются» для руки, в итоге, во вращение относительно плечевого и локтевого суставов).

В 111 кадре «успокойте руку», расположив её свободно свисающей рядом с бедром Biped скелета.

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

Откройте свойства ключа 65 кадра и установите следующие значения: натяжение (Tension) равным 2; продолжительность (Continuity) равная 23; смещение (bias) равное 22.

Проиграйте анимацию. Должно выглядеть довольно убедительно. При всём этом, нельзя забывать про «цепную реакцию» – 3 пункт в основных принципах анимации персонажей. В кадре 97 рука прекращает своё вращение в плечевом суставе, но по инерции она продолжит передвижение в локтевом, соответственно в кадре 102 поверните кость предплечья по оси Z на 5 градусов. Вот такую незначительную поправку предлагаю я, однако на эту тему можно много тренироваться, подобные наследования движения украшают анимацию.

Результат сохранён в файле «dangleHand_end».

«Смерть»

Для тренировки навыков анимирования предлагаю вам загрузить сцену из файла «death_start». Biped скелет уже выполняет движение – он красиво умирает. Однако в этой анимации совсем обездвижены руки и голова, так что вашей задачей будет их вернуть к подвижному состоянию: заставить трястись, раскачиваться и т.п.

Результат сохранён в файле «death_end», только особо не обращайте на него внимания, постарайтесь передать с помощью рук и головы особое собственное красочное ощущение падения.

Туловище

Главная составляющая всего тела, основа, к которой «крепятся» остальные части. У основания туловища размещен тазобедренный сустав, являющийся трехосным – совершающим движения в трех направлениях.

Норма подвижности (MM) туловища составляет 3 градуса/кадр, максимальная резкость 10 градусов/кадр.

Изображение

Естественно, что только персонажи с хорошей растяжкой могут безукоризненно нагнуться, образовав угол в 90 градусов, на деле большинству людей это выполнить нереально, поэтому рассмотрим ограничения при движении тазобедренного сустава:

— при выполнении наклонов вперёд позвоночник изгибается, начиная с верхних позвонков, и наклон продолжается затем в тазобедренном суставе. Однако, возможен обратный ход, когда нагибание начинается в тазобедренном суставе и затем продолжается в позвоночнике. Такая последовательность характерна для наклона через усилие мышц спины. Если с растяжкой совсем худо, возможно сгибание ног. Наклон вперёд заставляет центр тяжести (бедра) сместиться назад для уравновешивания.

— при выполнении наклонов назад изгиб верхних позвонков начинается уже после 30 – 45 градусов наклона, в данном случае можно говорить о том, что позвоночник выгибается. Бедра теперь смещаются вперёд.

— повороты влево и вправо являются зеркальными действиями (мы рассматриваем здорового персонажа, а не «перекошенного» от какого-нибудь недуга). Изгиб начинается с верхних позвонков и продолжается поворотом в тазобедренном суставе, а центр тяжести смещается в противоположную сторону. Угол поворота в сторону довольно невелик и составляет порядка 45 градусов.

«Наклон вперёд»

Наклоны вперёд я рассматриваю ещё и потому, что в играх (в особенности RPG) часто необходима анимация хватания предмета с пола. Т.е. нагибаться за каким-то предметом персонажу надо уметь.

Исходя из того, что в MM туловища составляет 3 градуса/кадр и угол наклона примерно равняется 90 градусов, получаем 30 кадров как время необходимое для выполнения наклона вперёд.

Загрузите сцену с Biped скелетом из файла «biped_prepare» и активируйте режим «Авто ключа» (Auto Key).

Прежде всего, зафиксируем положение ног на полу, для этого каждой стопе в 0 кадре установите ключ неподвижного положения (Planted Key). Теперь можно перемещать, вращать центр тяжести, но ноги будут придерживаться того положения, в котором они сейчас находятся.

Выделите центр тяжести и активируйте режим простой манипуляции – вращение. Установите ключ в кадре 0, затем скопируйте только что поставленный ключ в кадр 30. Для чего это надо? Дело в том, что перед выполнением непосредственно самого нагибания вперёд, вставим небольшое упреждение в качестве подготовки к выполнению движения.

Перейдите к кадру 60 (отступаем 30 кадров, как и договаривались), разверните центр тяжести по оси Y на 80 градусов. Скопируйте ключ 60 кадра в кадр 70 – добавляем небольшую задержку.

Теперь пусть скелет разогнётся. Для этого скопируйте ключ 0 кадра в кадр 100.

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

Установите ключ для любого позвонка в нулевом кадре (все позвонки связаны, поэтому имеют общие ключи). Это начальная позиция позвоночника.

Изображение

Следующая поза приходится на 10 кадр. Разверните позвоночник в соответствии с рисунком. Скопируйте ключ 10 кадра в 20 кадр, с которого уже начнётся изгибание (на 10 кадров раньше, чем у центра тяжести).

Изображение

Перейдите в кадр 36 и установите для позвоночника позу как на рисунке. Т.е. сам процесс в итоге будет начинаться с позвоночника. Скопируйте ключ 36 кадра в кадр номер 70. Ну а ключ 0 кадра в кадр 100, чтобы вернуть позвоночник к своему первоначальному положению.

Осталась ещё одна деталь, которую следует добавить – это отклонение центра тяжести. Для перемещения, как горизонтального, так и вертикального, установите ключ в 30 кадре. После этого перейдите в 60 кадр и переместите назад на 5 единиц по оси Y, а также на –3 единицы по оси Z. Затем ключи 30 кадра скопируёте в кадр 100, чтобы возвратить центр обратно после нагибания.

Результат выполнения представленных выше действий находится в файле «bend».

Ноги

Ноги содержат в себе около 40% веса всего персонажа, а если это культурист или подобный ему громила, то гораздо больше половины. Для эффективного и удобного движения ногами персонаж прибегает к помощи рук и туловища. К примеру, удар ногой. Ещё очень важно при анимировании ног передать равновесие. К примеру, персонаж стоит на одной ноге, чтобы лучше удержаться, он может даже руки в сторону расставить.

Норма подвижности (MM) ног составляет 5 градусов/кадр, а максимальная резкость 10 градусов/кадр.

Изображение

«Подъём колена»

Загрузите сцену из файла «knee_start» и активируйте режим «Авто ключа» (Auto Key). Ключи для начальной позы нулевого кадра уже расставлены, поэтому можно двигаться дальше…

Подъём колена заключается в сгибании ноги, где угол этого самого сгибания составляет примерно 90 градусов. Исходя из того, что идеальное MM ноги составляет 5 градусов/кадр, получаем, что на выполнении нужного нам движение следует отвести 30 кадров. Однако, не будем забывать про три фазы движения.

Упреждение при подъёме колена заключается в переводе центра тяжести с двух ног на одну ногу – ту, которая будет единственной опорой во время держания на весу другой ноги. В нашем случае поднимать скелет будет правую ногу, следовательно, в 20 кадре центр тяжести расположите над левой ногой, т.е. перетащите его по оси X (в горизонтальном направлении) на 5 единиц.

В этом же 20 кадре установите ключ фиксирования положения (Planted Key) для правой стопы (эту же операцию можно выполнить через копирование ключа нулевого кадра).

Изображение

Отступаем рассчитанные для подъёма 30 кадров и устанавливаем в кадре номер 50 позу для правой ноги в соответствии с рисунком. Теперь ключ 50 кадра копируем в кадр 70 – держим «на весу» ногу 20 кадров в качестве паузы.

Скопируйте ключ нулевого кадра в кадр 100, это позволит опустить в конце концов ногу (не стоят же скелету, как аисту на одной ноге).

Завершение действия будет выражено в переносе центра тяжести обратно в позицию над обеими ногами. Для этого скопируйте ключ 50 кадра в кадр 90, а ключ 0 кадра в кадр 120. Наброски готовы.

Попробуйте самостоятельно скорректировать траекторию, это вовсе не сложно... В крайнем случае, обратитесь к результату из файла «knee_end».

«Толчок ногой»

В качестве работы на закрепление могу предложить вам выполнить анимацию резкого толчка ногой. В этом движении должно быть задействовано практически всё тело. Руки играют роль «помощи» при выполнении такого резкого движения.

На рисунке изображены 4 кадра из анимационной последовательности толчка ногой. Обратите внимание на 2 кадр – упреждение, 3 кадр – основное действие и 4 кадр – завершение действия.

Изображение

Результат сохранён в файле «kick».

Хотя теорема «временных интервалов» в какой-то степени и позволяет ухватиться за определенные физические закономерности при создании анимации, реальные движения гораздо сложнее, поэтому для их повторения (попытка изображения реальности) я добавлю ещё несколько дополнений, исходя из своих исследований и опыта.

Схема 2. нахождения MM для персонажа:
Изображение

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

Теперь по схеме нахождения MM для персонажа я опишу все элементы более подробно…

Роль веса

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

Изображение

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

Состояние

Поделим состояние персонажа на три вида:

1) Возбужденное, бешенное. При подобном состоянии следует увеличивать не только MM, но и максимальную резкость. Движение «снабдить» повышенным количеством ускорений и выпадов, что и передаст требуемое настроение. Что же касается пауз и замедлений, то они менее свойственны данному состоянию.

В общем, возбужденное состояние даёт увеличение MM на 20%, а дальше уже на ваше усмотрение.

Но возбужденное состояние не сможет компенсировать большую инертность и тяжелых персонажей!

2) Норма. Такое состояние никак не влияет на MM, так что из расчетов состояние в данном случае можно упустить.

3) Вялое, подавленное. Вялое состояние больше отразиться на резкости, а также на увеличении количества пауз, «задумий» и раздумий. В среднем такое состояние уменьшает MM на 20%.

Как видите, в состоянии персонажа может быть две крайности, которые обязательно должны отразиться на его тайминге.

Телосложение

Физическое развитие «накладывает» рамки на интервалы времени, т.к. именно мышцами приходиться передвигать и шевелить  тело.

Мускульное телосложение даёт возможность «перетаскивать» тело с необычайной легкостью. Вот, к примеру, такой случай из жизни: приходит «шкаф» (не «тумбочка», а настоящий «шкаф») в спортивный зал и взвешивается на турнике. Тело громилы неподвижно и спокойно свисает, в то время как руки таскают его 40 раз вверх вниз. Смотрится нереально, но факт. Имея даже большой вес, человек с хорошим укладом мышц сможет довольно просто и, в случае необходимости, резко передвигаться. Или обратите внимание на изображение монстров в мультах и кино. Иногда можно даже встретить персонажа какого-нибудь чужого, весом в 200 кг (примерно), который при всей своей тучности совершает прыжки на дистанцию около 5-10 метров. Что же касается его резкости, то здесь ему также нет равных… В любом случае, даже если для вашего героя телосложение и компенсирует вес (вы так решили), то добавляйте в движения побольше значимости.

Отсутствие развитой мускулатуры просто либо не станет совсем влиять на интервалы времени, либо просто их подчеркнёт (как, например, у полных людей).

Особенность нормального движения

Следует внести одну поправку в теорию. Исходя из теоретического значения, при стандартном, скажем так, MM головы равным 5 градусов/кадр, поворот головы на 5 градусов будет осуществляться за 1 кадр. Однако, такое моментальное движение противоречит как логике, так и самой теории. Какое может быть постоянство при движении, если начнутся такие вот передёргивания. Для выхода из данной ситуации, т.е., если угол поворота для выполнения того или иного действия составляет значение менее 30 градусов, нужно произвести корректировку момента времени:

Изображение

Такая подгонка необходима для придания движениям плавности, поэтому если угол поворота оказался меньше 30 градусов, то проявите немного жалости и добавьте несколько кадров.

Внешние воздействия

Внешние воздействия — это прежде всего сила тяжести, которая часто позволяет уменьшить тайминг на выполнение того или иного действия. К примеру, опускание руки или приседание персонажа. Я думаю, что не к чему выводить какие-то формулы для точного расчета количества кадров, которые позволит «сэкономить» гравитация. Лучше всего, если вы на действие, сопряженное с притяжением вниз, будете отводить, скажем, на 5-10 кадров меньше. В любом случае, всегда есть возможность редактирования и, если результат будет вас не устраивать, вы сможете переделать по-другому.

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

Вот и всё, что касается «статичного» движения, теперь пару слов о «динамичном».

Страницы: 1 2 3 4 Следующая »

#3D Studio MAX, #анимация, #персонажи

29 сентября 2004 (Обновление: 3 дек 2017)

Комментарии [21]