3D анимация Флекса или простого танца через циклы в Maya
Привет! Не так давно мне пришлось сделать более 20 анимаций цикличных танцев для разных существ в Аллоды Онлайн, в основном животных, но пайплайн к которому я пришел может пригодиться во многих цикличных анимациях.
Статья разделена на 2 части:
Теория:
Я пишу о том как нашел данный путь создания анимаций и какие ключевые моменты я подметил, в общем пересказ моей мыслительной деятельности.
Практика:
В практике гифки, скрины, кнопки и процесс создания анимации
Так что кто не любит читать и хочет сразу за станок, можете пропускать теорию)
Теория
В отличии от создания чего либо с нуля, здесь у меня на входе готовый персонаж с ригом, возможно у него уже есть некоторые анимации рассказывающие о его характере или диз. док, но чаще всего персонаж сам говорит за себя своим видом, и огромное спасибо что мне дают волю побыть фантазером, я знакомлюсь с ригом, играю с персонажем, иногда совершенно случайно выходят анимации для локальных гиф мемов. Как только я познакомлюсь с персонажем, его повадками и характером, я либо сразу приступаю набрасывать анимацию с головы, как чувствую, или, при сложностях, ищу референсы, это могут быть обычные люди, актеры, реальные животные или другие персонажи которые схожи с моим.
Условия и ограничения приводят к интересным пайплайнам.
Требовалось делать минимум 1 анимацию в день, вне зависимости от сложности рига.
Танец может быть простым, вплоть до одного цикла
Танец должен быть ритмичным и восприниматься как танец, или хотя бы флекс).
Все это заставляет думать, какие танцы я буду делать, если у меня не так много времени?
Правильно заданный вопрос — половина ответа.
Что из себя представляет танец?
Это ритмичные, пластичные движения под музыку, это высказывания или выражение эмоций своим телом, или просто развлечение. Хороший танец может рассказать нам о характере персонажа, его переживаниях, чувствах, ну и также о возможностях его тела. Но чем больше танец рассказывает о персонаже, тем он сложнее. Есть простой вариант танца — это флекс, он несет меньше информации, но может быть забавным, полноценный танец и флекс это как рассказ и шутка.
Как выглядит простой танец и что в нем самое важное?
Этот вопрос — прямой призыв к поиску референсов, вспоминаем мемы или гуглим simple dance к примеру.
Мне были очень симпатичны кусочки танцев которые можно зациклить из мультфильма коты-аристократы, также на этот вопрос могут ответить видео мемы где танцуют животные)
Я считаю важным в танце это повторяющееся движение торса и головы, они задают ритм, дальше подключаются конечности. Т.е ОСНОВА Анимации — это движение торса и больших форм, с этого стоит начать анимацию, затем идет работа со средними формами — голова, руки, ноги, а затем мелкие формы и акценты — кисти, пальцы, ушки и тд.
Смотрите какое простое и гармоничное движение! Таз раскачивается задерживаясь в крайнем левом или правом положении, немного поворота в груди и заметный наклон головы и все это циклы!
И тут — ритмичное покачивание таза и немного акцентов ногами и мы слышим музыку под которую эти крошки танцуют!
Как добавить разнообразия в простой танец?
Вариантов много, можно добавить перемещение, чтобы персонаж не стоял на месте, или играть с амплитудами цикла, это когда персонаж качается то слабо, то сильно, или можно сделать несколько циклов и чтобы они сменялись по очереди. На примере ниже 2 цикла с простым переходом между ними
FPS и BPM
Это мне показалось интересным в работе, мне нужно было узнать длительность (период) цикла чтобы это было похоже на танец, за какое время обычно персонаж должен присесть-встать, прыгнуть-приземлиться, повернуться влево-вправо.
я решил оттолкнуться от bpm в музыке, а именно 120 bpm. 120 bpm это 2 удара в секунду, значит цикл будет равен 30 кадрам при 30 fps, но удобнее работать с длинной цикла в 32 кадра, так как проще делить удлинять циклы 4,8,16,32,64,128 и тд
Практика
Подготовка сцены
Итак, мы уже нашли референсы или у нас есть идея в голове, первым делом настраиваем сценку, распределяем сетку, скелет и риг по слоям.
Сетку переключаем на референс, скелет прячем.
Если контролы рига находятся в иерархии костей скелета и когда мы прячем скелет с помощью слоев — контролы также прячутся, то можно спрятать кости в разделе Show — Joints.
В итоге если выбрать окном лкм все что есть в сцене, у нас должны выбраться все локаторы рига и только. После этого я сохраняю это сцену отдельно, называю например: croco_rig_anim
P.S.
В моем случае у меня есть персонаж с ригом и готовый к анимированию, поэтому этапы с построением скелета, скинингом и риггингом я упускаю.
Знакомство с ригом
Перед тем как начать анимировать стоит пробежаться по локаторам (контролам) рига, посмотреть как это работает, обычно риг простой и понятный, но ознакомление поможет лучше прочувствовать возможности рига.
Фиксация локаторов на кадрах
Выбираем все локаторы и:
1. Выставляем цикл 32 кадра и длину анимации 64
2. Создаем новый слой анимации
3. Выбираем BaseAnimation слой
4. Перемещаемся на 0й кадр и нажимаем S (set Key)
5. Выбираем созданный слой и нажимаем S (на нулевом кадре)
Теперь у нас есть ключи на слоях, это своеобразная фиксация, поможет избежать проблем при последующем открытии и в работе (так как локаторы зафиксированы на BaseAnimation слое, maya не будет путать их положение в пространстве).
Анимация больших форм
Итак, для начала делаем цикличное движение одного контрола слева направо, чтобы определить ритм.
На 0-м кадре делаем наклон нашего контрола в крайнее положение, копируем ключи на 16й и 32й кадр, на 16 м кадре изменяем значение ключа на противоположное (с -х на +х).Заметьте что по оси х (красная кривая) длина цикла 16 кадров, а не 32, это потому что я хочу чтобы между крайними положениями был наклон вниз.
Также чтобы зациклить нашу кривую мы нажимаем
Curves>Pre infinity>Cycle
Curves>Post infinity>Cycle
или на кнопочки которые вы увидите ниже в гифке.
И вот у нас есть цикл, но мы видим небольшую паузу так как последний и первый кадр цикла одинаковые, решение простое мы либо выставляем длину проигрывания с 1 по 32 кадр или с 0 по 31 кадр.
Теперь у нас цикл проигрывается правильно, но движение слишком идеальное. (вспомните про 12 принципов анимации, а именно 6й — смягчение начала и завершения движения).Делаем заметными паузы во время смены направления движения, для этого мы ставим ключи перед крайними позициями и смотрим что получается.
Далее у нас несколько вариантов как работать со следующими контролами, но суть одна — нам нужно раскачать все тело.
Можно копировать ключи с анимированного контрола на следующие и работать от этого, можно выставлять ключи с чистого листа — как мы делали с первым локатором, это уже по настроению.
Чтобы копировать ключи выбираем локатор исходник, дважды щелкаем по Time liner, правой кнопкой туда же и Copy, далее выбираем локатор куда хотим вставить ключи, пкм и Paste.
В случае с локаторами головы копирование не сработает, так как у тела мы ставили ключи поворота, а у головы ключи перемещения. Поэтому ставим их ручками.
А теперь начинается немного магии, мы сдвигаем циклы идущие от источника раскачивания, в этом случае — циклы шеи и головы.
Но все равно выглядит слишком плавно, не так ли? давайте добавим резкости голове.
Вот так я изменил кривые, стрелочка указывает на кнопку которая позволяет изменять кривую до и после ключа раздельно.
Думаю с этого момента суть ясна, теперь нужно раскачать оставшуюся часть тела.
В случае с хвостом было бы удобно выбрать кадр на котором мы поставим его в крайнее положение, затем сдублируем эти кадры на противоположное положение и инвертируем, затем выставим паузы, дальше можно смещать все кривые как нам нравится, чтобы хвост следовал за телом или головой.
Осталось задействовать ноги, и внести несколько финальных штрихов в мелочах (пасть у крокодила например).
В данном случае с ногами кривые будут иметь другой вид, я сделал чтобы нога половину кадров находилась на земле без изменений, как видите нога двигается и поворачивается в половине от всего цикла.
1. Вращение ноги с захлестом, нога поднимается, но ступня расслабленно начинает свисать, и как только нога начинает опускаться ступня загибается вверх, это видно на гифке выше.
2.Вращение ступни отстает от движения ноги, так как причина вращения — это движение ноги, поэтому лучше сделать отставание.
Полировка\Правки
Итак мы сделали цикл и уже помним и ощущаем наши кривые, теперь можно пойти передохнуть, проветриться и когда вернемся со свежим взглядом — увидим что хочется чуть подкрутить там, чуть помазать сям)
Амплитуды мы можем менять выбрав кривую, переключим режим отображения графика.
переключение режима отображения
Нажав масштабирование (у меня R по умолчанию) зажимаем Shift и колесо мыши и тянем вниз или вверх.
Где то может нам захочется сдвинуть циклы относительно друг друга, или менять что то отталкиваясь от того что есть, это очень увлекательно, так что вперед развлекаться! Точнее анимировать!)
Полезные ссылки
Огромная благодарность каналу Павла Барнева, там вы найдете много полезных гайдов про скининг, риг, слои анимации, циклы и тд.
Здесь можно найти короткие визуальные гайдики и вдохновение
А так, всегда можно гуглить Game animation reel на ютубе)
Также полезно почитать:
https://habr.com/ru/post/315592/
Ну и конечно же! Десерт! Спасибо за внимание, всем сердцем желаю вам делать дела которые заставляют вас быть счастливыми!