How tall is a 32 pixel sprite?

Optimale Sprite Størrelser til Mobilspil: En Guide

22/07/2022

Rating: 4.31 (16527 votes)

At udvikle et mobilspil byder på mange spændende udfordringer, og en af de mest afgørende for spillets visuelle appel er valget af sprite-størrelser og håndteringen af forskellige skærmopløsninger. Uanset om du laver pixelkunst eller mere detaljeret 2D-grafik, kan de forkerte valg føre til sløret grafik, uensartet spiloplevelse på tværs af enheder, og unødvendig hovedpine. Denne guide vil dykke ned i de tekniske aspekter og give dig de nødvendige værktøjer til at træffe informerede beslutninger, så dit spil ser fantastisk ud på enhver iPhone eller Android-enhed.

What size should I make my sprites?
For standard 2D pixel-art mobile games, consider using common sizes like 16x16, 32x32, or 16x32. For retina displays, you should have larger sprites, twice the size of the standard ones. Remember to keep scaling in integer increments to maintain the pixel style.

At starte med pladsholder-grafik som simple firkanter og cirkler er en klog tilgang under udviklingen. Men når det er tid til at erstatte dem med dine faktiske spilobjekter, opstår spørgsmålet: Hvilken størrelse skal dine sprites have? Skal de være 32x32, 64x64, eller måske endda større? Svaret er sjældent simpelt, da det afhænger af en række faktorer, herunder din valgte stil, de enheder du sigter mod, og hvordan du ønsker, at dit spil skal 'føles' for spilleren. Lad os udforske de vigtigste begreber og strategier.

Forståelse af Pixels Per Unit (PPU)

I spilmotorer som Unity er et centralt koncept Pixels Per Unit (PPU). Dette tal definerer, hvor mange pixels fra dit sprite-billede der svarer til én 'spilverdenenhed'. Forestil dig, at din spilverden består af et gitter, hvor hver firkant er én enhed stor. Hvis din PPU er 100, betyder det, at et sprite på 100x100 pixels vil fylde præcis én spilverdenenhed. Hvis din PPU er 50, vil et sprite på 50x50 pixels også fylde én spilverdenenhed, men det vil virke mindre detaljeret, da færre pixels bruges til at repræsentere den samme størrelse i spilverdenen.

Valget af PPU er afgørende for, hvordan dine sprites interagerer med spilverdenen og kameraet. Hvis du for eksempel arbejder med et flisebaseret spil, hvor hver flise er 1 spilverdenenhed, vil en PPU, der matcher dine flisers pixelstørrelse (f.eks. 32 PPU for 32x32 fliser), gøre det nemt at placere og manipulere dem i din scene.

Sådan Vælger du den Rigtige PPU og Kamerastørrelse

Der er ingen universel PPU, der passer til alle spil. Valget afhænger af din kunstneriske vision og de specifikke krav til dit spil. Her er en tilgang til at finde et passende udgangspunkt:

  1. Definer din vertikale spilverden: Beslut dig for, hvor mange spilverdenenheder du ønsker skal være synlige vertikalt på din skærm. Hvis du f.eks. ønsker at vise 10 fliser i højden, og hver flise er 1 enhed, så vil din vertikale visning være 10 enheder.
  2. Knyt til en referenceopløsning: Vælg en standard skærmopløsning, du vil optimere for. Lad os sige, du sigter mod en skærm med 1440 pixels i højden (f.eks. Samsung Galaxy S7 eller Google Pixel XL).
  3. Beregn PPU: Hvis du ønsker, at hver sprite-pixel skal matche en skærm-pixel (1:1-forhold), skal din PPU være skærmhøjden divideret med antallet af synlige spilverdenenheder. For eksempel: 1440 pixels / 10 enheder = 144 PPU.
  4. Indstil kameraet: Unitys ortografiske kameraer tager deres størrelse i 'halve udstrækninger' langs den vertikale akse. Hvis du ønsker at vise 10 spilverdenenheder vertikalt, skal kamerastørrelsen indstilles til 5 (halvdelen af 10).

Dette eksempel giver dig et 1:1 forhold mellem sprite-pixels og skærm-pixels på en 1440p-skærm. Hvis du ønsker at se færre spilverdenenheder vertikalt (f.eks. 8), kunne du vælge en PPU på 180 (1440 / 8 = 180) og en kamerastørrelse på 4. Hvis du ønsker mere plads (f.eks. 12 enheder), kunne du bruge 120 PPU (1440 / 12 = 120) og en kamerastørrelse på 6.

Det er vigtigt at bemærke, at rendering i fuld native opløsning kan være krævende for batteri og ydeevne på nogle enheder. En almindelig strategi er at rendere til en lavere intern bufferopløsning (f.eks. 720p) og derefter opskalere. Hvis du f.eks. render til en 720p-buffer (1280x720) og bruger 72 PPU, får du et 10:1 forhold (720 / 72 = 10 enheder vertikalt), men hver sprite-pixel vil nu optage 2 skærm-pixels på en 1440p-skærm. Dette bevarer skarpheden med nearest-neighbor filtrering og giver stadig et acceptabelt detaljeniveau på høj-DPI-enheder.

Udfordringen med Forskellige Skærmopløsninger

En af de største udfordringer i mobilspiludvikling er at understøtte et bredt udvalg af skærmopløsninger og -størrelser uden at kompromittere grafikken eller spiloplevelsen. Hvis du kun optimerer for én opløsning, vil dit spil sandsynligvis se sløret eller forkert ud på andre.

How big is a 1024x1024 sprite?
1024x1024 is a huge sprite on 1080p display. I mean, it means that vertically it will cover almost the entire screen and take about half of it's width. That's the kind of size you would want for like an end game boss. It's also important to consider animations for something this large - a spritesheet containing 60 frames is 60 MB of VRAM.

Tag eksemplet med en 1440p-skærm (Galaxy S7) og en 1080p-skærm (iPhone 7+). Hvis du bruger 144 PPU og en kamerastørrelse på 5, får du et perfekt 1:1 forhold på 1440p. Men på en 1080p-skærm vil forholdet være 0.75:1 (1080 / 144 = 7.5 enheder vertikalt), hvilket ikke er et helt tal. Dette fører til uønskede artefakter og sløret grafik, især med pixelkunst, hvor hver pixel skal være skarp.

Dette er et komplekst problem, men der er flere strategier til at håndtere det:

  1. Fælles Nævner Opløsning: Du kan vælge at rendere til en lavere, fællesnævner-opløsning, der kan opskaleres jævnt til de fleste målenheder. Hvis du f.eks. render til en imaginær 360-pixel skærm, kan den skaleres 4x til 1440p og 3x til 1080p, og stadig bevare skarpheden. Ulempen er, at du ofrer en masse detaljer, hvilket måske ikke er ideelt for et HD-spil, men kan være perfekt til et retro-stil pixelkunstspil.

  2. Letterboxing eller Polstring: Juster kameraets indstillinger baseret på skærmopløsningen. Dette indebærer at tilføje sorte bjælker (letterboxing) eller ekstra polstring på større skærme, så du bevarer et 1:1 rendering-forhold uden at ændre, hvor meget af spilverdenen der er synlig. Spiloplevelsen forbliver konsistent, men skærmen udnyttes ikke fuldt ud. Dette kan være et godt sted at placere UI-elementer eller on-screen kontroller for at udnytte den ekstra plads.

  3. Flere Asset-Opløsninger: Den mest fleksible, men også mest arbejdskrævende løsning, er at producere sprites i flere opløsninger og dynamisk vælge den passende version baseret på enhedens skærmdimensioner. For eksempel kunne du have en 72-pixel høj flise og en 108-pixel høj flise (150% større). Begge konfigureres med henholdsvis 72 og 108 PPU, så de repræsenterer den samme 1x1 spilverdenenhed. Kameraet indstilles til at vise f.eks. 10 enheder vertikalt på alle enheder.

    • På en 720p-skærm bruges de 72-pixel assets (1:1 forhold).
    • På en 1080p-skærm bruges de 108-pixel assets (1:1 forhold).
    • På en 1440p-skærm bruges de 72-pixel assets (denne gang i et 2:1 forhold).

    Dette sikrer hele talforhold på tværs af forskellige skærmopløsninger, men kræver, at du laver det meste af din kunst flere gange, hvilket øger produktionsomkostningerne betydeligt. Unitys Asset Bundle Variants kan hjælpe med at administrere denne udveksling.

Anbefalede Størrelser for Mobilespil

Mens der ikke er én 'bedste' størrelse, kan vi se på nogle generelle tendenser:

  • Pixelkunst: For klassisk pixelkunst er sprites ofte 32x32 eller 64x64 pixels. Mindre sprites giver et mere 'retro'-look, mens større tillader mere detalje. Det vigtigste er at opretholde en konsistent pixel-forhold (f.eks. altid 1:1, 2:1, 3:1 osv. til skærmen) for at undgå sløring.
  • Højopløselig 2D-grafik: For detaljerede karakterer og baggrunde kan sprites være meget større. En 1024x1024 sprite til en hovedkarakter er ikke ualmindeligt i moderne 2D-spil, især hvis der er mange animationer eller zoom-effekter. Dette giver masser af detaljer, selv på store skærme. Mindre elementer kan være 512x512 eller derunder.
  • Brugergrænseflade (UI): Google anbefaler ikoner på 144 pixels til xxhdpi-skærme. UI-elementer skal ofte skaleres uafhængigt af spilverdenen for at sikre, at de altid er læsbare og anvendelige.

Husk, at jo større dine sprites er i pixels, jo mere hukommelse vil de optage, og jo længere tid kan de tage at indlæse. En balance mellem visuel kvalitet og optimering af ydeevne er afgørende for en god spiloplevelse.

Overvejelser for Pixel Art

For pixelkunst er det absolut vigtigste at undgå ikke-hele tal-skalering. Hvis en sprite-pixel ender med at blive vist som 1,5 skærm-pixels, vil den se sløret og ujævn ud. Dette er grunden til, at du ofte ser pixelkunstspil bruge 'nearest neighbor' filtrering (også kaldet punktfiltrering) i stedet for bilineær eller trilineær filtrering, da nearest neighbor bevarer de skarpe kanter. Planlæg din PPU og kamerastørrelse, så dine pixel-forhold altid er hele tal (1:1, 2:1, 3:1 osv.) på dine primære målenheder.

How many pixel per unit is a tile sprite?
As an example, we might make two versions of a tile sprite: one 72 pixels tall and one 150% larger, 108 pixels tall. We'll configure the assets' Pixels Per Unit settings at 72 and 108 respectively, so they both correspond to the same 1 unit square in our game world, and the gameplay interactions don't need to change no matter which one is selected.

Sammenligning af PPU og Skærmforhold

Denne tabel illustrerer, hvordan PPU påvirker det visuelle output på forskellige skærmopløsninger, forudsat et kamera, der viser 10 spilverdenenheder vertikalt (kamera størrelse 5):

PPUAsset Størrelse (1 enhed)Skærmopløsning (f.eks. højde)Spilverdenenheder Synlige (vertikalt)Sprite Pixel til Skærm Pixel ForholdVisuel Kvalitet (Pixel Art)
144144x144 px1440 px101:1Perfekt skarp
144144x144 px1080 px7.50.75:1Sløret/Artefakter
7272x72 px1440 px202:1Skarp (forstørrede pixels)
7272x72 px1080 px151.5:1Sløret/Artefakter
108108x108 px1080 px101:1Perfekt skarp

Ofte Stillede Spørgsmål (FAQ)

Hvor høj er en 32-pixel sprite?
En 32-pixel sprite har ingen fast fysisk højde. Dens højde i din spilverden afhænger af den PPU (Pixels Per Unit) du har indstillet. Hvis din PPU er 32, vil en 32-pixel sprite fylde én spilverdenenhed. Dens fysiske højde på skærmen afhænger af enhedens pixel-densitet (DPI) og din kameras zoom-indstilling.

Hvilken størrelse skal jeg lave mine sprites?
Den anbefalede størrelse afhænger af din kunststil, dit spils omfang og de målrettede enheder. For pixelkunst er 32x32 eller 64x64 almindelige, mens mere detaljerede 2D-spil kan bruge 256x256, 512x512 eller endda 1024x1024 for hovedkarakterer. Det vigtigste er at have nok pixels til at repræsentere den ønskede detaljegrad uden at overbelaste hukommelsen.

Hvad er den bedste tilgang til at håndtere forskellige opløsninger uden at skabe separate sprites?
Den bedste tilgang til pixelkunst uden separate sprites er ofte at designe til en lav 'basis'-opløsning og derefter opskalere med 'nearest neighbor' filtrering, så du altid opnår et heltalsforhold (f.eks. 2x, 3x, 4x skalering) på forskellige skærme. Dette bevarer skarpheden. Alternativt kan du bruge letterboxing/polstring for at opretholde et konsistent synsfelt og 1:1 pixel-forhold.

Hvor mange pixels per enhed (PPU) skal en flise-sprite have?
For flisebaserede spil er det ofte ideelt, at din PPU matcher flisens pixeldimensioner. Hvis dine fliser er 32x32 pixels, så brug en PPU på 32. Dette sikrer, at hver flise fylder præcis én spilverdenenhed, hvilket forenkler niveau-design og kollisionsdetektion. Der er dog ingen standard PPU; den afhænger af din ønskede visuelle skala og det antal fliser, du ønsker at vise på skærmen.

Hvor stor er en 1024x1024 sprite?
En 1024x1024 sprite er en meget stor sprite, der indeholder en høj detaljegrad. Dens fysiske størrelse i spillet afhænger af din PPU. Hvis din PPU er 1024, vil den fylde én spilverdenenhed. Hvis din PPU er 100, vil den fylde 10.24 spilverdenenheder. Disse store sprites er velegnede til spil med højopløselig 2D-grafik, hvor man ønsker at undgå sløring, især på skærme med høj opløsning som 1920x1080 eller derover.

Konklusion

Valget af sprite-størrelser og håndteringen af skærmopløsninger er en kompleks proces, der kræver grundig overvejelse af dit spils gameplay, æstetik, de målrettede enheder (både for opløsning og ydeevne) og dit produktionsbudget. Der er ikke et simpelt 'én størrelse passer til alle'-svar. Ved at forstå principperne bag PPU, kamerastørrelse og de forskellige strategier for håndtering af flere opløsninger, er du dog godt rustet til at træffe informerede beslutninger, der sikrer, at dit mobilspil ser knivskarpt ud og leverer en fremragende spiloplevelse på tværs af et bredt udvalg af enheder. Husk, planlægning er nøglen til visuel succes.

Hvis du vil læse andre artikler, der ligner Optimale Sprite Størrelser til Mobilspil: En Guide, kan du besøge kategorien Teknologi.

Go up