Qual è la differenza tra un foglio sprite e un atlante di trama?


21

Mi chiedo quale sia la differenza tra un foglio sprite e un atlante di trama?

Non sono entrambi uguali? In un foglio sprite hai degli Sprites e in un atlante di texture hai anche degli Sprites, quindi qual è la differenza?

Risposte:


23

Un foglio di Sprites (spesso si riferisce a un'immagine di grandi dimensioni che) dovrebbe contenere i fotogrammi di animazione di uno specifico personaggio 2D o proiettile in un gioco. Puoi quasi pensarlo come il modello di un personaggio 2D. Memorizza tutte le varie animazioni create per un personaggio specifico.

inserisci qui la descrizione dell'immagine

Un atlante delle trame (viene spesso inteso come una grande immagine 2D che contiene) molte trame . Puoi pensarli come immagini 2d "dipinte" su oggetti 3d o altrimenti applicate a loro come parte di uno shader per spiegare al renderer (la parte che converte i dati 3d in un'immagine 2d) come riflettono la luce (mappa normale) o se ci sono scanalature, dossi o crepe sulla loro superficie (mappa di dossi) o forse qualcos'altro come l'opacità e cosa no. Questo termine (atlante delle trame) sarà spesso usato in a3dambiente di gioco. A qualsiasi oggetto 3d (ad esempio un'arma, un bidone della spazzatura) o un personaggio può essere applicata una trama. Soprattutto i livelli 3D possono richiedere più trame diverse per vari muri ed elementi nello scenario 3D. Tutte queste trame possono essere contenute in modo accessibile ed efficace in un'unica grande immagine composta da molti quadrati (sottoregioni) dedicati a un modello specifico.

inserisci qui la descrizione dell'immagine

Inoltre, può essere importante notare che un atlante di trama spesso contiene skin di personaggi (trame di personaggi) e che l'animazione reale non è (dichiarando l'ovvio) non memorizzata come immagini 2D poiché l'animazione in questi casi è generalmente basata sulla deformazione della mesh con strumenti come le ossa.


2
Quindi potresti dire che SpriteSheets contiene caratteri 2D e TextureAtlases contengono TileSet?
user41816,

3
tl; dr: Sì, è assolutamente corretto. Sprites Sheetsspesso significa un ampio set di fotogrammi di animazione di alcuni caratteri specifici o più caratteri in altri casi. Texture Atlasspesso significa un'immagine grande che contiene molte immagini secondarie che sono trame; 2d tilessi adatta bene alla texturecategoria. Quindi a Tile Setè un tipo molto specifico (o una sottocategoria) di atlante delle trame. A texture Atlaspuò anche contenere skinsin molti casi e quindi non è un Tile Setcaso generale.
Wolfdawn,

Hm. Non appena ho visto i commenti ho ritirato il mio voto. La tua risposta è giusta nella misura in cui un foglio di calcolo è per il 2D (ovvero gli sprite) e un atlante di trama è più tipicamente usato per il 3D, ovvero trame reali posizionate su geometrie 3D. Questo è tutto - nessun altro qualificatore.
Ingegnere,

@ArcaneEngineer Non capisco? Cosa stai indicando o suggerendo come miglioramento della risposta?
Wolfdawn,

1
@ArcaneEngineer - Hai ragione, punto assolutamente positivo, il commento è fuorviante e in qualche modo errato. Anche il termine set di tessere è fuorviante perché può significare cose diverse per persone diverse se non definito correttamente.
Wolfdawn,

6

Tecnicamente visto è lo stesso: è una grande immagine che contiene immagini più piccole (sprite).

Il 3d vs 2d non fa differenza qui poiché quasi tutti i motori di gioco 2d usano l'hardware 3d per il rendering ....


2

Un foglio di sprite e un atlante di trama sono quasi gli stessi. Sono entrambi file di immagine bitmap (jpg, png, ecc.) Che contengono più immagini più piccole, di solito in una griglia, che vengono indicizzate e visualizzate utilizzando un motore software / di gioco che individua le singole immagini in base alle loro coordinate. Entrambi servono anche per semplificare la gestione delle risorse e ridurre le chiamate di disegno richiedendo solo la gestione e il caricamento di un singolo file.

Questo foglio / atlante presenta sia animazioni fotogramma per fotogramma del personaggio (tipicamente usato in un "foglio sprite") sia immagini che verranno piastrellate come trama per le pareti (aka un "atlante trama"):

Metroid

La differenza, a quanto pare, è il modo in cui sono generalmente implementati. Come affermano le altre risposte, un foglio sprite viene spesso utilizzato nei giochi 2D per animazioni o pulsanti, mentre le immagini in un atlante di trama vengono utilizzate come trame per oggetti mesh.

Mentre il contesto e ciò che viene visualizzato sulle immagini sono importanti, così come il modo in cui il programma gestisce e manipola le immagini. Un file di immagine utilizzato come foglio sprite in un motore di gioco potrebbe riprodurre le singole immagini una dopo l'altra per creare un'animazione. Ma potresti anche usare lo stesso file di immagine di un atlante di trama nello stesso motore delle tessere su una rete per creare un muro di mattoni.

Ciò significa che esistono distinzioni più specifiche a seconda di come il software gestisce questi due tipi di utilizzo. In Unity, ad esempio, non è così semplice convertire un'immagine applicata a GameObject da un foglio sprite a Texture2D che può quindi essere applicata a un GameObject diverso come trama. È così che sono arrivato su questa pagina tramite Google e ho deciso di aggiungere questa risposta. :-)


0

Direi che atlante delle trame è il termine più generale: puoi costruire un foglio sprite da un atlante delle trame, ma di solito non viceversa.

L'ipotesi distintiva chiave è il modo in cui le coordinate delle trame sono mappate sulla geometria: i fogli sprite assumono sottoregioni rettangolari, mentre gli atlanti delle trame possono essere mappati su qualsiasi superficie geometrica.

Se tutte le superfici geometriche mappate dall'atlante delle trame sono quadrate 2D, hai un foglio sprite. Se si modifica la mappatura nel tempo o frame per frame, è possibile simulare l'animazione di caratteri 2D.

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.