Найти тему

Анимация интерфейсов - как это делается.

Анимация интерфейсов

Вы знаете что интерфейс, неотъемлемая часть игры. Одна из основных и очень важных . Потому что игрок начинает знакомство с игрой именно через интерфейс, его удобство и интуитивность. А также он хочет чувствовать с ним взаимодействие и отклик интерфейса на свои действия.

Друзья, мы хотим показать Вам основные инструменты создания красивой интерфейсной анимации. Начиная от простых движений, до их комбинирования. Расскажем о тайминге и спейсинге, и как при их помощи придать характер анимации.

Единицы измерения анимации на временной шкале.

В производстве кино и мультипликации используется такое понятие как FPS (кадры в секунду). Где кадр это “единица времени” дробления секунды. Это связано с процессом производства, а так же с тем, что видео файл это последовательность спрайтов с фиксированной частотой. И используется один из стандартов fps -12, 24, 29, 30, 60


В играх же частота смены кадров не фиксированная - это технические возможности железа. И анимации могут проигрываться с разной частотой на протяжении всего процесса игры. При этом частота смены кадров может достигать 60, 120, 144,  240, 360, а иногда и просаживаться до 10 ти.
В играх же частота смены кадров не фиксированная - это технические возможности железа. И анимации могут проигрываться с разной частотой на протяжении всего процесса игры. При этом частота смены кадров может достигать 60, 120, 144, 240, 360, а иногда и просаживаться до 10 ти.

А потому для программной анимации единицей измерения времени будем считать секунды / sec и ее доли.

Действия, манипулирование элементами при анимации.

Давайте продолжим детально по порядку. Начнем с Линейного движения.
А потому для программной анимации единицей измерения времени будем считать секунды / sec и ее доли. Действия, манипулирование элементами при анимации. Давайте продолжим детально по порядку. Начнем с Линейного движения.

Линейное движение - это равномерное движение, равное положению в каждой секунде времени.

-3
  • Движение - Самое простое действие линейное прямое движение. Справа налево, с лева направо, вверх, вниз, по диагоналям.
-4
  • Прозрачность - Появление или выведение объекта из альфы самый простой способ смягчения начала и конца анимации
-5
  • Скейл - может быть: пропорциональным (увеличение), непропорциональным (сплющивание). При смещении центра деформации, объект можно скейлить относительно центра, относительно правого/левого/нижнего/верхнего края добиваясь эффекта взаимодействия с поверхностью.
-6
  • Диоганальная деформация (переворот карты). Используется в специализированных программах для анимации где поддерживается такой инструментарий, таких как Spine, Adobe Animate, Aftereffect, Moho. Программно на движке лучше не использовать.
-7
  • Вращение - вращение может быть полным или не полным. Также путем изменения центра деформации при смещении его к краю, можно добиться эффекта вращения относительно ребра. А при вынесении ее за пределы объекта - создать маятниковые колебательные движения, и движение по дуге
-9

Тайминги и Спейсинги - для создания живых, реалистичных, динамичных движений

-10
  • Тайминг, движение объекта во времени.

Скорость объекта можно увеличить уменьшением времени или увеличением пройденного расстояния.

Настройками тайминга для нескольких объектов достигается такой эффект как параллакс.

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

Это пример движения с одинаковым временем но разной длиной пути - Параллакс

-11
  • Спейсинг (ускорение замедление, кривые скорости)

Это инструмент регулирования динамики движения элементов. Ниже приведены примеры кривых и их описание.

График линейного движения


Это вид графика обыкновенного движения когда объект проходит одинаковое расстояние в каждый момент времени. Примеры: вращение мельницы, плывущие облака...
Это вид графика обыкновенного движения когда объект проходит одинаковое расстояние в каждый момент времени. Примеры: вращение мельницы, плывущие облака...
-13

График замедления

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

-14

График ускорения

Если нужно создать эффект нарастающего ускорения - хлесткий эффект. Это позволяет хорошо разглядеть элемент в начале движения объекта. Потому используется при убирании предмета со сцены. Либо при разгоне вращения.

-15

График маятника

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

-16
Графики спейсинга могут накладываться на все виды действия: движение, вращение, скейл, прозрачность
Графики спейсинга могут накладываться на все виды действия: движение, вращение, скейл, прозрачность

Составной спейсинг

Нужно упомянуть о возможности разделения кривой спейсинга во времени. Это делается в тех случаях когда начало и конец движения должен иметь строгие характеристики. Для этого условно разделяем нашу кривую на три части.

1.Ускорение

2.Линейное движение - это движение можно регулировать по времени создавая произвольную продолжительность

3.Замедление

Разумеется каждый из этих кусков кривых можно исключать оставляя например только ускорение и линейное движение, или ускорение и замедление, или линейное и замедление. В зависимости от желаемого эффекта.

-18
-19
Зацикленные анимации
Зацикленные анимации
Создание циклов может показаться достаточно простой задачей, особенно при простых синхронных движениях, вращения,  перемещения, скейла. Но стоит задаться задачей создать асинхронное поведение, тут же могут возникнуть трудности.  Для специализированных программ по анимации (Spine, AfterEffect...) это решаемая задача, поскольку анимацию можно “разрезать” в любой точке времени. 

При программной анимации это можно сделать только создавая задержку старта  между анимациями. Или делая смещение  в точках перехода анимаций из ускорения - в движение - замедление. 
Еще одним решением может быть сделанная в Spine анимация кости к которой можно привязать графический элемент (анимация может быть более сложная со скейалами и комбинированными). И программно сделать задержку во времени, при запуске каждой из анимаций.

Анимация прыгающего мяча - настройка спейсинга
Спейсинг падающего мяча можно разделить на следующие три части.
1. Падение. Настройки соответствуют кривой ускорения

2.Деформация сжатия при соударении. Происходит плавное гашение скорости и деформация формы по правилу сохранения объема. Используется кривая замедления

3. Возвращение в форма. Мячик разжимается возвращаясь в форму и ускоряется. Используется кривая ускорения.
Создание циклов может показаться достаточно простой задачей, особенно при простых синхронных движениях, вращения, перемещения, скейла. Но стоит задаться задачей создать асинхронное поведение, тут же могут возникнуть трудности. Для специализированных программ по анимации (Spine, AfterEffect...) это решаемая задача, поскольку анимацию можно “разрезать” в любой точке времени. При программной анимации это можно сделать только создавая задержку старта между анимациями. Или делая смещение в точках перехода анимаций из ускорения - в движение - замедление. Еще одним решением может быть сделанная в Spine анимация кости к которой можно привязать графический элемент (анимация может быть более сложная со скейалами и комбинированными). И программно сделать задержку во времени, при запуске каждой из анимаций. Анимация прыгающего мяча - настройка спейсинга Спейсинг падающего мяча можно разделить на следующие три части. 1. Падение. Настройки соответствуют кривой ускорения 2.Деформация сжатия при соударении. Происходит плавное гашение скорости и деформация формы по правилу сохранения объема. Используется кривая замедления 3. Возвращение в форма. Мячик разжимается возвращаясь в форму и ускоряется. Используется кривая ускорения.
-22

4. Отскок. Мячик подлетая к верхней точке замедляется. Кривая замедления.

-23

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

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

1. Большой легкий мягкий шар

2. Средний мяч упругий с деформацией при соударении с поверхностью

3. Маленький твердый мячик, не деформирующийся при столкновении

-24

Комбинирование нескольких действий анимаций

Такие действия как: движение, вращение, скейл и действие с прозрачностью можно комбинировать в произвольном порядке создавая различные вариации.

  • Двежене и вращение
  • Движение и скейл
  • Движение и прозрачность
  • Скейл и вращение
  • Движение скейл и вращение.

При этом применяя кривые Спейсинга, замедляя или ускоряя анимированный элемент.

Так-же нужно отметить, что такой инструмент как скейл и диагональная трансформация могут быть недоступны в движках. А потому нужно уточнить возможности платформы, или воспользоваться программами для специализированной анимации которые можно подгрузить в движок (такие как Spine).

И ещё программные скейлы могут некорректно работать с текстом - такие моменты, так же следует обсуждать с разработчиками, в случае идею анимации планируется реализовывать кодом.
И ещё программные скейлы могут некорректно работать с текстом - такие моменты, так же следует обсуждать с разработчиками, в случае идею анимации планируется реализовывать кодом.
-26

Когда анимация вращения идет со смещением по отношении анимации движения

-27

Несколько основных правил для создания “живой анимации

Инерция - объект не останавливается сразу используется кривая замедления

Масса - тяжелые объекты более медлительные, не обладают отскоком. При взаимодействие с более легким объектом, отталкивают его. Тяжелый предмет продолжает движение.

Объем -. Иллюзия объема достигается правилом “сохранения объема”: если объект сжать по вертикали, то он должен растянуться по горизонтали в такой же пропорции.
Эластичность - разные материалы обладают разной эластичностью, то-есть способность тянуться. Твердые объекты эластичность не обладают. Резиновые (желеобразные) могут вытягиваться, но обязательно возвращаются в свою форму. Пластилиновые после деформации в свою изначальную форму не возвращаются.
Объем -. Иллюзия объема достигается правилом “сохранения объема”: если объект сжать по вертикали, то он должен растянуться по горизонтали в такой же пропорции. Эластичность - разные материалы обладают разной эластичностью, то-есть способность тянуться. Твердые объекты эластичность не обладают. Резиновые (желеобразные) могут вытягиваться, но обязательно возвращаются в свою форму. Пластилиновые после деформации в свою изначальную форму не возвращаются.
-29

Анимация интерфейсов несет несколько предназначений.

(Для чего нужны анимации в интерфейсах)

1. Визуальное.

Анимирование элементов интерфейса и фона усиливают графические художественные эффекты всей сцены. А это может иметь как положительный так и негативный эффект.

Связано это с тем, что человеческое внимание акцентируется прежде всего на движущиеся и сверкающие объекты.

2. Положительный эффект - эффект Акцента

Акценты в диалогах.

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

-31

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

просто эстетического созерцания

-32
-33
-34

Акцент на точку клика.

Распространен в туториалах, и логично используется для того, чтобы дать освоиться с интерфейсом управления игрой. Игрок интуитивно тянется к точке клика и исключается возможность блуждания игрока по кнопкам интерфейса. Часто бывает что в рамках туториала игроку не позволяется выполнять какое либо действие кроме предписанного

-35
Акцент на стрелках. 
Главной причиной добавления периодического движения на стрелках интерфейса, является то что бы указать на их интерактивность, тогда пользователь не спутает их с элементами интерьера, подобные не очень интенсивные анимации могут накладываться на любые элементы, что несколько оживляет сцену создавая фоновую анимацию.
Акцент на стрелках. Главной причиной добавления периодического движения на стрелках интерфейса, является то что бы указать на их интерактивность, тогда пользователь не спутает их с элементами интерьера, подобные не очень интенсивные анимации могут накладываться на любые элементы, что несколько оживляет сцену создавая фоновую анимацию.

Акцент

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

-37
-38

Фоновая анимация
У фоновой анимации задача создать гармоничный фон для всей сцены, придать ему жизнь и определенное настроение.
Фоновая анимация - не должна привлекать к себе особого внимания, не должна быть резкой, это могут быть плавные движение листьев, переливы света на поверхности, искры… может длиться 2-4 sec
Фоновая анимация У фоновой анимации задача создать гармоничный фон для всей сцены, придать ему жизнь и определенное настроение. Фоновая анимация - не должна привлекать к себе особого внимания, не должна быть резкой, это могут быть плавные движение листьев, переливы света на поверхности, искры… может длиться 2-4 sec

3. Информативность

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

Цитата из книги “ Frain Inc” Marcos Mateu-Mester


Эти рекомендации пришли из иллюстрирования, комиксов и мультипликации.
Эти рекомендации пришли из иллюстрирования, комиксов и мультипликации.

Вот перечень направлений движений и их характер:

  • Активное и стремительное вперед, к действию - слева направо
  • Отступление, ослабление, - с права на лево
  • Победа, усиление, восхождение - снизу вверх
  • Поражение.- Сверху вниз.
Примеры из раскадровок и комиксов
Примеры из раскадровок и комиксов
-42

Для сравнения ощущения движения поменяем направление

-43

Тут чувствуется вектор вверх и тяжесть вниз

-44

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

Любое из этих ощущений можно усилить изменением размера элементов.

(это не обязательное действие, но в особых случаях дает дополнительный эффект)

  • Придание важности, Значения и усиления - делается увеличением элемента.
  • Уменьшение важности, ослабление, уничтожение - его уменьшением

Анимации окон

Появление окон

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

Анимация окна может быть цельной, когда все элементы привязаны к основной форме,
Анимация окна может быть цельной, когда все элементы привязаны к основной форме,

Или раздельны, что может придать динамику и живость всей анимации, эффект каскада.

-46

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

Эпические окна - Имеют особый индивидуальный стиль анимации, отличающийся от простых окон. Такие окна могут иметь и отличающийся уникальный дизайн, который позволяет украсить дополнительными роскошными анимациями. При этом окно можно разделить на несколько частей. Кнопки - действие которой не больше 0.2-03 sec., и Обвеса (дополнительных украшающих элементов) - анимацию этих элементов можно делать дольше от 0.5-1,5 sec..
Эпические окна - Имеют особый индивидуальный стиль анимации, отличающийся от простых окон. Такие окна могут иметь и отличающийся уникальный дизайн, который позволяет украсить дополнительными роскошными анимациями. При этом окно можно разделить на несколько частей. Кнопки - действие которой не больше 0.2-03 sec., и Обвеса (дополнительных украшающих элементов) - анимацию этих элементов можно делать дольше от 0.5-1,5 sec..

Не является правилом то что все анимации интерфейса должны быть “мягкими”, если мы хотим придать твердость поведения то смягчение в движении не нужно, как в примере ниже

Без смягчения к концу движения

-48

И наоборот придавая инерцию к движению объектов им придается мягкость и воздушность.

Со смягчением в движении

-49

Возможны разнообразные способы анимаций окон, и тут нет ограничений фантазии. Главная задача гармоничное соответствие стилю игры.

Примеры этой анимаций сделана в Spine, программно менялось только содержимое карточки. Это пример комбинирования нескольких инструментов.
Примеры этой анимаций сделана в Spine, программно менялось только содержимое карточки. Это пример комбинирования нескольких инструментов.

Реакции кнопок

Есть небольшие отличия бля кнопок на ПС и смартфонах. Это связано с наличием мышки у первых и отсутствие у других. Поэтому стадии наведения будет на смартфоне отсутствует. А теперь Подробнее.
Есть небольшие отличия бля кнопок на ПС и смартфонах. Это связано с наличием мышки у первых и отсутствие у других. Поэтому стадии наведения будет на смартфоне отсутствует. А теперь Подробнее.

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

  • Стадия появления (0,2-0,5 sec) - кнопки появляются вместе с интерфейсом и являются составной его часть. Но их нужно разделить на две категории. Простые - на них создаются простые шаблонные анимации без излишеств. Особые - этим кнопкам можно добавлять индивидуальный эффект с дополнительным акцентом в конце появления.
  • Стадия покоя (0,5 - 1,0 sec)- здесь нужно разделить кнопки на два типа. Простые - у них анимации стадии покоя отсутствует, так как нет необходимости делать на ней акцент и напоминание. Особые - кнопки различных акций, магазинов, подсказок или особых событий. Помимо того время от времени можно добавлять эффект блика или ненавязчивой анимации, или того и другого. Для напоминания ее существования и важности.
  • Стадия наведения - присутствует в интерфейсах для ПК, так как для ее активации нужен курсов. Анимация наведения добавляет ощущение отклика интерфейса на на действия курсора, делает его живым

Стадия клика - это реакция на нажатие.. Стоит разделить на анимации для простых кнопок - стандартизированная анимация для всех кнопок своего типа. И особых - клик на которую может сопровождаться проигрыванием дополнительной или сопровождением эффектов.

  • Анимацию клика можно сделать двумя способами: на отпускание - это не анимация а состояние которое держится пока не отпустишь кнопку; и клик - когда на нажатие идет действие или проигрывается анимация Продолжительность действия кнопок на нажатие должно быть 0.2 - 0.3 (sec) в зависимости от динамики самой игры

Для простых кнопок одного типа следует разработать один единый стиль анимации для всего проекта.

Закладки и категории

Это разновидность кнопок, а потому имеет те же стадии: появление, покоя, наведения и клика. Различие лишь в том, что данная кнопка визуально является частью “списка”, который как правило закреплен в окне. Тогда как содержимое этого “списка” (иконки, кнопки) могут быть такими же активными и так же реагировать на наведение и клик.

Тут несколько примеров

-52

Один из способов закладки - это переворачивание карты.

Он очень лаконичный и не занимает много места на экране

-53

Прогрессы заполнения

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

-54

Или ожидать скликивания, фиксируя полученный статус.



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

WOW - эффект

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

Анимация эффектов/FX анимации - эти анимации могут делаться в разных программах и разными способами. Их задача создать WOW эффект для эпических окон, особых элементов, шлейфов. Их тайминг может длиться от 1-3 sec

Для украшения анимации и придания особенного характера использует принцип:

Подготовка к действию - Действие - Последействие.

- Подготовка - (намек на следующее действие)смысл в том, чтобы до начала действия подсказать намерение действия. Самый простой пример это замах, или перед тем как тронуться с места автомобиль сначала заводится и откатывается. Подготовки могут быть простыми-односложными, или состоять из нескольких действий пример -глянул , глубоко подышал, потом действие. То есть каждое из действий нужно разделять по времени и не пытаться их проиграть одновременно.

- Действие - это само движение с необходимой динамикой.

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

Если “Подготовка к действию” и “Последействие” достаточно выразительные то в некоторых случаях можно обойтись и без самого “Действия”.

-57

Переходы между сценами.

Перечислим несколько способов:

- Переход через Альфу
- Переход через Альфу
- Но можно обойтись и защелкиванием если новой сцене придать инерцию завершения движения
- Но можно обойтись и защелкиванием если новой сцене придать инерцию завершения движения
- Через вспышку/засветку или затемнение..
- Через вспышку/засветку или затемнение..

Шторками - когда создаем перекрывающую текстуру, которую раздвигаем

-61


Маской -  использовать программу маску.
Маской - использовать программу маску.
Такая анимация как правило используется для перехода в какую-то точку действия чтобы у игрока был фокус на место перехода.
Такая анимация как правило используется для перехода в какую-то точку действия чтобы у игрока был фокус на место перехода.

Анимация перехода может быть более сложная, например:

Тут прослеживается правило подготовки действия, действие, последействие.

1.Подготовка накапливание энергии

2.Действие - эффект полета энергии через карту

3.Последействие сборка окна интерфейса

-64
Завершение:

Прежде чем начать анимацию, ее нужно хорошенько продумать, опираясь на ее предназначение. Ее способы выполнения. Определить центр деформации анимируемого элемента. Это может  облегчить, или усложнить сам процесс.
Завершение: Прежде чем начать анимацию, ее нужно хорошенько продумать, опираясь на ее предназначение. Ее способы выполнения. Определить центр деформации анимируемого элемента. Это может облегчить, или усложнить сам процесс.
  • Целью материала было донести, что все сложное состоит из набора простого
  • Главное понять и почувствовать принципы. А творческая реализация лежит на вас.
  • Советуйтесь с разработчиками и аниматорами, интересуйтесь допустимым инструментарием
  • Не изобретайте велосипед там где уже есть рабочие приемы
  • Создавайте шаблоны для оптимизации процесса
  • Делайте анимации живыми но не навязчивыми