Jaka jest różnica między arkuszem duszka a atlasem tekstur?

21

Zastanawiam się, jaka jest różnica między arkuszem duszka a atlasem tekstur?

Czy oba nie są takie same? W arkuszu ikonek masz trochę duszków, aw atlasie tekstur też masz trochę duszków, więc jaka jest różnica?

użytkownik41816
źródło

Odpowiedzi:

23

Arkusz duszków (często odnosi się do dużego obrazu, który) powinien zawierać ramki animacji konkretnej postaci 2D lub pocisku w grze. Możesz niemal myśleć o tym jak o modelu postaci 2d. Przechowuje wszystkie różne animacje stworzone dla konkretnej postaci.

wprowadź opis zdjęcia tutaj

Atlas tekstur (często oznacza duży obraz 2D, który) zawiera wiele tekstur . Możesz myśleć o nich jak o obrazach 2D „malowanych” na obiektach 3d lub w inny sposób nakładanych na nie jako część modułu cieniującego w celu wyjaśnienia rendererowi (części, która konwertuje dane 3d na obraz 2D), w jaki sposób odbijają światło (normalna mapa) lub jeśli na ich powierzchni są jakieś bruzdy, nierówności lub pęknięcia (mapa nierówności) lub coś innego, na przykład nieprzezroczystość, a co nie. Ten termin (atlas tekstur) będzie często używany w3dśrodowisko gry. Dowolny obiekt 3d (np. Broń, kosz na śmieci) lub postać może mieć nałożoną teksturę. Szczególnie poziomy 3D mogą wymagać wielu różnych tekstur dla różnych ścian i elementów w scenerii 3D. Wszystkie te tekstury mogą być zawarte w sposób dostępny i efektywny w jednym dużym obrazie złożonym z wielu kwadratów (podregionów) poświęconych konkretnemu modelowi.

wprowadź opis zdjęcia tutaj

Ważne może być również zwrócenie uwagi, że atlas tekstur często zawiera skórki postaci (tekstury postaci), a faktyczna animacja (co jest oczywiste) nie jest przechowywana jako zdjęcia 2D, ponieważ animacja w takich przypadkach jest zwykle oparta na deformacji siatki za pomocą narzędzia takie jak kości.

wolfdawn
źródło
2
Można więc powiedzieć, że SpriteSheets zawierają 2D Charactes i TextureAtlases zawierają TileSets?
user41816
3
tl; dr: Tak, to jest absolutnie poprawne. Sprites Sheetsczęsto oznacza duży zestaw ramek animacyjnych określonego postaci lub wielu znaków w innych przypadkach. Texture Atlasczęsto oznacza duży obraz, który zawiera wiele podobrazów, które są teksturami; 2d tilesdobrze pasują do texturekategorii. A Tile Setto bardzo specyficzny rodzaj (lub podkategoria) atlasu tekstur. A texture Atlasmoże również zawierać skinsw wielu przypadkach i dlatego nie jest Tile Setw ogólnym przypadku.
wolfdawn
Hm Gdy tylko zobaczyłem komentarze, wycofałem swoje poparcie. Twoja odpowiedź jest słuszna, o ile arkusz sprite jest przeznaczony do 2D (tj. Sprites), a atlas tekstur jest częściej używany do 3D - tj. Faktyczne tekstury umieszczone na geometrii 3D. To wszystko - żadnych innych kwalifikacji.
Inżynier
@ArcaneEngineer Nie rozumiem? Co wskazujesz lub sugerujesz jako ulepszenie odpowiedzi?
wolfdawn
1
@ArcaneEngineer - Masz rację, absolutnie dobry punkt, komentarz jest mylący i nieco niepoprawny. Także zestaw płytek jest mylący, ponieważ może oznaczać różne rzeczy dla różnych osób, jeśli nie zostanie odpowiednio zdefiniowany.
wolfdawn
6

Technicznie rzecz biorąc jest tak samo: to duży obraz, który zawiera mniejsze obrazy (duszki).

3d vs 2d nie robi tutaj różnicy, ponieważ prawie wszystkie silniki gier 2d używają sprzętu 3d do renderowania ....

użytkownik41821
źródło
2

Arkusz duszka i atlas tekstury są prawie takie same. Oba są plikami obrazów bitmapowych (jpg, png itp.), Które zawierają wiele mniejszych obrazów, zwykle w siatce, które są indeksowane i wyświetlane za pomocą oprogramowania / silnika gry, który lokalizuje poszczególne obrazy według ich współrzędnych. Oba służą również do uproszczenia zarządzania zasobami i zmniejszenia wywołań losowania, wymagając jedynie zarządzania i ładowania pojedynczego pliku.

Ten arkusz / atlas zawiera zarówno animacje postaci klatka po klatce (zwykle używane w „arkuszu duszka”), jak i obrazy, które będą kafelkowane jako tekstura ścian (inaczej „atlas tekstury”):

metroid

Wydaje się, że różnica polega na tym, jak zazwyczaj są one wdrażane. Jak podają inne odpowiedzi, arkusz sprite jest często używany w grach 2D do animacji lub przycisków, podczas gdy obrazy w atlasie tekstur są używane jako tekstury dla obiektów siatkowych.

Chociaż kontekst i to, co jest wyświetlane na obrazach, ma znaczenie, podobnie sposób, w jaki program zarządza obrazami i nimi manipuluje. Plik obrazu używany jako arkusz ikonek w silniku gry może odtwarzać poszczególne obrazy jeden po drugim, aby utworzyć animację. Ale możesz również użyć tego samego pliku obrazu jako atlasu tekstur w tym samym silniku, co kafelki na siatce, aby utworzyć ścianę z cegieł.

Oznacza to, że istnieją bardziej szczegółowe rozróżnienia w zależności od tego, w jaki sposób oprogramowanie zarządza tymi dwoma rodzajami zastosowań. Na przykład w Unity nie jest łatwo przekonwertować obraz zastosowany do GameObject z arkusza sprite na Texture2D, który można następnie zastosować do innego GameObject jako teksturę. Tak trafiłem na tę stronę przez Google i postanowiłem dodać tę odpowiedź. :-)

ow3n
źródło
0

Powiedziałbym, że atlas tekstur jest najogólniejszym terminem: możesz zbudować arkusz duszka z atlasu tekstur, ale zwykle nie na odwrót.

Kluczowym charakterystycznym założeniem jest sposób, w jaki współrzędne tekstury są odwzorowywane na geometrię: arkusze duszka zakładają prostokątne podregiony, podczas gdy atlasy tekstury mogą być mapowane na dowolną powierzchnię geometryczną.

Jeśli wszystkie geometryczne powierzchnie odwzorowane z atlasu tekstur są przypadkami kwadratów 2D, masz arkusz duszków. Jeśli zmienisz mapowanie w czasie lub klatka po klatce, możesz symulować animację postaci 2D.

Glopes
źródło