"Информатика. (в 2 частях)", Поляков К.Ю., Еремин Е.А.
Анимация — это способ показать движение или изменение с помощью быстро сменяющихся изображений. Каждое изображение называется кадром, а их порядок задаёт, как будет двигаться объект. Частота кадров показывает, сколько изображений программа показывает за секунду: от неё зависит плавность и длительность показа. Понимание этих принципов помогает создавать анимацию для презентаций, роликов и игр, а также оценивать её параметры.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Анимация — создание впечатления движения или изменения объекта при быстрой смене изображений. Например, если на соседних картинках мяч находится в разных местах, при последовательном показе он кажется движущимся. Анимация нужна, чтобы передать движение, которое нельзя показать одним неподвижным изображением.
Кадр — отдельное изображение или состояние объекта в последовательности анимации. В одном кадре мяч может быть слева, а в следующем — немного правее. Кадры нужны, чтобы записать последовательные изменения и определить, как именно будет развиваться действие.
Частота кадров — число кадров, показываемых за одну секунду. Её обычно указывают в кадрах в секунду: например, 12 кадров/с означает, что за секунду появятся 12 изображений. Чем больше кадров сменяется за то же время, тем чаще обновляется картинка и обычно тем плавнее выглядит движение.
GIF-анимация — анимация, сохранённая в формате GIF как последовательность кадров. Такой файл содержит несколько изображений и сведения об их показе, поэтому его можно открыть как одну движущуюся картинку. Формат удобен для коротких анимаций, но при большом количестве сложных кадров объём файла может увеличиться.
Каждый кадр по отдельности неподвижен, но при быстром показе зрение воспринимает последовательные изменения как одно действие. Это происходит потому, что изображения следуют одно за другим с небольшими интервалами, и зритель замечает не только отдельные положения, но и переход между ними. Поэтому для анимации нужны несколько кадров и порядок их воспроизведения. Если показать только один кадр, движения не возникнет.
Направление и характер движения задаются изменениями объекта от кадра к кадру. Если мяч каждый раз оказывается немного правее, зритель понимает, что он движется вправо; если смещения становятся больше, движение может выглядеть ускоряющимся. При одинаковых небольших шагах движение кажется равномерным. Значит, важно продумать не только сами кадры, но и то, чем они отличаются друг от друга.
Когда за секунду показывают больше кадров, изменения между соседними изображениями обычно становятся менее заметными, поэтому движение выглядит плавнее. Однако каждый дополнительный кадр нужно хранить или формировать, и для сложных изображений это может увеличить объём данных. Кроме того, высокая частота сама по себе не исправит резкие скачки: если объект перемещается слишком далеко за один кадр, движение всё равно будет выглядеть неровным. Поэтому частоту и величину изменений выбирают вместе.
Программа воспроизводит кадры по порядку, выдерживая заданное время показа каждого из них. Если кадры сменяются быстрее, вся последовательность закончится раньше; если медленнее — та же анимация будет длиться дольше. Например, при 12 кадрах в секунду каждый кадр показывается примерно 1/12 секунды. Поэтому длительность зависит и от общего числа кадров, и от скорости их показа.
При создании анимации из готовых кадров автор заранее готовит отдельное изображение для каждого момента. Это даёт точный контроль над видом каждого кадра, но требует больше ручной работы. В другом способе задают движение объекта средствами программы, например его начальное и конечное положения, а программа рассчитывает промежуточные состояния. Такой подход удобен для простых перемещений, хотя внешний вид перехода зависит от заданных параметров.
| Способ | Что хранится или задаётся | Как получается движение | Особенность |
|---|---|---|---|
| Покадровая анимация | Отдельное изображение для каждого кадра | Кадры последовательно показываются один за другим | Можно точно менять каждый кадр, но их приходится создавать по отдельности |
| Анимация с ключевыми кадрами | Основные положения или состояния объекта | Программа создаёт промежуточные состояния между ключевыми | Удобно задавать движение, не рисуя каждый кадр вручную |
| GIF-анимация | Последовательность кадров в файле формата GIF | Просмотрщик или браузер показывает кадры по порядку | Анимация хранится и передаётся как один файл |
Сравнивайте способы по тому, что именно нужно подготовить: все изображения, ключевые положения или готовый файл с кадрами. Так проще понять, где задаётся движение и какую работу выполняет программа. Обратите внимание и на особенности: точная ручная настройка может потребовать больше времени.
Задача 1. На рисунках показаны положения мяча в нескольких последовательных кадрах. Определите, в каком порядке их нужно показывать, чтобы мяч двигался вправо. Нужно сравнить положения мяча, а не выбирать кадры наугад. Сначала найдите кадр с самым левым положением, затем проследите, как объект перемещается дальше.
Ответ: показывать кадры нужно в порядке увеличения положения мяча по горизонтали. Если поставить их в обратном порядке, мяч будет двигаться влево. Если перепутать отдельные кадры, движение может выглядеть прерывистым.
Задача 2. Анимация содержит 48 кадров и воспроизводится со скоростью 12 кадров в секунду. Найдите её длительность. Частота уже показывает, сколько кадров программа показывает за одну секунду, поэтому нужно выяснить, сколько таких секунд потребуется для всех кадров. Для этого число кадров делят на частоту.
Ответ: анимация длится 4 секунды. Единица измерения получилась в секундах, потому что мы разделили общее число кадров на число кадров за секунду. Если при тех же 48 кадрах увеличить частоту, длительность станет меньше.
Задача 3. Нужно показать равномерное движение объекта из одной точки в другую за заданное время. Чтобы найти число кадров, используйте произведение частоты показа на длительность: число кадров = частота × время. Для примера возьмём частоту 10 кадров в секунду и длительность 2 секунды; пусть объект движется из точки x = 0 в точку x = 100.
Ответ: для примера нужно 20 кадров; объект находится в начале при x = 0, в середине пути при x = 50, а в конце при x = 100. Между кадрами положение должно изменяться постепенно и примерно равномерно. Для другого заданного времени или частоты число кадров рассчитывают тем же способом.
Ошибка: считать, что один кадр сам по себе показывает движение. Один кадр показывает только одно изображение или состояние объекта, поэтому движение можно заметить лишь при сравнении нескольких кадров. Такую ошибку допускают, смешивая изображение движущегося предмета с самим движением. Проверьте себя: есть ли в задании последовательность разных положений и меняется ли объект между ними?
Ошибка: путать число кадров во всей анимации с частотой кадров. Общее число — это все кадры последовательности, а частота показывает, сколько из них приходится на одну секунду. Путаница возникает из-за того, что в обоих случаях считают кадры. Перед вычислением подпишите величины: «кадры» и «кадры в секунду».
Ошибка: считать, что увеличение частоты кадров всегда делает анимацию лучше. Частая смена может сделать переходы плавнее, но не исправит неверный порядок или слишком большие скачки положения, а количество данных может вырасти. Проверяя анимацию, оцените и скорость показа, и изменения между соседними кадрами. Убедитесь также, что более плавное движение оправдывает дополнительные данные.
Ошибка: расположить кадры не в том порядке или слишком далеко перемещать объект между соседними изображениями. Тогда он может двигаться в обратную сторону либо резко перескакивать, и движение будет казаться прерывистым. Это часто происходит, если смотреть на кадры отдельно, не сравнивая их положения. Проверьте последовательность по направлению движения и убедитесь, что смещения между соседними кадрами не слишком велики.
Для работы с анимацией полезно уметь создавать и сохранять изображения на компьютере: они могут стать отдельными кадрами. Также нужно понимать, как программа показывает изображение на экране, ведь анимация воспроизводится как последовательность таких показов. Эти знания помогают подготовить кадры и проверить результат.
Анимация применяется в мультимедийных проектах, презентациях, видеороликах и компьютерных играх. Она помогает показать действие, изменение состояния или перемещение объекта. Понимание кадров и скорости показа пригодится, когда нужно сделать движение понятным и подобрать подходящий способ создания.
Почему неподвижные картинки при быстрой смене кажутся движущимися?
Зрение не успевает воспринимать каждую картинку как совершенно отдельную, если изображения сменяются быстро. Изменения положения объекта складываются в впечатление непрерывного движения.
Чем кадр отличается от частоты кадров?
Кадр — это одно отдельное изображение или состояние объекта. Частота кадров показывает, сколько таких изображений показывают за одну секунду.
Как узнать длительность анимации по числу кадров и частоте показа?
Нужно разделить число кадров на частоту кадров. Например, 48 кадров при частоте 12 кадров в секунду будут показаны за 48 ÷ 12 = 4 секунды.
Почему движение в анимации может выглядеть прерывистым?
Так бывает, если кадры показываются редко или положение объекта между соседними кадрами меняется слишком сильно. Проверьте частоту показа, порядок кадров и величину смещения объекта.
Чем покадровая анимация отличается от анимации с ключевыми кадрами?
В покадровой анимации отдельно задают каждое изображение последовательности. При использовании ключевых кадров задают важные положения объекта, а промежуточные состояния программа создаёт сама.
§ 44. Анимация