Confusione sulle dimensioni dello Sprite nello spazio mondiale (unità)


11

Ho uno Sprite con risoluzione 1080x1920. E ho impostato anche la risoluzione di visualizzazione del gioco su 1080x1920. Quello che stavo pensando è che lo sprite (1080x1920) dovrebbe adattarsi correttamente alla Camera View.

la risoluzione dell'immagine è 1080x1920

Ma quando trascino tale sprite, lo sprite viene ingrandito e esce dalla vista della telecamera.

visualizzazione dello schermo, lo sprite è fuori dalla videocamera

Quali regolazioni devo fare per assicurarmi che questo sprite si adatti al 100% alla vista della telecamera. Avrei potuto cambiare la Sprite Transform Scale. Ma questo causerà problemi perché ho molti altri sprite da affrontare e dovrebbero essere proporzionati.


Stai parlando di uno sprite 3D? O UI 2D sprite?
TomTsagk,

A Sprite 2D .....
Faizan Khan

Risposte:


19

Questo ha senso quando ricordi che gli sprite non sono solo blitti pixel per pixel sullo schermo (il che renderebbe un incubo avere lo stesso aspetto su schermi con risoluzioni diverse, dal momento che tutti ritaglierebbero la tua arte in modo diverso) , ma piuttosto fanno parte del tuo mondo 3D in un sistema di coordinate di gioco indipendente dal dispositivo che puoi controllare.

Come ogni altra cosa in quel mondo di gioco, la parte che finisce per mappare sullo schermo è determinata da come hai configurato l'oggetto Camera.

Quindi, ci sono quattro parti che decidono quanto è grande il tuo sprite:

  1. La risoluzione sorgente dello sprite.

  2. L' impostazione Pixel per unità scelta nella finestra di ispezione delle impostazioni di importazione.

    Questo imposta un fattore di conversione per trasformare le dimensioni da pixel nello spazio trama in unità nello spazio mondo (cioè lo spazio in cui avvengono tutti i tuoi calcoli di gioco e fisica)

    Altezza in unità mondiali = Altezza sorgente in pixel / pixel per unità

    Dovresti generalmente scegliere questo numero per allinearti ad alcune metriche di gioco pertinenti nel tuo gioco. per esempio. se hai una griglia a tessere con una spaziatura di 135 pixel, la scelta di Pixel per unità = 135 renderà ogni cella della griglia esattamente larga 1 unità nel sistema di coordinate del gioco, rendendo i tuoi calcoli più convenienti.

  3. Le dimensioni ortografiche della fotocamera.

    (Oppure, se si utilizza una videocamera prospettica, una combinazione del campo visivo della videocamera e della profondità dalla videocamera allo sprite)

    Questo determina quante unità del tuo mondo possono vedere la tua videocamera, dal centro della sua vista al bordo superiore.

    Porzione di altezza della telecamera occupata = altezza in unità mondiali / (2 * dimensioni ortogonali della telecamera)

    Quindi, se corriamo con il valore di 135 PPU, lo sprite alto 1920 pixel sarà 14.222222 unità alte nel mondo, il che significa che avremo bisogno di una fotocamera con un'altezza di 7.111111 per catturare tutto dall'alto verso il basso (poiché l'altezza della fotocamera è misurata da al centro)

  4. La dimensione in pixel della risoluzione dello schermo della finestra / output.

    Per impostazione predefinita, la vista della telecamera riempirà lo schermo verticalmente, quindi se lo schermo / finestra cambia in altezza, il ritaglio verticale della scena non cambierà (un oggetto sul bordo superiore o inferiore dello schermo non si sposterà o viene ritagliato, l'intera scena diventerà sempre più grande o più piccola per riempire l'altezza disponibile).

    Quindi il numero di unità mondiali che la tua videocamera può vedere dall'alto verso il basso è mappato al numero di pixel nella finestra / schermo dall'alto verso il basso.

    Dimensione pixel di output = Porzione di altezza della telecamera occupata * Altezza della finestra in pixel

    Quindi, se il nostro schermo è alto 1920 pixel e il nostro sprite sorgente riempie esattamente la vista della telecamera, allora verrà emesso su tutti i 1920 pixel dello schermo con un allineamento 1: 1.


Ti sono davvero grato per la tua risposta dettagliata !!!!
Faizan Khan,

3
Sono contento che l'abbia trovato utile! Ho scritto alcune altre domande e risposte su come lavorare con le dimensioni degli sprite in Unity che potrebbero anche aiutare: sulla scelta delle dimensioni degli sprite , sulla corrispondenza dell'aspetto degli sprite di diverse dimensioni , sul ridimensionamento della pixel art
DMGregory

1
Grazie .... ti ho seguito anche su Twitter ... Mi sento davvero bene per aver interagito con qualcuno che lavora in UbiSoft :)
Faizan Khan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.