Implementera sprite-mallanimeringar
Miljö för verifiering
- Windows
-
- Windows 11 (på engelska)
- Unity-redigeraren
-
- 2020.3.25f1
- Paket för indatasystem
-
- 1.2.0
Förutsättningar för det här tipset
Följande inställningar är förkonfigurerade som en förutsättning för förklaringen av dessa tips.
Vad är Sprite Sheet Animation?
I moderna spel animeras karaktärer och effekter genom att flytta 3D-modeller, beräkna explosioner i realtid och visa effekter. Detta har blivit möjligt eftersom datorkraften i spelkonsoler har ökat, men eftersom de gamla spelkonsolerna inte hade så mycket kraft var sprite sheet-animationer som kontinuerligt bytte bilder för att få det att se ut som om det rörde sig mainstream. Principen är densamma som för anime som spelas på TV. Sprite-arkanimationer används av färre spel än tidigare, men de används fortfarande ofta eftersom belastningen som krävs för beräkningar är mycket lägre.
Sprite-mallanimering växlar och visar flera bilder i rad. Det är sällan man förbereder så många bildfiler som det finns, och i princip alla visningsmönster ingår i en bild. Detta gör det enklare att hantera bildfiler och minskar belastningen på inläsning av bildfiler. Bildfilen som sammanfattar den här animeringen kallas för en "sprite-mall".
Skapa en sprite-mall
En sprite-mall är i princip bara en bildfil. Eftersom det inte har något att göra med Unity, skapa det med ett bildredigeringsverktyg. Det slutliga filformatet är en PNG-fil som Unity kan hantera.
Dessutom finns det följande regler för att skapa sprite-mallar.
- Förena bildstorleken för alla bildrutor. Om den första bilden till exempel är 32 x 32 pixlar kommer den andra och efterföljande bilder att vara 32 x 32 pixlar. Om du till exempel förbereder en sprite-mall i formatet "3x2" med 6 bildrutor blir storleken på sprite-mallen 96 x 64 pixlar.
- Du kan justera bilden fritt, till exempel "6x4" eller "2x8", men se till att skapa den med antagandet att alla ramar kommer att fyllas. Om det är "6x4" är det 24 bildrutor och så vidare. Om det är en animering med 13 bildrutor förbereder du den med "1x13" eller "13x1".
- Eftersom det är en animering är den korrekt justerad så att det inte finns någon feljustering i bildrutorna före och efter.
- Animeringsriktningen börjar från den övre vänstra cellen och går till höger, och när du går längst till höger börjar den från vänster ett steg nedåt och går till höger igen.
Faktum är att du inte behöver göra ovanstående strikt i Unity, men det är mycket lättare att bestämma specifikationerna i förväg.
Den här gången kommer jag att använda en sprite-mall för att byta mellan följande nummer. En kvadrat är 32x32 pixlar. Den består av 24 "6x4" ramar, så bildstorleken är 192x128 pixlar.
Konfigurera sprite-mallen i Unity-redigeraren
När du har skapat projektet lägger du till en sprite-mallfil i projektet.
Här antas det att filnamnet är NumberAnimation
.
NumberAnimation
Markera filen och fyll i inspektören på följande sätt:
Objektets | värden |
---|---|
Typ av textur | Sprites (2D och användargränssnitt) |
Sprite-läge | pluralis |
Det finns många andra inställningar som kan konfigureras, men låt oss lämna det som det är för tillfället. När du har konfigurerat klickar du på knappen "Sprite Editor".
Om dialogrutan nedan visas klickar du på knappen "Apply". Faktum är att inställningarna för denna inspektör ska sparas, och om du bläddrar till botten finns det en "Apply"-knapp, så du måste spara inställningarna med den här knappen. Den kommer också att sparas av "Apply" i dialogrutan, så det spelar ingen roll hur du sparar den.
Sprite-redigeraren visas. I det här avsnittet kommer vi att arbeta med att dela upp sprajten från sprite-mallen.
Det finns en knapp som heter "Skiva" i det övre vänstra hörnet, klicka på den och ändra typen till "Rutnät efter cellstorlek". I den här sprite-mallen är en storlek på spriten "32 x 32" pixlar, så ange 32 för varje pixelstorlek. När du är klar klickar du på knappen Segment.
Den här bilden är svår att förstå eftersom den verkar vara tydligt uppdelad från början, men den är uppdelad med 1 sprite 32px. Tryck på "Ctrl"-tangenten så visas den delade linjen i grönt.
Efter delning, spara den med knappen "Apply".
Om du klickar på triangeln i projektets bildfil för att expandera den kan du se att sprajten har delats.
Sprite-placering och animering
Dra set-spriten till vyn och placera den.
Då visas en dialogruta, så spara NumberAnimation
den som .
Den här filen innehåller animeringsinställningarna.
Den första sprajten placeras i vyn och en animeringskontroll och ett animeringsklipp skapas i projektet. Om bilden är liten ställer du in skalan så att den blir större.
Vid det här laget kommer standardinställningarna för animering att tillämpas, så att du bara kan köra spelet. Du bör kunna se att sprite-animationen rör sig så snart spelet startar.
Förhindra att animeringar loopas
Välj animeringsklippfilen (NumberAnimation.anim) från projektet.
I inspektören finns en kryssruta för "Looptid", så avmarkera den.
Om du kör spelet ser du att animationen stannar vid 24. Det är effektivt för engångsexplosionseffekter.
Ändra hastigheten på animeringen
Välj den sprite som du vill animera i hierarkin.
Välj sedan fliken Animering. Om du inte har fliken Animering väljer du Fönster > animering > animering på menyn.
Det finns ett nummer som kallas "sample", vilket är ett antal gånger för att byta bild på en sekund. I det här exemplet är animeringen 24 bildrutor, så animeringen upprepas varannan sekund.
Om du minskar detta antal blir animeringshastigheten långsammare, och om du ökar den kommer hastigheten att öka.
Om andra avancerade animeringsinställningar
De olika animeringsinställningarna förklaras separat i de animeringsspecifika tipsen. De här inställningarna är inte exklusiva för sprite-animeringar, men är inte exklusiva för Det är samma sak som att ställa in andra rörelseanimationer och 3D-animationer.
I det här tipset kommer vi att förklara hur man går från en sprite-mall till en animation.