Riassumendo i punti sopra, ciò che conta per far corrispondere due pixel art è che la loro densità di pixel (texel per area dello schermo / unità mondiale) è la stessa.
Usando alcuni sprite di Stardew Valley come esempio, possiamo vedere che anche se gli sprite hanno dimensioni della trama diverse, si abbinano su una griglia coerente perché ogni pixel ha la stessa dimensione.
Se pensiamo alle dimensioni della pianta come una piastrella / un'unità di spazio mondiale, possiamo vedere questa unità di 16 pixel in orizzontale e in verticale. Il personaggio, che ha il doppio dell'altezza della pianta, copre anche il doppio del numero di tessere / unità del mondo, quindi la densità dei pixel rimane la stessa a 16 pixel per unità del mondo.
Per Unity in particolare, lo espone come impostazione Pixel per unità nella finestra di ispezione delle impostazioni di importazione Sprite . Fintanto che utilizzi un numero coerente qui per tutti i tuoi sprite, Unity gestirà automaticamente disegnandoli della giusta dimensione nel tuo mondo per mantenere questa densità di pixel, anche se sono dimensioni dispari e non potenza di due o esatte multipli della dimensione della tua piastrella. Quindi, in questo esempio, sia l'arbusto che il personaggio e tutto il resto del gioco userebbero un PPU DI 16.
Il numero esatto che scegli non è un grosso problema, è la coerenza che conta di più. Se volessimo che ogni riquadro si estendesse su 2 unità del mondo, in modo che durante la modifica del livello potessimo agganciare facilmente gli angoli delle tessere (numeri dispari) e i centri delle tessere (numeri pari), utilizzeremmo un PPU di 8 invece di tutti i nostri sprite.
Basta non abbassarlo troppo in basso. Vedrai alcuni articoli là fuori che raccomandano un'impostazione PPU di 1, il che significa che uno sprite da 256 pixel coprirà 256 unità del mondo. Anche se questo potrebbe non sembrare allarmante, sistemi come la fisica sono sintonizzati supponendo che la maggior parte del tuo gameplay avverrà su scale da decimi a decine di unità, e rendere la tua scala troppo grande può farli comportare male. Prova a scegliere un numero di pixel significativi per il tuo gameplay, come la larghezza del tuo personaggio o la tua tessera. Ciò renderà anche la tua matematica più semplice per la programmazione e la progettazione dei livelli (ad es. "Voglio che questo personaggio diventi 3 tessere giuste, quindi questo è x + 3.0f
")
Nota che ridimensionare uno sprite, un'immagine dell'interfaccia utente o i suoi genitori usando le proprietà di trasformazione li distorcerà da questa costante densità di pixel, quindi fai molta attenzione con le proprietà di scala e mantieni la maggior parte o tutta la tua scena su una scala di 1,0 per semplicità.
Un'ultima avvertenza è che nulla di tutto ciò determina la dimensione effettiva dei tuoi sprite sullo schermo: ciò è determinato dalle dimensioni della finestra / schermo del gioco e dalle dimensioni / FoV / angolo della videocamera. Per Pixel Perfect 2D, devi anche assicurarti che l'altezza della tua finestra sia un numero intero multiplo del numero di pixel sprite che la tua videocamera vede (altezza ortografica della videocamera x 2 x PPU)