Имплементиране на анимации на спрайт листове

Страницата се актуализира :
Дата на създаване на страница :

Среда за проверка

Уиндоус
  • Прозорци 11
Редактор на единство
  • 2020.3.25ф1
Пакети на входната система
  • 1.2.0

Предпоставки за този съвет

Следните настройки са предварително конфигурирани като предпоставка за обяснението на тези съвети.

Какво представлява анимацията на Sprite Sheet?

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

Анимацията на листа Sprite превключва и показва няколко изображения подред. Рядко се подготвят толкова файлове с изображения, колкото има, и основно всички модели на дисплея са включени в едно изображение. Това улеснява управлението на файловете с изображения и намалява натоварването при зареждане на файлове с изображения. Файлът с изображението, който обобщава тази анимация, се нарича "спрайт лист".

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

Спрайт лист е по същество само файл с изображение. Тъй като няма нищо общо с Unity, моля, създайте го с инструмент за редактиране на изображения. Окончателният файлов формат ще бъде PNG файл, с който Unity може да се справи.

Освен това има следните правила за създаване на спрайт листове.

  • Унифицирайте размера на изображението на всички кадри. Например, ако първото изображение е 32x32 пиксела, второто и следващите изображения ще бъдат 32x32 пиксела. Например, ако подготвите спрайт лист във формат "3x2" с 6 рамки, размерът на спрайт листа ще бъде 96x64 пиксела.
  • Можете да подравните изображението свободно като "6x4" или "2x8", но не забравяйте да го създадете при предположението, че всички кадри ще бъдат запълнени. Ако е "6х4", това са 24 кадъра и т.н. Ако това е анимация с 13 кадъра, подгответе я с "1x13" или "13x1".
  • Тъй като това е анимация, тя е правилно подравнена, така че да няма разминаване в рамките преди и след.
  • Посоката на анимацията започва от горната лява клетка и отива надясно, а когато отидете най-вдясно, тя започва отляво една стъпка надолу и отново отива надясно.

Всъщност не е нужно да правите горното стриктно в Unity, но е много по-лесно да вземете решение за спецификациите предварително.

Този път ще използвам спрайт лист, за да превключа следните номера. Един квадрат е 32x32 пиксела. Състои се от 24 "6x4" кадъра, така че размерът на изображението е 192x128 пиксела.

Конфигуриране на листа на спрайт в редактора на Unity

След като създадете проекта си, добавете файл със спрайт лист към проекта си. Тук се приема, че името на файла е NumberAnimation .

NumberAnimation Изберете файла и попълнете инспектора, както следва:

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

Има много други настройки, които могат да бъдат конфигурирани, но нека го оставим така, както е засега. След като конфигурирате, кликнете върху бутона "Sprite Editor".

Ако се появи диалоговият прозорец по-долу, кликнете върху бутона "Приложи". Всъщност настройките на този инспектор трябва да бъдат запазени и ако превъртите до дъното, има бутон "Приложи", така че трябва да запазите настройките с този бутон. Той също така ще бъде запазен от "Приложи" в диалоговия прозорец, така че няма значение по какъв начин ще го запазите.

Появява се редакторът на Sprite. В този раздел ще работим върху разделянето на спрайта от листа на спрайт.

В горния ляв ъгъл има бутон, наречен "Slice", кликнете върху него и променете типа на "Grid By Cell Size". В този спрайт лист един размер на спрайт е "32x32" пиксела, така че въведете 32 за всеки размер на пиксела. Когато сте готови, щракнете върху бутона Slice.

Това изображение е трудно за разбиране, защото изглежда ясно разделено от самото начало, но е разделено на 1 спрайт 32px. Натиснете клавиша "Ctrl" и разделителната линия ще се появи в зелено.

След като разделите, запазете го с бутона "Приложи".

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

Sprite разположение и анимация

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

След това ще се появи диалогов прозорец, така че го запишете NumberAnimation като . Този файл съдържа настройките за анимация.

Първият спрайт се поставя в изгледа, а в проекта се създават анимационен контролер и анимационен клип. Ако изображението е малко, задайте мащаба, за да го направите по-голям.

В този момент ще бъдат приложени настройките за анимация по подразбиране, така че можете просто да стартирате играта. Трябва да можете да видите, че анимацията на спрайт се движи веднага щом играта започне.

Предотвратяване на цикличното повтаряне на анимациите

Изберете файла с анимационен клип (NumberAnimation.anim) от вашия проект.

В инспектора има квадратче за отметка за "Loop time", така че махнете отметката.

Ако стартирате играта, ще видите, че анимацията спира на 24. Той е ефективен за еднократни ефекти на експлозия.

Промяна на скоростта на анимацията

Изберете спрайт, който искате да анимирате, от йерархията.

След това изберете раздела Анимация . Ако нямате раздел Анимация, изберете Прозорец > Анимация > Анимация от менюто.

Има число, наречено "проба", което е няколко пъти за превключване на изображения за една секунда. В тази извадка анимацията е 24 кадъра, така че анимацията се повтаря на всеки 2 секунди.

Ако намалите това число, скоростта на анимацията ще бъде по-бавна, а ако я увеличите, скоростта ще се увеличи.

За други разширени настройки за анимация

Различните настройки за анимация са обяснени отделно в специфичните за анимацията съвети. Тези настройки не са изключителни за анимациите на спрайт, но не са изключителни за Това е същото като настройването на други анимации за движение и 3D анимации.

В този съвет ще обясним как да преминем от спрайт лист като анимация.