Implementer sprite-arkanimationer

Side opdateret :
Dato for oprettelse af side :

Miljø til bekræftelse

Windows
  • Windows 11
Enhedslistens redaktør
  • 2020.3.25f1
Input System Pakker
  • 1.2.0

Forudsætninger for dette tip

Følgende indstillinger er forudkonfigureret som en forudsætning for forklaringen af disse tip.

Hvad er Sprite Sheet Animation?

I moderne spil animeres figurer og effekter ved at flytte 3D-modeller, beregne eksplosioner i realtid og vise effekter. Dette er blevet muligt, fordi computerkraften i spilkonsoller er steget, men da de gamle spilkonsoller ikke havde så meget strøm, var sprite sheet-animation, der kontinuerligt skiftede billeder for at få det til at se ud som om det bevægede sig, mainstream. Princippet er det samme som anime, der spilles på tv. Sprite sheet-animationer bruges af færre spil end tidligere, men de bruges stadig ofte, fordi den belastning, der kræves til beregninger, er meget lavere.

Sprite-arkanimation skifter og viser flere billeder i træk. Det er sjældent at forberede så mange billedfiler, som der er, og stort set alle visningsmønstre er inkluderet i et billede. Dette gør det lettere at administrere billedfiler og reducerer belastningen ved indlæsning af billedfiler. Billedfilen, der opsummerer denne animation, kaldes et "sprite-ark".

Opret et sprite-ark

Et sprite-ark er i det væsentlige bare en billedfil. Da det ikke har noget at gøre med Unity, skal du oprette det med et billedredigeringsværktøj. Det endelige filformat vil være en PNG-fil, som Unity kan håndtere.

Derudover er der følgende regler for oprettelse af spriteark.

  • Foren billedstørrelsen på alle rammer. For eksempel, hvis det første billede er 32x32 pixels, vil det andet og efterfølgende billeder være 32x32 pixels. Hvis du f.eks. udarbejder et sprite-ark i et "3x2"-format med 6 rammer, vil spritearkets størrelse være 96x64 pixels.
  • Du kan justere billedet frit, såsom "6x4" eller "2x8", men sørg for at oprette det under forudsætning af, at alle rammer vil blive fyldt. Hvis det er "6x4", er det 24 billeder osv. Hvis det er en animation med 13 rammer, skal du forberede den med "1x13" eller "13x1".
  • Da det er en animation, er den korrekt justeret, så der ikke er nogen forskydning i rammerne før og efter.
  • Animationsretningen starter fra øverste venstre celle og går til højre, og når du går yderst til højre, starter den fra venstre et trin ned og går til højre igen.

Faktisk behøver du ikke gøre ovenstående strengt i Unity, men det er meget lettere at beslutte specifikationerne på forhånd.

Denne gang vil jeg bruge et sprite-ark til at skifte følgende numre. En firkant er 32x32 pixels. Den består af 24 "6x4" rammer, så billedstørrelsen er 192x128 pixels.

Konfiguration af sprite-arket i Unity Editor

Når du har oprettet dit projekt, skal du føje en sprite-arkfil til dit projekt. Her antages det, at filnavnet er NumberAnimation .

NumberAnimation Vælg filen, og udfyld inspektøren som følger:

Vareværdier
Tekstur Type Sprites (2D og brugergrænseflade)
Sprite-tilstand flertal

Der er mange andre indstillinger, der kan konfigureres, men lad os lade det være som det er for nu. Når du er konfigureret, skal du klikke på knappen "Sprite Editor".

Hvis dialogboksen nedenfor vises, skal du klikke på knappen "Anvend". Faktisk skal indstillingerne for denne inspektør gemmes, og hvis du ruller til bunden, er der en "Anvend" -knap, så du skal gemme indstillingerne med denne knap. Det gemmes også af "Anvend" i dialogen, så det betyder ikke noget, hvilken måde du gemmer det på.

Sprite Editor vises. I dette afsnit vil vi arbejde på at opdele sprite fra sprite-arket.

Der er en knap kaldet "Udsnit" i øverste venstre hjørne, klik på den og skift typen til "Gitter efter cellestørrelse". I dette sprite-ark er en størrelse sprite "32x32" pixels, så indtast 32 for hver pixelstørrelse. Når du er færdig, skal du klikke på knappen Udsnit.

Dette billede er svært at forstå, fordi det ser ud til at være klart opdelt fra begyndelsen, men det er divideret med 1 sprite 32px. Tryk på "Ctrl" -tasten, og splitlinjen vises i grønt.

Efter opdeling skal du gemme den med knappen "Anvend".

Hvis du klikker på trekanten i projektets billedfil for at udvide den, kan du se, at spritten er blevet delt.

Sprite placering og animation

Træk den indstillede sprite ind i visningen, og placer den.

Derefter vises en dialog, så gem NumberAnimation den som . Denne fil indeholder animationsindstillingerne.

Den første sprite placeres i visningen, og der oprettes en animationscontroller og et animationsklip i projektet. Hvis billedet er lille, skal du indstille skalaen for at gøre det større.

På dette tidspunkt anvendes standardanimationsindstillingerne, så du kan bare køre spillet. Du skal være i stand til at se, at sprite-animationen bevæger sig, så snart spillet starter.

Undgå, at animationer kører i loop

Vælg animationsklipfilen (NumberAnimation.anim) fra projektet.

I inspektøren er der et afkrydsningsfelt for "Loop time", så fjern markeringen af det.

Hvis du kører spillet, vil du se, at animationen stopper ved 24. Det er effektivt til engangseksplosionseffekter.

Ændre animationens hastighed

Vælg den sprite, du vil animere, fra hierarkiet.

Vælg derefter fanen Animation. Hvis du ikke har fanen Animation, skal du vælge Vindue > Animation > Animation i menuen.

Der er et tal kaldet "prøve", som er et antal gange for at skifte billede på et sekund. I dette eksempel er animationen 24 billeder, så animationen gentages hvert 2. sekund.

Hvis du reducerer dette tal, vil animationshastigheden være langsommere, og hvis du øger det, øges hastigheden.

Om andre avancerede animationsindstillinger

De forskellige animationsindstillinger forklares separat i de animationsspecifikke tip. Disse indstillinger er ikke eksklusive for sprite-animationer, men er ikke eksklusive for Det er det samme som opsætning af andre bevægelsesanimationer og 3D-animationer.

I dette tip vil vi forklare, hvordan man flytter fra et sprite-ark som en animation.