Приближение анимации персонажа к реальности. (3 стр)
Автор: Сергей Солохин
«Динамичное» движение и метод анализа
Анализ, он, конечно, и в Африке анализ. Хотя можно довольно долго смотреть на бегающую собаку, так и не поняв, как потом всё это повторить на компьютере. Согласитесь, что в любом деле можно достигнуть горазда лучших результатов, если иметь план своей работы. Я же провожу анализ приблизительно в следующей последовательности:
1) общее исследование
a. на продолжительность анимации
b. степень участия частей тела в анимации
c. основные расстояния при перемещениях
2) первичные действия
a. я приступаю к анимированию начиная с тех частей тела, которые несут непосредственную смысловую нагрузку анимации. Чаще всего под подобную категорию попадают ноги и центр тяжести, за который я тягаю персонажа в пространстве
b. стараюсь как можно больше узнать о позах во время движения «основных» для данной анимации частей тела.
3) вторичные детали
a. вторичные детали чаще всего подчеркивают значимость первичных действий. Это могут быть содрогания, колебания, как следствие совершения того или иного действия. А если это, например, руки, то они часто являются вспомогательными элементами при движении.
Теперь я продемонстрирую метод анализа на примере анимаций ходьбы и бега персонажа.
Ходьба
Введение
Ходьба – это наиболее часто встречающаяся в нашей жизни, можно так сказать, базовая анимация. Существует различные стили ходьбы, однако, технология моделирования самого движения при этом, практически, одинаковая.
Разделим анимацию на первичные и вторичные движения. Под первичными будем подразумевать основную часть анимации – движение тела в пространстве с перемещением ног, практически без участия рук, головы и позвоночника (руки желательно даже спрятать). Это задаст анимации черновой вариант, после которого можно будет перейти к вторичным движениям: покачиваниям плечами, управлением позвоночником и т.п. деталям, придающим движению персонажа больше реализма.
Анализ ходьбы я проведу на Biped скелете, олицетворяющем самого обычного «земного» человека.
Представлю сразу некоторые размерности, за которые можно было бы зацепиться при анимировании:
1) расстояние шага составляет примерно половину высоты персонажа
2) продолжительность выполнения двух шагов равняется примерно 30 кадрам или одной секунде.
заметьте, что я везде вставляю слово примерно, потому что значения не являются правилом, а всего лишь опорой.
Первичные движения
Обратите внимание на ключевые позы при движении ног:
< Рисунок 1 >
Совершаемое действие | номер кадра во времени |
перемещение левой ноги | 2 |
касание левой ноги | 8 |
поднятие правой ноги | 11 |
перемещение правой ноги | 17 |
касание правой ноги | 23 |
поднятие левой ноги | 26 |
Представленные выше 6 ключевых кадров для каждой ноги и плюс перемещение COM’а составляют в целом основу всей ходьбы. Однако, здесь возникает небольшая проблема, связанная с интерполяцией значений. Т.е. на моделировании анимации двух шагов дело может не закончиться, потому что последние ключевые кадры должны плавно перетекать в первые, анимация должна повторяться, сохраняя постоянство. Помощь в решении этой проблемы может оказать следующее:
- использование любого средства по микшированию, позволяющего выполнить повторение движения. Это может быть, например, Motion Flow.
- создание 6 шагов анимации ходьбы, из которых средние 2 шага могут полноценно уже использоваться для экспортирования в игру и т.д.
Заметки по движению ног:
1) Помните, что вынесение левой ноги вперёд сопровождается вынесением вперёд правой руки и наоборот. Такое движение необходимо человеку, чтобы сохранять равновесие.
2) Когда человек наступает на ногу, его тело немного опускается вниз, когда же он выносит ногу – поднимается вверх. Причём, покачивание должно происходить плавно и периодически, как будто вычерчивая график синусоиды.
3) Не забывайте о ширине ног, потому что мужчины часто держат ноги широко (особенно если это касается воинов).
4) Редко когда ходьба проходит с прямыми, как кирпичи, стопами. Нет, стопы желательно развернуть. Пусть даже он будет косолапым. Во всяком случае, не оставляйте ноги ровными шпалами, это нереалистично.
5) Перед тем как вынести ногу, человек наступает на носок и с него уже двигается дальше. Добавьте эту деталь, чтобы показать наличие пальцев у персонажа. Даже обувь прогибается в носке при ходьбе. Как можно увидеть из кадров на рисунке 1, человек наступает на ногу с пятки.
Есть проблема, связанная с выворачиванием бёдер в CStudio. И проблема заключается в том, что их можно опустить или поднять, но повернуть вперёд назад вовсе нельзя. Я говорю о манипуляциях с костью таза (Pelvis). Разрешить подобный конфликт можно через вращение в одно направление COM’а (ноги должны быть «привязаны» к земле) и в противоположное направление позвонков. Последнее необходимо для того, чтобы верхняя часть тела «смотрела» вперёд.
Вторичные детали
Заметки по поводу движения верхней части туловища:
1) Одна рука должна быть впереди, в то время как персонаж наступает на пятку. Затем начинается её движение назад, однако она сгибается в локте и за счёт этого остаётся ещё какое-то время впереди. Не забывайте, что рука вращается при ходьбе не только в плечевом суставе, но и в локтевом тоже.
2) При опоре на ногу соответствующее плечо должно опускаться. Вслед за ним и искривляется позвоночник по дуге. Подобный процесс можно отобразить в следующей последовательности. Нога выноситься вперёд, плечо медленно опускается. Противоположная рука также выноситься вперёд, вслед за ней немного разворачиваются и плечи. Затем вес переноситься на ногу (персонаж наступает на неё) и плечо резко опускается пониже. В это же время, если смотреть сверху, плечи уравниваются.
3) Очень эффектно можно приукрасить внешний вид анимации через покачивание головы во время ходьбы. Когда одна нога «весит в воздухе» на уровне другой – голова смотрит прямо. Затем начинается незначительно движение головы вверх и вперёд. Когда человек ступает на пятку – голова на своей исходной позиции.
«Ходьба»
Теперь, после всех перечисленных заметок, осталось только реализовать данное движение на практике.
Загрузите сцену из файла «walk_start». Ничего особенного вы не найдёте в этой сцене, за исключением обычного скелета Biped, которого мы и будем анимировать.
Создайте 9 шагов при Walk Footstep равным 18 и Double Support равным 3. Каждый полученный шаг разверните на 10 градусов по оси Z (носки врозь).
Итак, CStudio сгенерировало нам наброски ходьбы, и ключевые опорные кадры мы уже имеем, осталось только всё настроить подобающим образом, добавить немного реализма.
Переходим к настройке анимации ног (включите режим «Авто ключа»):
1. Бедро (Pelvis) в каждом её кадре нужно развернуть на 10 градусов в таком направлении, чтобы нога, на которой скелет Biped стоит в данном кадре, выпрямилась.
2. Редактируем положение отрыва ноги от земли (lift). Чтобы легче «выловить» нужное состояние ноги, включите режим показа этого самого состояния . Во всех найденных для обеих ног кадрах разверните верхние фаланги пальцев на 30 градусов по оси Z. Как удобно выделить сразу все фаланги? Достаточно выделить стопу (Feet) и перевести это выделение на потомков нажатием кнопки «PageDown» на клавиатуре. Теперь можете разворачивать их. В итоге пальцы должны плотно прилегать к поверхности (воображаемая поверхность, по которой ходит персонаж), а пятка висеть «в воздухе».
Следующий перечень ключей для редактирования – это положение ноги в перемещении (move), а именно — положение, аналогичное 1-му и 4-му кадру рисунка № 1. В подобном кадре ногу нужно немного поднять вверх (2 единицы) и опустить чуть-чуть стопу (поворот 20 градусов по оси Z) В каждом таком кадре и после него трёх последующих значение натяжения (tension) для ключа нужно установить в 25 (проще для этого обратиться к утилите «Normal Tension»). Для быстрого перемещения по ключевым кадрам удобно воспользоваться «режимом ключа», который активируется соответствующей кнопкой .
3. Добавляем новый слой, в котором редактируем нулевой кадр:
- Calf – кости ноги разворачиваем друг от друга на 10 градусов (ось X).
- Опустите ноги вниз до их полного выпрямления (хватайте за пятки и тяните вниз), а затем поднимите центр тяжести так, чтобы ноги оказались примерно на той же высоте, что и были раньше (удобно равнять по линии оси сетки в виде сбоку).
Давайте теперь посмотрим на полученный результат. Для этого зайдите в диалог конфигурации времени (Time Configuration) и укажите начальное время (Start time) равное 67-ми, а продолжительность (length) – 30-ти. Теперь активируйте режим движения на месте (In place mode) и проиграйте анимацию. Скелет будет идти на месте до тех пор, пока вы не остановите воспроизведение анимации (или пока свет не выключат :) ).
Верните конфигурацию времени к своему первоначальному диапазону, а именно к начальному времени (Start time) 0 и продолжительности (length) 138.
Настройка верхней части тела:
1. Если вы спрятали руки скелета, то теперь их самое время показать. Не знаю, как CStudio рассчитал вам ключи, однако у меня появляется небольшой казус. Он заключается в том, что правая рука качается при ходьбе значительно меньше левой, как будто у них разные траектории. Такого рода недочёт стал возникать у меня только в новых версиях CStudio, но, в любом случае, с ним легко справиться. Если вашего Biped’а также немного «перекосило», то давайте это подправим.
Убедитесь, что вы находитесь на уровне слоя-оригинала. Выделите всю левую руку (все кости руки) и скопируйте её траекторию (Track), затем перенесите выделение на кости правой руки и вставьте только что скопированный путь. В итоге, руки будут одинаково двигаться. Выделите все анимационные ключи правой руки (кроме первого) и сдвиньте их на 15 кадров влево. Вот и всё, что требовалось для исправления.
2. Перейдите к первому слою, который мы уже использовали для коррекции позы ног, теперь будем его использовать для коррекции позы позвоночника, рук и головы. Если режим «Авто ключа» выключен, то вновь активируйте его.
Голову опустите на 15 градусов (ось Z), а позвонки поверните по оси Z следующим образом:
- spine на 5 градусов
- spine1 на -10 градусов
- spine2 на 15 градусов