Sprite levhası ve texture atlası arasındaki fark nedir?


21

Sprite levha ve texture atlas arasındaki farkın ne olduğunu merak ediyorum.

İkisi de aynı değil mi? Bir sprite sayfasında bazı Sprite'lara ve bir doku atlasında da bazı Sprite'lara sahipsin, peki fark nedir?

Yanıtlar:


23

Bir sprite-sayfası (genellikle büyük bir görüntüye atıfta bulunur) bir oyunda belirli bir 2d karakterli veya mermili animasyon karelerini içermesi beklenir . Neredeyse 2d karakterli bir model olarak düşünebilirsiniz . Belirli bir karakter için yaratılmış tüm çeşitli animasyonları saklar.

görüntü tanımını buraya girin

Bir doku atlası (çoğu zaman büyük bir 2d görüntü anlamına gelir) birçok doku içerir . Bunları, 3B nesneler üzerinde 3 boyutlu nesneler üzerinde "boyanmış" olarak düşünebilirsiniz ya da görüntüleyiciye (3B verileri 2d görüntüsüne dönüştüren kısım) ışığı nasıl yansıttıklarını (normal harita) açıklamak için gölgelendiricinin bir parçası olarak uygulayabilirsiniz. yüzeylerinde herhangi bir oluk, kırılma veya çatlak varsa (çarpma haritası) veya muhtemelen tamamen opaklık gibi olan ve olmayan bir şey varsa. Bu terim (doku atlası) genellikle bir3doyun ortamı. Herhangi bir 3B nesne (örneğin bir silah, bir çöp tenekesi) veya karakter kendisine uygulanan bir dokuya sahip olabilir. Özellikle 3B seviyeler, 3B sahnedeki çeşitli duvarlar ve öğeler için birden fazla farklı doku gerektirebilir. Tüm bu dokular, belirli bir modele ayrılmış birçok kareden (alt bölge) oluşan tek bir büyük görüntüde erişilebilir ve etkili bir şekilde bulunabilir.

görüntü tanımını buraya girin

Ayrıca, bir doku atlasının genellikle karakter kaplamaları (karakter dokuları) içerdiğini ve bu tür durumlarda animasyonun genellikle ağın deformasyonuna dayandığı için gerçek canlandırmanın, 2d görüntüler olarak saklanmadığını (açıkça belirten) not etmek önemli olabilir. kemik gibi araçlar.


2
Yani SpriteSheets'in 2B Charactes ve TextureAtlases TileSets içerdiğini söyleyebilirsin.
user41816

3
tl; dr: Evet kesinlikle doğru. Sprites Sheetsgenellikle bazı belirli karakterlerin animasyon karelerinin büyük bir setini veya diğer durumlarda çoklu karakterleri belirtir. Texture Atlasgenellikle, dokular olan birçok alt resmi içeren büyük bir görüntü anlamına gelir; kategorisinde 2d tilesiyi uyum texture. Yani, a Tile Set, çok özel bir tür (veya alt kategori) doku atlasıdır. A texture Atlasayrıca skinsbirçok durumda içerebilir ve bu nedenle Tile Setgenel bir durumda değildir.
wolfdawn

Hm. Yorumları görür görmez en fazla oyumu geri çektim. Cevabınız, bir spritesheet 2D için (yani sprite) olduğu ve bir doku atlasının 3D için daha tipik olarak kullanıldığı, yani 3D geometrilere yerleştirilen gerçek dokular olduğu sürece doğrudur. Hepsi bu kadar - başka elemeler yok.
Mühendis,

@ArcaneEngineer Anlamıyorum? Neyi işaret ediyorsun veya cevabın iyileştirilmesi olarak mı öneriyorsun?
Wolfdawn

1
@ArcaneEngineer - Haklısınız, kesinlikle iyi bir nokta, yorum yanıltıcı ve biraz yanlış. Ayrıca kiremit seti terimi yanıltıcıdır, çünkü doğru tanımlanmadığı takdirde farklı insanlar için farklı şeyler ifade edebilir.
Wolfdawn

6

Teknik olarak aynı görünüyor: Daha küçük görüntüler içeren büyük bir görüntü (sprite).

Neredeyse tüm 2d oyun motorları render için 3d donanım kullandığından, 3d vs 2d burada fark yaratmaz.


2

Bir sprite levhası ve doku atlası neredeyse aynıdır. Her ikisi de bitmap görüntü dosyalarıdır (jpg, png, vb.), Birden çok küçük resim içeren, genellikle bir ızgarada, görüntüleri tek tek koordinatlarına yerleştiren yazılım / oyun motorunu kullanarak dizine eklenir ve görüntülenir. Her ikisi de, yalnızca tek bir dosyanın yönetimini ve yüklenmesini gerektirerek hem kaynak yönetimini basitleştirmeye hem de çağrı çağrılarını azaltmaya hizmet eder.

Bu sayfa / atlas, karakterlerin (genellikle "hareketli sayfa" da kullanılır) kare animasyonları ve duvarlar için bir doku olarak döşenecek resimler (yani bir "doku atlası") içerir:

metroid

Aradaki fark, tipik olarak nasıl uygulandıklarıdır. Diğer cevaplar belirtildiği gibi, bir sprite levha genellikle animasyonlar veya düğmeler için 2d oyunlarda kullanılır, doku atlasındaki görüntüler mesh objeleri için dokular olarak kullanılır.

Bağlam ve görüntüler üzerinde gösterilenler önemli olsa da, programın görüntüleri yönetme ve yönetme şekli de aynı şekildedir. Bir oyun motorunda hareketli sayfa olarak kullanılan bir resim dosyası, bir animasyon oluşturmak için ayrı ayrı görüntüleri oynayabilir. Ancak aynı görüntü dosyasını, aynı tuğladaki bir duvar oluşturmak için kafesdeki döşemelerle aynı motordaki bir doku atlasıyla aynı derecede kullanabilirsiniz.

Bu, yazılımınızın bu iki kullanım türünü nasıl yönettiğine bağlı olarak daha belirgin farklılıklar olduğu anlamına gelir. Örneğin, Unity'de, GameObject'e uygulanan bir görüntüyü bir sprite sayfasından Texture2D'ye dönüştürmek o kadar kolay değildir, daha sonra farklı bir GameObject'e doku olarak uygulanabilir. Bu sayfaya Google üzerinden nasıl geldim ve bu cevabı eklemeye karar verdim. :-)


0

Doku atlasının en genel terim olduğunu söyleyebilirim: bir doku atlasından bir sprite sayfası oluşturabilirsiniz, ancak genellikle tersi olmaz.

Belirgin temel varsayım, doku koordinatlarının geometriye eşlenmesinin yoludur: sprite levhaları dikdörtgen alt bölgeleri varsayar, oysa doku atlasları herhangi bir geometrik yüzeye eşlenebilir.

Doku atlasından eşlenen tüm geometrik yüzeyler 2D dörtlü ise, bir hareketli sayfa vardır. Eşlemeyi zaman içinde veya kare kare bazında değiştirirseniz, 2D karakter animasyonunu simüle edebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.