~8 мин

Микроанимации и переходы в интерфейсе: тайминг, easing, амплитуда

Почему один интерфейс «отвечает», а другой просто дёргается

Микроанимации и переходы в UI: как тайминг, плавность (easing) и амплитуда делают интерфейс живым. Разбираем обратную связь, появление элементов и доступность.

Что такое микроанимация простыми словами

Представь две кнопки. Первая молча меняет цвет - щёлк, и всё. Вторая на долю секунды чуть проседает под пальцем, как настоящая клавиша, и плавно отпускается. Угадай, какая ощущается живой? Вторая. А разница - буквально пара десятых секунды движения. Вот это и есть микроанимация: малюсенький отклик интерфейса на твоё действие.

Микро - потому что она крошечная и сама по себе почти незаметная. Её задача не показать фокус. Её задача - тихо сказать: «услышал, всё идёт как надо». Хорошая микроанимация работает как кивок собеседника. Ты её не замечаешь. Но убери - и разговор кажется мёртвым.

Сразу разведём два слова, которые вечно путают. Микроанимация - это отклик на действие: нажал, навёл, переключил. Переход - плавная смена одного состояния другим: меню выехало, карточка раскрылась. Логика у них одна, поэтому держим в одном уроке.

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

Зачем нужны анимации в интерфейсе

Можно собрать интерфейс совсем без движения - работать он будет. А ощущаться будет дёшево и нервно: непонятно, нажалось ли, загрузилось ли, куда делась карточка. Анимация закрывает эти дыры почти бесплатно.

  • Обратная связь. Движение подтверждает: действие сработало. Без него человек жмёт кнопку второй раз - на всякий случай.
  • Понятная навигация. Меню выезжает, а не выпрыгивает рывком - и мозг сразу видит, откуда оно взялось и куда вернётся. Резкие скачки дезориентируют.
  • Ощущение качества. Плавные отклики читаются как «сделано с любовью». Та же логика, что у дорогой кнопки, только в динамике.
  • Внятный бриф нейронке. Вместо «оживи как-нибудь» ты скажешь: «короткий hover с лёгким подъёмом и плавным easing». Это и есть разница между новичком и тем, кто видит детали.

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

Из чего состоит хорошая анимация: три кирпича

Любая микроанимация держится на трёх вещах. Сам эффект - вторичен. Решают именно эти три параметра.

Тайминг анимации - сколько она длится

Тут правит одно слово: коротко. Интерфейс должен поспевать за человеком, а не заставлять его ждать. Мелкий отклик - нажатие, наведение - совсем быстрый, около десятой доли секунды. Переход покрупнее - выезд панели, раскрытие карточки - подлиннее, но всё равно в районе трети секунды.

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

Easing (плавность) - как анимация разгоняется и тормозит

Самый недооценённый параметр. Easing - это про то, движется ли элемент равномерно или по-живому: с разгоном и торможением.

В реальном мире ничто не стартует и не тормозит мгновенно. Машина разгоняется. Мяч замедляется. Линейная, ровная анимация ломает эту интуицию и сразу читается как «дёшево, машинно». А движение, которое быстро берёт старт и мягко тормозит к концу, кажется естественным. Его и хочется почти всегда.

Плавность, которая ощущается живой
  • Быстрый старт и мягкое торможение к концу - элемент будто доезжает, а не падает.
  • Короткая длительность: глаз ловит движение, но не успевает заскучать.
  • Чуть разная плавность на появлении и исчезновении - живее, чем зеркальная копия.
Плавность, которая выдаёт новичка
  • Равномерное (линейное) движение - как анимация из старой презентации.
  • Резкий обрыв в конце - элемент будто врезался в стену.
  • Пружинный отскок на всём подряд - вау один раз, потом отвлекает и бесит.

Амплитуда анимации - насколько сильно элемент двигается

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

Беда начинается, когда амплитуду выкручивают на максимум: элементы летают через пол-экрана, скачут, пружинят. Первый раз - вау. Третий - раздражает. Десятый - хочется выключить. Микроанимация на то и микро: её должно быть видно, но не слышно.

Три кривые движения во времени: равномерная, с мягким торможением и с пружинным отскоком; маскот Sodi в скетче указывает на живую
Один и тот же путь, три закона движения. Равномерный - мёртвый, с торможением - живой, с отскоком - игривый, но на любителя. Sodi показывает на правильный вариант.

Где микроанимации уместны, а где нет

Не всё подряд нужно оживлять. Анимируй там, где движение что-то объясняет, и оставляй в покое то, что и так понятно.

  • Состояния кнопок и ссылок. Hover и нажатие - классика. Лёгкий подъём, смена цвета, рост тени. Это первое, что делает интерфейс отзывчивым.
  • Появление и исчезновение. Тосты, модалки, выпадающие меню, подсказки. Пусть выезжают и тают, а не мигают рывком - тогда ясно, откуда они и куда уходят.
  • Переключатели и галочки. Тумблер плавно перекатывается, чекбокс коротко отрисовывает галочку - крошечный, но приятный момент подтверждения.
  • Загрузка и ожидание. Скелетоны-заглушки и плавные индикаторы говорят «работаю, подожди» куда лучше застывшего экрана.
  • Смена раздела или экрана. Мягкий переход помогает мозгу понять, что одно сменилось другим, а не телепортировалось.

Пример: как оживить кнопку и модальное окно

Соберём отклик по тем же трём кирпичам - тайминг, плавность, амплитуда - и проговорим всё словами, чтобы это можно было отдать нейронке.

Бриф для нейронки: живой отклик кнопки

Добавь кнопке микроанимации. При наведении она чуть приподнимается и слегка светлеет, тень мягко растёт. При нажатии - проседает на пару пикселей, тень уменьшается, будто физическую клавишу вдавили. Длительность откликов короткая, около десятой доли секунды. Плавность - быстрый старт и мягкое торможение к концу, без линейного и без резкого обрыва. Амплитуда маленькая, движение еле заметное. Предусмотри спокойный вариант без движения для режима «уменьшить движение».

Бриф для нейронки: появление модалки

Сделай плавное появление модального окна. Фон-затемнение мягко проявляется, само окно чуть всплывает снизу и слегка увеличивается до нормального размера. Длительность - в районе трети секунды на появлении и заметно быстрее на закрытии. Плавность с мягким торможением к концу, без пружинного отскока. Никакого мигания и резких скачков. Для режима «уменьшить движение» окно просто появляется без сдвига и масштабирования.

Частые ошибки в микроанимациях

  • Слишком долго. Анимация на полсекунды и больше превращает шуструю страницу в липкую. Укорачивай.
  • Линейная плавность. Равномерное движение без разгона и торможения выдаёт «машину» и выглядит дёшево. Добавь мягкое торможение к концу.
  • Огромная амплитуда. Элементы летают через пол-экрана и скачут. Видно, но утомляет. Микро - значит чуть-чуть.
  • Анимируется всё подряд. Когда дёргается каждая мелочь, теряется главное и рябит в глазах. Оживляй только то, что объясняет действие.
  • Мигание вместо перехода. Меню или модалка выпрыгивают рывком - мозг не успевает понять, откуда они взялись. Дай им выехать и плавно уйти.
  • Исчезновение медленнее появления. Ждать, пока что-то лениво уползает с экрана, мучительно. Убирай элементы быстрее, чем показываешь.
  • Игнор «уменьшить движение». Для части людей анимация - физический дискомфорт. Всегда оставляй спокойный запасной вариант.
  • Пружина-отскок везде. Эффектно один раз, бесит на десятый. Держи пружину для редких акцентов, а не для каждой кнопки.

TL;DR - если коротко

  • Микроанимация - крошечное движение в ответ на действие. Её работа - сказать «я тебя услышал», а не устроить шоу.
  • Решает не что двигается, а как. Тайминг и плавность важнее самого эффекта.
  • Тайминг - короткий. Мелкий отклик - около десятой доли секунды, переход покрупнее - в районе трети. Длиннее - интерфейс залипает.
  • Easing - это жизнь. Движение разгоняется и тормозит. Равномерная анимация сразу выдаёт «машину».
  • Амплитуда - маленькая. Кнопка чуть всплыла, иконка качнулась. Большие прыжки бесят с третьего раза.
  • Уважай «уменьшить движение»: кому-то анимация - физический дискомфорт. Всегда держи спокойный запасной вариант.

Поиск по вики

Нажмите Esc для закрытия

Введите запрос для мгновенного поиска по всем страницам курсов и уроков.