Сегодня сложно впечатлить или даже удивить анимацией в интерфейсе. Анимация показывает взаимодействие между экранами, показывает как использовать приложение или просто направляет внимание пользователя. Исследуя статьи об анимации, я обнаружил, что почти все они описывают только определённые варианты использования или общие факты об анимации, но я не встречал ни одной статьи, где бы все правила, касающиеся анимации интерфейсов, были бы чётко описаны. Что ж, в этой статье я не буду писать ничего нового, я просто хочу собрать все основные принципы и правила в одном месте, чтобы другим дизайнерам, которые хотят анимировать интерфейсы, не приходилось искать дополнительную информацию.
Когда элементы меняют свое состояние или положение, продолжительность анимации должна быть достаточно медленной, чтобы дать пользователям возможность заметить изменение, но в то же время достаточно быстрой, чтобы не вызывать ожидания.
Многочисленные исследования показали, что оптимальная скорость анимации интерфейса составляет от 200 до 500 мс. Эти цифры основаны на конкретных качествах человеческого мозга. Любая анимация короче 100 мс является мгновенной и не распознается вообще. Принимая во внимание, что анимация продолжительностью более 1 секунды передаст ощущение задержки и, таким образом, будет скучной для пользователя.
На мобильных устройствах, гайдлайны Materia Design также предлагают ограничить продолжительность анимации до 200–300 мс. Что касается планшетов, то продолжительность должна быть больше на 30% — около 400–450 мс. Причина проста: размер экрана больше, поэтому объекты преодолевают более длинный путь при изменении положения. На носимых устройствах (смарт-часы)продолжительность должна быть соответственно на 30% короче — около 150–200 мс, потому что на меньшем экране расстояние для перемещения короче.
В веб-анимации немного по-другому. Так как мы привыкли к почти мгновенному открытию веб-страниц в браузере, мы ожидаем также быстрого перехода между различными состояниями. Таким образом, продолжительность веб-переходов должна длиться примерно в 2 раза короче, чем на мобильных устройствах — от 150 до 200 мс. Иначе пользователь неизбежно будет думать, что компьютер зависает или имеет проблемы с подключением к Интернету.
Но! Забудьте об этих правилах, если вы создаете декоративную анимацию на своем сайте или пытаетесь привлечь внимание пользователя к определенным элементам. В этих случаях анимация может быть длиннее.
Необходимо помнить, что независимо от платформы продолжительность анимации должна зависеть не только от пройденного расстояния, но и от размера объекта. Меньшие элементы или анимация с небольшими изменениями должны двигаться быстрее. Соответственно, анимация с большими и сложными элементами выглядит лучше, когда она длится немного дольше.
Среди движущихся объектов одинакового размера первым останавливаются объекты, прошедшие кратчайшее расстояние.
Маленькие объекты по сравнению с большими объектами движутся медленнее, поскольку они имеют большие смещения.
Когда объекты сталкиваются, энергия столкновения должна быть равномерно распределена между ними согласно законам физики. Таким образом, лучше исключить bounce эффект. Используйте его только в исключительных случаях, когда это имеет смысл.
Движение объектов должно быть четким и резким, поэтому не используйте размытие в движении (да, пользователи After Effects, не в этот раз). Трудно воспроизвести эффект даже на современных мобильных устройствах, и он вообще не используется в интерфейсной анимации.