Apa perbedaan antara sprite sheet dan atlas tekstur?

21

Saya bertanya-tanya apa perbedaan antara sprite sheet dan atlas tekstur?

Bukankah keduanya sama? Dalam lembar sprite Anda memiliki beberapa Sprite dan dalam tekstur atlas Anda juga memiliki beberapa sprite, jadi apa bedanya?

pengguna41816
sumber

Jawaban:

23

Sprite-sheet (sering merujuk pada gambar besar yang) seharusnya berisi frame animasi dari karakter 2d tertentu atau proyektil dalam sebuah game. Anda hampir dapat menganggapnya sebagai model karakter 2d. Ini menyimpan semua berbagai animasi yang dibuat untuk karakter tertentu.

masukkan deskripsi gambar di sini

Atlas-tekstur (sering dianggap sebagai gambar 2d besar yang) mengandung banyak tekstur . Anda dapat menganggap ini sebagai gambar 2d "dilukis" di atas objek 3d atau sebaliknya diterapkan sebagai bagian dari shader untuk menjelaskan kepada penyaji (bagian yang mengubah data 3d menjadi gambar 2d) bagaimana mereka memantulkan cahaya (peta normal) atau jika ada alur, gundukan atau retakan pada permukaannya (peta gundukan) atau mungkin sesuatu yang lain sama sekali seperti opacity dan apa yang tidak. Istilah ini (tekstur atlas) akan sering digunakan dalam3dlingkungan game. Objek 3d apa pun (mis. Senjata, tong sampah) atau karakter dapat memiliki tekstur yang diterapkan padanya. Terutama level 3d mungkin memerlukan banyak tekstur berbeda untuk berbagai dinding dan elemen dalam pemandangan 3d. Semua tekstur ini dapat dimuat dengan mudah dan efektif dalam satu gambar besar yang terdiri dari banyak kotak (subkawasan) yang dikhususkan untuk model tertentu.

masukkan deskripsi gambar di sini

Juga, mungkin penting untuk dicatat bahwa atlas tekstur sering mengandung kulit karakter (tekstur karakter) dan bahwa animasi yang sebenarnya (menyatakan yang jelas) tidak disimpan sebagai citra 2d karena animasi dalam kasus tersebut umumnya didasarkan pada deformasi mesh dengan alat seperti tulang.

serigala
sumber
2
Jadi bisa dibilang SpriteSheets mengandung Karakter 2D dan TextureAtlases mengandung TileSets?
user41816
3
tl; dr: Ya itu benar sekali. Sprites Sheetssering berarti sejumlah besar frame animasi karakter tertentu atau beberapa karakter dalam kasus lain. Texture Atlassering berarti gambar besar yang berisi banyak sub gambar yang tekstur; 2d tilescocok dalam texturekategori tersebut. Jadi a Tile Setadalah jenis yang sangat spesifik (atau sub-kategori) atlas tekstur. A texture Atlasmungkin juga mengandung skinsdalam banyak kasus dan karenanya bukan Tile Setdalam kasus umum.
wolfdawn
Hm Segera setelah saya melihat komentar saya menarik upvote saya. Jawaban Anda benar sejauh spritesheet adalah untuk 2D (yaitu sprite) dan atlas tekstur lebih biasanya digunakan untuk 3D - yaitu tekstur aktual ditempatkan pada geometri 3D. Itu semua - tidak ada kualifikasi lain.
Insinyur
@ ArcaneEngineer saya tidak mengerti? Apa yang Anda tunjukkan atau sarankan sebagai peningkatan pada jawabannya?
wolfdawn
1
@ ArcaneEngineer - Anda benar, poin yang sangat bagus, komentarnya menyesatkan dan agak salah. Juga istilah himpunan ubin menyesatkan karena dapat berarti hal yang berbeda untuk orang yang berbeda jika tidak didefinisikan dengan benar.
wolfdawn
6

Secara teknis terlihat sama: Ini adalah gambar besar yang berisi gambar lebih kecil (sprite).

3d vs 2d tidak membuat perbedaan di sini karena hampir semua mesin game 2d menggunakan perangkat keras 3d untuk ....

pengguna41821
sumber
2

Lembar sprite dan atlas tekstur hampir sama. Mereka berdua file gambar bitmap (jpg, png, dll) yang berisi beberapa gambar yang lebih kecil, biasanya dalam kotak, yang diindeks dan ditampilkan menggunakan game engine / software yang menempatkan gambar individu dengan koordinat mereka. Mereka juga berfungsi untuk menyederhanakan manajemen sumber daya dan menurunkan panggilan dengan hanya membutuhkan pengelolaan dan pemuatan satu file.

Lembar ini / atlas memiliki kedua frame demi frame animasi karakter (biasanya digunakan dalam "lembaran sprite") serta gambar yang akan ubin sebagai tekstur untuk dinding (alias "atlas tekstur"):

metroid

Perbedaannya, tampaknya, adalah bagaimana mereka biasanya diimplementasikan. Sebagai jawaban lain menyatakan, sprite sheet sering digunakan dalam game 2d untuk animasi atau tombol, sedangkan gambar dalam atlas tekstur digunakan sebagai tekstur untuk objek mesh.

Sementara konteks dan apa yang ditampilkan pada gambar penting, demikian juga cara program mengelola dan memanipulasi gambar. File gambar yang digunakan sebagai sprite sheet di mesin gim dapat memutar gambar individual satu demi satu untuk membuat animasi. Tetapi Anda bisa menggunakan file gambar yang sama sebagai atlas tekstur pada mesin yang sama dengan ubin pada jaring untuk membuat dinding bata.

Ini berarti ada perbedaan yang lebih spesifik tergantung pada bagaimana perangkat lunak Anda mengelola kedua jenis penggunaan ini. Di Unity misalnya, tidak mudah untuk mengonversi gambar yang diterapkan ke GameObject dari sprite sheet ke Texture2D yang kemudian dapat diterapkan ke GameObject yang berbeda sebagai tekstur. Begitulah cara saya tiba di halaman ini melalui Google dan memutuskan untuk menambahkan jawaban ini. :-)

ow3n
sumber
0

Saya akan mengatakan bahwa atlas tekstur adalah istilah yang paling umum: Anda dapat membuat lembar sprite dari atlas tekstur, tetapi biasanya bukan sebaliknya.

Asumsi khusus utama adalah cara koordinat tekstur dipetakan ke geometri: sprite sheet mengasumsikan sub-daerah persegi panjang, sedangkan atlas tekstur dapat dipetakan ke permukaan geometris.

Jika semua permukaan geometris yang dipetakan dari atlas tekstur adalah paha 2D, Anda memiliki sprite sheet. Jika Anda mengubah pemetaan dari waktu ke waktu, atau secara frame-by-frame, Anda dapat mensimulasikan animasi karakter 2D.

Lereng
sumber