Перейти к содержимому


Информация о статье

  • Добавлено:
  • Просмотры: 1094

 


* * * * *
0 Рейтинг

Базовая скелетная анимация персонажа в 3Ds max

Написано в Сен 15 2015 15:41

Интерфейс лидера рынка 3D - программы 3Ds Max - очередной раз изменился, а все простые уроки анимации в сети в основном расчитаны на старые версии. Я исправлю эту несправедливость.

Для выполнения урока у вас уже должна быть загружена модель с выполненными ригом (скелетоном) и скином, и вы должны быть достаточно знакомы с программой. Я воспользовалась скелетоном от Bethesda Softworks, в процессе моддинга к игре TES IV, с привязанной моделью от Petrovich. А  вы можете пользоваться любым доступным вам скелетоном и телом. Загружайте его в макс и поехали.

Скриншоты не уменьшались, и кликабельны.

Выставите в свойствах оболочки галочку "видеть сквозь" - see through. Затем заморозьте ее. Очень хорошо включить Отображение траектории, но я не пользовалась ей.

Перво-наперво определяем сколько кадров и времени нам понадобится на анимацию.  Средняя скорость нормального фильма или движка - в районе 30 кадров в секунду. Так как мы будем маленькую анимацию делать, буквально какую попало, выставим 30 кадров.

КАК выставить линейку времени и кадров?


Чем меньше единиц на шкале времени, тем быстрее движение. Жмем иконку с часиками и выбираем End time

Изображение


Выставляем выбранное число.

Изображение


У нас есть 30 кадров. Далее варианта развития событий два.

Если нажать autokey, писать можно с любого кадра. Нулевой захватит вашу начальную позу автоматически. Пользуйтесь ЭТИМ режимом для написания анимации. Так вы ничего не потеряете. Продвинутые товарищи могут включить режим set key и жать кнопку с иконкой ключа в любом месте, где им нужен ключ. Это если вы уже точно знаете,  где и что у вас будет. Но пока используйте авторежим.

Как начать записывать анимацию?


Нажимаем кнопку autokey. В РЕЖИМЕ autokey ЛЮБОЕ ДВИЖЕНИЕ В КАДРЕ автоматически СОЗДАСТ КЛЮЧ!!! Можно написать нулевую позу сразу, если она не соответствует позе загрузки, а можно не писать. Там все равно создастся ключик, и мы к нему еще вернемся.

Изображение


Я перехожу в 10 кадр. Двигаем бегунок в 10. У меня будет смещение, поэтому я нахожу bip1 (это точка, в которую сходится привязка всех костей, вершина "дерева привязки" и продвигаю все тело сразу вперед.  Если же вы делали классический риг для рендера внутри программы, найдите свой управляющий деревом элемент (обычно это большой сплайн). Затем инструментом вращение придем костям позу. Выделять весь скелет и создавать запись в ключе для каждой кости не надо, кости зависят друг от друга и эта зависимость сама поставит их, как необходимо. Например, чтобы подвинуться вперед всем телом, достаточно записи положения bip1, даже если весь скелет не выделен.

Изображение


Я делаю ключевую позу. Что я имею ввиду? Это самые базовые точки движения. Например, при ходьбе их около шести на цикл. НЕ отключая режима автокей, перевожу бегунок  в кадр 20 - предыдущая поза записана. Создаю вторую  позу.

Изображение


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

КАК записать отдельный ключ?


Выделите весь скелет! В режиме autokey 30 кадре я не трггаю кости, а нажму setkey, (НЕ кнопку с такой надписью, а большую квадратную кнопку с иконкой ключа), ключ запишется, а я передвину бегунок в 0. Фигурка вернулась в исходное положение руки в стороны.

Изображение


Меня это не устраивает. Я опущу ей руки. Ключ перепишется. (мы все еще в режиме autokey, так что аккуратнее) Выходим из режима autokey. Передвигаем бегунок в 30 кадр. Тело принимает последнюю заданную позу.

КАК скопировать позу из другого ключа?

Выделяем все кости. Щелкаем правой кнопкой по бегунку. Вы помните, что у нас был шаг вперед? Снимаем галочку position, оставляем только rotate и scale. В строчке source пишем номер кадра, откуда хотим взять позу, в данном случае 0, и жмем Enter. Тело принимает позу из нулевого кадра. Если вы забудете о галочке position, вас сдернет в те координаты! Аккуратно выбирайте, какой ключ хотите копировать.

Изображение


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

Изображение


Конечно, она будет смотреться ужасно. Почему?

КАК добиться правильной анимации?


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

КАК сменить скорость?


Добавим времени. Идем в самую первую иконку с часиками и ставим end time 60. Выделяем ключи двойным кликом и переразмещаем на линейке. 30 на 60, 20 на 40 а 10 на 20. Вы помните, что мы уже несколько абзацев НЕ находимся в режиме  autokey?

КАК работать с исправлениями?


Теперь покрутите бегунок. Совсем не то, что вы ожидали. В 30 кадре человек принимает позу, которую физически принять невозможно. Перейдем в 30 кадр, нажмем autokey и и нажмем setkey. Создался ключ. Выходим из режима autokey. Выделяем все кости и как описано выше, копируем позу из 0 кадра.

Изображение


Вот теперь ноги она поднимает и опускает по очереди и руками машет, как надо. Но вот в начале анимации происходит форменный кавардак! На самом деле, мах ногой начинается одновременно с движением вперед, и шага нет... Исправим это. Переведем бегунок в 15 кадр. Включим автокей и нажмем setkey. И создадим ключик. Выйдем из режима автокей. Выделим весь скелетон. Копируем позу из 20 кадра, ТОЛЬКО position. А потом из нулевого - КРОМЕ position. Тренировка прежде всего!


Проиграем. Смешно, она подплывает туда, как лич. Стоит убрать это перемещение. Для чего мы писали 15 кадр? потренируемся убирать ненужное.

КАК убрать лишнее движение?


Для этого копируйте в ключи значение position из 0, НЕ переписывая rotation и scale. Теперь дама только машет ногами, но зато возникла пауза в начале. Если движения больше нет, удалите ключ из кадра 15.

КАК удалить ненужный ключ?


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

КАК записать повторяющуюся анимацию?

Чтобы зациклить анимацию, выделим все косточки, и перейдем в curve editor.

Изображение


Да, а кто говорил, что будет легко? Это вот такая страшноватая, но волшебная вещь.

Изображение


Находим там Parameter Curve и выставляем: маленькую левую кнопочку под Constant, а правую маленькую кнопочку под Loop - петлю. Анимация зациклена. Попробуйте  и другие версии, не стесняйтесь.

ЕСЛИ вы хотите создавать ПОХОДКУ или анимацию с перемещением, выберите правую кнопку под Относительным Повторением (Relative Repeat). Почему? Да потому, что походка перемещает вас относительно начальной координаты. И если вы выберете петлю, вас швырнет в ноль после завершения анимации. А я выбрала петлю, потому, что движок игры перерасчитывает координату локально - 0-30, 0-30...

Ну вот, красотка заправски машет ногами и руками, хоть сейчас в кремлевские курсанты.

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

Удачи.

PS. Если вы блаженно выставили начальную позу и вдруг увидели, что забыли включить автокей, не пугайтесь. Включите его и сдвиньте бегунок в другой кадр, и там пошевелите ручкой-ножкой или сеткей нажмите - первая поза запишется в нулевой ключ сама АВТОМАТИЧЕСКИ, независимо от сложности.

Изображение