Анимация, расставленная по ключам, почти никогда не выглядит хорошо сразу. Доводят её в Graph Editor. Движение получается либо механически ровным, либо дёрганым, и причина не в позах, а в том, как программа соединяет их между собой. Управление этим соединением и есть работа в редакторе кривых.
Пройдём по тому, что показывают кривые, какие бывают типы ключей, откуда берётся дёрганье и как чистить анимацию, не потеряв характер.

Что показывает кривая
База, без которой дальше непонятно.
По горизонтали время, по вертикали значение параметра: положение, поворот, масштаб, что угодно анимируемое.
Ключ это точка, где значение задано вами. Между ключами программа считает промежуточные значения, и форма кривой определяет, как именно.
Главное, что надо научиться читать: наклон кривой это скорость. Крутой участок означает быстрое движение, пологий медленное, горизонтальный остановку.
Отсюда следует всё остальное. Резкий излом это мгновенная смена скорости, то есть рывок.
Типы ключей
Три основных варианта соединения.
Постоянный. Значение держится и скачком меняется на следующем ключе. Нужен для переключений: смена кадра, включение света, подмена объекта.
Линейный. Прямая между ключами. Скорость постоянная, на концах резкие изломы. Подходит для механики и для равномерного вращения.
Плавный. Кривая с плавным входом и выходом. Движение начинается и заканчивается мягко. Используется чаще всего.
Значение по умолчанию обычно плавное, и это одновременно удобно и вредно: всё движение получается одинаково мягким и потому безжизненным.
Разгон и торможение
Главный выразительный приём.
Реальные объекты не начинают движение мгновенно и не останавливаются мгновенно. Они разгоняются и тормозят.
На кривой это выглядит как пологие концы и крутая середина.
Разные сочетания дают разный характер. Медленный старт и резкая остановка: удар. Резкий старт и медленное затухание: отпускание. Симметричные концы: спокойное перемещение.
Работа аниматора в редакторе кривых на 90% сводится к управлению этими двумя участками.
Откуда берётся дёрганье
Разбор причин по частоте.
Лишние ключи. Особенно после захвата движения или автоматической записи. Каждый ключ это точка, где кривая может изогнуться не туда. Откуда берутся такие данные, разобрано в материале про нейросети для анимации.
Изломы на стыках. Касательные с двух сторон ключа смотрят в разные стороны, и скорость меняется скачком.
Перелёт кривой. Плавная интерполяция может вывести значение за пределы соседних ключей. Объект уезжает дальше, чем вы его поставили, и возвращается.
Несогласованность каналов. Положение по одной оси меняется плавно, по другой резко, и траектория ломается.
Последний пункт коварен: каждая кривая по отдельности выглядит нормально, а движение кривое.
Перелёт и как его убрать
Артефакт, который замечают не сразу.
Между двумя ключами с одинаковым значением плавная кривая может провиснуть или выгнуться. Объект, который должен стоять, слегка едет.
Самый заметный случай: конечность персонажа проваливается сквозь пол между ключами, хотя в обоих ключах стоит на нём.
Решения. Ограничить касательные так, чтобы кривая не выходила за пределы соседних значений. Добавить промежуточный ключ. Сделать касательные горизонтальными в точках остановки.
Большинство пакетов имеют режим касательных, автоматически предотвращающий перелёт. Включать его стоит по умолчанию.
Чистка после захвата движения
Отдельная задача со своими приёмами.
Захваченные данные содержат ключ на каждом кадре и высокочастотный шум поверх полезного движения.
Работать с такой кривой невозможно: любая правка съедается соседними ключами.
Порядок действий. Сгладить фильтром, убирающим высокие частоты. Упростить, оставив ключи только в значимых точках. Проверить, что движение не изменилось. Доработать руками акценты.
Опасность: чрезмерное сглаживание убирает резкие акценты вместе с шумом, и движение становится ватным.
Подробнее про источник таких данных есть в материале про захват движения по видео.

Упрощение кривых
Инструмент, которым пользуются постоянно.
Задача: убрать лишние ключи, сохранив форму движения.
Параметр упрощения задаёт допустимое отклонение. Чем он больше, тем меньше ключей останется и тем сильнее изменится движение.
Практический метод: упрощать постепенно, проверяя визуально после каждого шага. Как только заметили изменение, шаг назад.
Что нельзя упрощать бездумно: участки с резкими акцентами. Именно они теряются первыми, а именно они делают анимацию живой.
Циклы
Отдельный случай со своими требованиями.
Цикл ходьбы или вращения должен замыкаться: последний кадр переходит в первый без скачка.
Два требования. Значения в первом и последнем ключе совпадают. Касательные в них тоже совпадают, иначе на стыке будет излом скорости.
Второе требование забывают, и получается цикл с рывком на склейке.
Инструменты для этого есть: модификатор циклического повтора, который сам продолжает кривую, и режим согласования касательных на концах.
Работа с несколькими каналами
Практическая сторона, определяющая скорость работы.
У одного объекта минимум девять кривых: положение, поворот и масштаб по трём осям. У персонажа их сотни.
Что помогает не утонуть. Фильтрация: показывать только выделенные объекты и только нужные каналы. Скрытие каналов, которые не анимируются. Цветовое различение осей.
Нормальная практика: работать с одним-двумя каналами за раз, а не смотреть на всё сразу.
Отдельный приём: временно скрыть все каналы кроме одного, довести его и перейти к следующему.
Драйверы и связанные параметры
Возможность, которая живёт в том же редакторе.
Кроме ключей, значение параметра может зависеть от другого параметра. Поворот колеса от продвижения машины, открытие рта от положения кости, яркость от расстояния.
Такая связь задаётся выражением и отображается в том же редакторе как особая кривая.
Зачем это нужно: анимировать приходится один параметр вместо десяти, а остальные следуют автоматически и всегда согласованно.
Типовые применения: колёса, гусеницы, шестерни, механизмы, вспомогательные элементы риггинга.
Ограничение: отладка таких связей сложнее обычных ключей, и при поломке разобраться труднее. Для простых случаев лучше обойтись ключами.
Модификаторы кривых
Слой поверх ключей, о котором забывают.
К кривой можно применить модификатор, меняющий её результат без изменения самих ключей.
Цикл. Продолжает анимацию бесконечно без копирования ключей. Основной инструмент для повторяющихся движений.
Шум. Добавляет случайное дрожание. Незаменим для тряски камеры, мерцания света, нервных движений.
Ограничение. Не даёт значению выйти за пределы. Полезно, чтобы сустав не выворачивался.
Генератор. Задаёт значение формулой вместо ключей. Подходит для равномерного вращения.
Преимущество перед ключами: всё это правится одним числом и не засоряет кривую сотнями точек.

Что не чинится кривыми
Честное ограничение.
Плохие позы. Если ключевые положения невыразительны, никакая настройка интерполяции их не спасёт.
Неверный тайминг на уровне замысла. Если действие занимает не то время, править надо расположение ключей, а не форму кривой.
Отсутствие вторичного движения. Инерция, колебания, запаздывание частей тела задаются дополнительными ключами, а не кривыми.
Правило: сначала позы и тайминг, потом кривые. Обратный порядок это полировка неверного.
Полезные приёмы
Что ускоряет работу.
Масштабирование группы ключей по времени: растянуть или сжать фрагмент анимации целиком.
Сдвиг ключей одного канала относительно других: даёт запаздывание, то есть естественность.
Инвертирование значения: быстрый способ сделать обратное движение.
Копирование формы кривой с одного канала на другой.
Сдвиг по времени это самый недооценённый приём: смещение вторичных частей на пару кадров относительно основных превращает механическое движение в живое.
В каком порядке двигаться
Схема доводки анимации.
Поставить ключевые позы и добиться верного тайминга. Проверить в воспроизведении, а не по кадрам. Открыть кривые и убрать перелёты. Настроить разгон и торможение на ключевых движениях. Сдвинуть вторичные части по времени. Упростить лишние ключи, если они есть. Проверить циклы на замыкание. Посмотреть целиком ещё раз.
Последний пункт обязателен: кривые правятся по одной, а воспринимается результат целиком.
Про перенос готовой анимации дальше есть материал про ретаргет в UE5.
Где спотыкаются почти все
Карточки
Частые вопросы
Почему объект проваливается между ключами?
Перелёт плавной кривой за пределы соседних значений. Лечится ограничением касательных или горизонтальными касательными в точках контакта.
Как убрать дрожание после захвата движения?
Сглаживанием высоких частот с последующим упрощением. Главное не переусердствовать: вместе с шумом уходят акценты.
Какой тип интерполяции ставить по умолчанию?
Плавный для органики, линейный для механики и равномерного вращения, постоянный для переключений. Универсального нет.
Сколько ключей должно быть?
Минимально необходимое количество. Ключ на каждом кадре означает, что кривой невозможно управлять.
Как сделать движение живее?
Сдвинуть вторичные части по времени относительно основных на пару кадров. Это даёт запаздывание и работает сильнее любой настройки кривых.
Начните с перелётов кривой в точках контакта. Именно они дают самое заметное дёрганье, и правятся быстрее всего.


