Реализация анимации листа спрайтов

Страница обновлена :
Дата создания страницы :

Проверочная среда

Виндоус
  • Windows 11
Редактор Unity
  • 2020.3.25f1
Системные пакеты ввода
  • 1.2.0

Необходимые условия для получения этого совета

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

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

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

Анимация листа спрайтов переключает и отображает несколько изображений подряд. Редко удается подготовить столько файлов изображений, сколько есть, и в основном все шаблоны отображения включены в одно изображение. Это упрощает управление файлами изображений и снижает нагрузку на загрузку файлов изображений. Файл изображения, который суммирует эту анимацию, называется «листом спрайтов».

Создание листа спрайтов

Лист спрайтов — это, по сути, просто файл изображения. Поскольку он не имеет ничего общего с Unity, пожалуйста, создайте его с помощью инструмента для редактирования изображений. Окончательным форматом файла будет PNG-файл, который может обрабатывать Unity.

Кроме того, существуют следующие правила создания листов спрайтов.

  • Унифицируйте размер изображения для всех кадров. Например, если первое изображение имеет размер 32x32 пикселя, то второе и последующие изображения будут иметь размер 32x32 пикселя. Например, если вы подготовите лист спрайтов в формате «3x2» с 6 кадрами, размер листа спрайтов составит 96x64 пикселя.
  • Вы можете свободно выровнять изображение, например, «6x4» или «2x8», но обязательно создавайте его исходя из предположения, что все кадры будут заполнены. Если это «6х4», то это 24 кадра и так далее. Если это 13-кадровая анимация, подготовьте ее с помощью «1x13» или «13x1».
  • Поскольку это анимация, она правильно выровнена, чтобы не было смещения в кадрах до и после.
  • Направление анимации начинается от верхней левой клетки и идет вправо, а когда вы идете в крайнюю правую, оно начинается слева на один шаг вниз и снова уходит вправо.

На самом деле, вам не обязательно делать вышеперечисленное строго в Unity, но гораздо проще определиться со спецификациями заранее.

На этот раз я буду использовать лист спрайтов для переключения следующих чисел. Один квадрат имеет размер 32х32 пикселя. Он состоит из 24 кадров «6х4», поэтому размер изображения составляет 192х128 пикселей.

Настройка листа спрайтов в редакторе Unity

После создания проекта добавьте в него файл листа спрайтов. Здесь предполагается, что имя файла .NumberAnimation

NumberAnimation Выберите файл и заполните инспектор следующим образом:

Значения элементов данных
Тип текстуры Спрайты (2D и UI)
Режим спрайтов множественное число

Есть много других настроек, которые можно настроить, но пока оставим все как есть. После настройки нажмите кнопку «Редактор спрайтов».

Если появится диалоговое окно ниже, нажмите кнопку «Применить». По сути, настройки этого инспектора должны быть сохранены, и если прокрутить вниз, то есть кнопка «Применить», поэтому нужно сохранить настройки этой кнопкой. Он также будет сохранен нажатием кнопки «Применить» в диалоговом окне, поэтому не имеет значения, каким способом вы его сохраните.

Появится редактор спрайтов. В этом разделе мы будем работать над разделением спрайта от листа спрайтов.

В левом верхнем углу есть кнопка под названием «Срез», нажмите на нее и измените тип на «Сетка по размеру ячейки». На этом листе спрайтов один размер спрайта составляет 32 x 32 пикселя, поэтому введите 32 для каждого размера пикселя. Когда все будет готово, нажмите кнопку Фрагмент.

Это изображение сложно понять, потому что оно вроде бы четко разделено с самого начала, но оно разделено 1 спрайтом 32px. Нажмите клавишу «Ctrl», и линия разделения появится зеленым цветом.

После разделения сохраните его кнопкой «Применить».

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

Размещение спрайтов и анимация

Перетащите заданный спрайт в представление и разместите его.

Затем появится диалоговое окно, поэтому сохраните NumberAnimation его как . Этот файл содержит настройки анимации.

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

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

Предотвращение зацикливания анимаций

Выберите файл клипа анимации (NumberAnimation.anim) из проекта.

В инспекторе есть флажок «Время цикла», поэтому снимите с него галочку.

Если вы запустите игру, то увидите, что анимация останавливается на 24. Эффективен при разовых взрывных эффектах.

Изменение скорости анимации

Выберите спрайт, который вы хотите анимировать, из иерархии.

Затем выберите вкладку Анимация. Если у вас нет вкладки «Анимация», выберите в меню «Окно > анимация» > «Анимация».

Существует число, называемое «сэмпл», которое представляет собой количество раз для переключения изображений за одну секунду. В этом примере анимация состоит из 24 кадров, поэтому анимация повторяется каждые 2 секунды.

Если уменьшить это число, то скорость анимации будет медленнее, а если увеличить, то скорость увеличится.

О других расширенных настройках анимации

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

В этом совете мы объясним, как перейти от листа спрайтов к анимации.