Was ist der Unterschied zwischen einem Sprite Sheet und einem Texturatlas?

21

Ich frage mich, was der Unterschied zwischen einem Sprite Sheet und einem Texturatlas ist.

Sind nicht beide gleich? In einem Sprite-Sheet gibt es einige Sprites, und in einem Textur-Atlas gibt es auch einige Sprites. Was ist der Unterschied?

user41816
quelle

Antworten:

23

Ein Spritesheet (bezieht sich oft auf ein großes Bild, das) soll die Animationsrahmen eines bestimmten 2D- Charakters oder Projektils in einem Spiel enthalten. Man kann es sich fast als Modell eines 2D-Charakters vorstellen. Hier werden alle verschiedenen Animationen gespeichert, die für einen bestimmten Charakter erstellt wurden.

Bildbeschreibung hier eingeben

Ein Texturatlas (wird oft als großes 2D-Bild verstanden) enthält viele Texturen . Sie können sich diese als 2D-Bilder vorstellen, die über 3D-Objekte "gemalt" oder auf andere Weise als Teil eines Shaders auf sie angewendet wurden, um dem Renderer (dem Teil, der 3D-Daten in ein 2D-Bild konvertiert) zu erklären, wie sie Licht reflektieren (normale Karte) oder wenn es irgendwelche Rillen, Beulen oder Risse auf ihrer Oberfläche gibt (Bump Map) oder möglicherweise etwas ganz anderes wie Opazität und was nicht. Dieser Begriff (Texturatlas) wird häufig in a verwendet3dSpielumgebung. Auf jedes 3D-Objekt (z. B. eine Waffe, eine Mülltonne) oder einen Charakter kann eine Textur angewendet werden. Insbesondere für 3D-Ebenen sind möglicherweise mehrere unterschiedliche Texturen für verschiedene Wände und Elemente in der 3D-Szenerie erforderlich. Alle diese Texturen können zugänglich und effektiv in einem einzigen großen Bild enthalten sein, das aus vielen Quadraten (Unterbereichen) besteht, die einem bestimmten Modell gewidmet sind.

Bildbeschreibung hier eingeben

Es kann auch wichtig sein, zu beachten, dass ein Texturatlas häufig Zeichenhäute (Zeichenstrukturen) enthält und dass die tatsächliche Animation (unter Angabe der offensichtlichen) nicht als 2D-Bild gespeichert wird, da die Animation in solchen Fällen im Allgemeinen auf einer Verformung des Netzes mit basiert Werkzeuge wie Knochen.

wolfdawn
quelle
2
Sie könnten also sagen, SpriteSheets enthalten 2D-Zeichen und TextureAtlases enthalten TileSets?
user41816
3
tl; dr: Ja das ist absolut richtig. Sprites SheetsBedeutet oft eine große Anzahl von Animationsframes eines bestimmten Charakters oder mehrere Zeichen in anderen Fällen. Texture Atlasbedeutet oft ein großes Bild, das viele Unterbilder enthält, bei denen es sich um Texturen handelt; 2d tilespasst gut in die textureKategorie. A Tile Setist also eine sehr spezielle Art (oder Unterkategorie) von Texturatlas. A texture Atlaskann skinsin vielen Fällen auch enthalten und ist daher Tile Setim Allgemeinen kein .
Wolfdawn
Hm. Sobald ich die Kommentare sah, zog ich meine Zustimmung zurück. Ihre Antwort ist richtig, da ein Spritesheet für 2D (dh Sprites) und ein Texturatlas für 3D (dh tatsächliche Texturen, die auf 3D-Geometrien platziert werden) verwendet wird. Das ist alles - keine anderen Qualifikanten.
Ingenieur
@ArcaneEngineer Ich verstehe nicht? Worauf weisen Sie hin oder schlagen Sie eine Verbesserung der Antwort vor?
Wolfdawn
1
@ArcaneEngineer - Sie haben Recht, absolut guter Punkt, der Kommentar ist irreführend und etwas falsch. Auch der Begriff Kachelsatz ist irreführend, da er für verschiedene Personen unterschiedliche Bedeutungen haben kann, wenn er nicht richtig definiert ist.
Wolfdawn
6

Technisch gesehen ist es dasselbe: Es ist ein großes Bild, das kleinere Bilder (Sprites) enthält.

Das 3d vs 2d macht hier keinen Unterschied, da fast alle 2D-Spiele-Engines 3D-Hardware zum Rendern verwenden ....

user41821
quelle
2

Ein Sprite-Blatt und ein Texturatlas sind nahezu identisch. Dies sind beide Bitmap-Bilddateien (jpg, png usw.), die mehrere kleinere Bilder enthalten, normalerweise in einem Raster, die indiziert und mit einer Software / Game-Engine angezeigt werden, die die einzelnen Bilder anhand ihrer Koordinaten lokalisiert. Sie dienen auch dazu, die Ressourcenverwaltung zu vereinfachen und die Anzahl der Zugriffe zu senken, da nur eine einzige Datei verwaltet und geladen werden muss.

Dieses Blatt / dieser Atlas enthält sowohl Einzelbildanimationen des Charakters (normalerweise in einem "Sprite-Blatt" verwendet) als auch Bilder, die als Textur für die Wände gekachelt werden (auch als "Texturatlas" bezeichnet):

metroid

Der Unterschied scheint darin zu liegen, wie sie normalerweise implementiert werden. Wie in anderen Antworten angegeben, wird in 2D-Spielen häufig ein Sprite-Sheet für Animationen oder Schaltflächen verwendet, während die Bilder in einem Texturatlas als Texturen für Netzobjekte verwendet werden.

Während der Kontext und das, was auf den Bildern angezeigt wird, von Bedeutung ist, ist auch die Art und Weise, wie das Programm die Bilder verwaltet und bearbeitet, von Bedeutung. Eine Bilddatei, die als Sprite-Sheet in einer Game-Engine verwendet wird, kann die einzelnen Bilder nacheinander abspielen, um eine Animation zu erstellen. Sie können dieselbe Bilddatei aber auch als Texturatlas in derselben Engine wie Kacheln auf einem Netz verwenden, um eine Mauer aus Ziegeln zu erstellen.

Dies bedeutet, dass es abhängig von der Art und Weise, wie Ihre Software diese beiden Verwendungsarten verwaltet, spezifischere Unterschiede gibt. In Unity ist es beispielsweise nicht so einfach, ein auf ein GameObject angewendetes Bild von einem Sprite-Sheet in eine Texture2D zu konvertieren, die dann als Textur auf ein anderes GameObject angewendet werden kann. So bin ich über Google auf diese Seite gekommen und habe beschlossen, diese Antwort hinzuzufügen. :-)

ow3n
quelle
0

Ich würde sagen, dass Texturatlas der allgemeinste Begriff ist: Sie können ein Sprite-Blatt aus einem Texturatlas erstellen, aber normalerweise nicht umgekehrt.

Die wichtigste Unterscheidungsannahme ist die Art und Weise, wie Texturkoordinaten auf Geometrie abgebildet werden: Sprite-Blätter nehmen rechteckige Unterbereiche an, während Texturatlanten auf jede geometrische Oberfläche abgebildet werden können.

Wenn es sich bei allen aus dem Texturatlas abgebildeten geometrischen Flächen zufällig um 2D-Quads handelt, haben Sie ein Sprite-Sheet. Wenn Sie die Zuordnung im Laufe der Zeit oder Frame für Frame ändern, können Sie eine 2D-Zeichenanimation simulieren.

glopes
quelle