Unity Çerez Ders: Sprite’lara 2’nin Katı Olmayan Max Size Değeri Vermek

Yayınlandı: 02 Aralık 2023 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

Uzun bir aranın ardından tekrardan merhabalar,

Unity’de bazen elinizdeki bir sprite için 1024 piksel gereksiz büyük, 512 piksel ise fazla küçük kalıyor olabilir ve sprite’ı bu iki değer arasında bir çözünürlüğe düşürerek, build boyutunu olabildiğince optimize etmek istiyor olabilirsiniz. Orijinal sprite’ı bir resim editöründe yeniden boyutlandırmaya gerek kalmadan, doğrudan Unity içerisinden bunu başarabilmek için basit bir editör script’i yazdım:

Yapmanız gereken, projenizin Editor klasöründe (bu klasör yoksa oluşturun) CustomMaxSizeSetter adında yeni bir C# script oluşturmak ve script’in içeriğini şuradaki kodla değiştirmek: https://gist.github.com/yasirkula/dc9ec65016714fbb3747b1de6719d9b7

Ardından Window-Custom Max Size Setter penceresinden, seçili sprite’ların Max Size değerlerini istediğiniz gibi ayarlayabilirsiniz. ASTC harici sıkıştırma (compression) yöntemlerinde, 2’nin veya 4’ün katı olmayan resimlerin boyutu çok fazla yükselebilir. Bunun önüne geçmek için sprite’larınızı Sprite Atlas‘lara dahil etmeniz yeterli. Aksi taktirde bu yöntem faydadan çok zarar verebilir.

Sağlıcakla kalın!

yorum
  1. Ferhan dedi ki:

    Merhaba, ders için teşekkürler. Bir sorum olacaktı:
    Örneğin 64×64 çözünürlüğünde bir texture’ım olsun. Ben bu texture için import ayarlarından “Max Size = 1024” seçersem bunun bir zararı olur mu? Yani Unity mevcut texture’ı sündürerek 1024 olarak mı kaydeder yoksa bu seçenek yalnızca Max Size’dan büyük çözünürlükleri belirlenen değere düşürmeye mi yarıyor? Aynı soru spritelar için de geçerli. Biz zaten textureları Unity’deki optimum boyutlarda tasarlıyoruz ve “2 üzeri n kuralı”na da çoğunlukla sadık kalıyoruz, yani 72×72 bir görsel yerine 64×64 bir görsel tasarlıyoruz. Bu durumda tüm görsel dosyalarının Max Size’ını 2048 olarak bıraksak bir sakıncası olur mu?

    • yasirkula dedi ki:

      Merhaba, dediğiniz gibi Max Size 2048 olsa bile 64×64 sprite’ı bu etkilemez. Sprite’ın ebatlarının 2048 pikselden büyük olması lazım. Eğer sprite atlas kullanmayı düşünüyorsanız, sprite’larda 2’nin katı olacak diye kendinizi zorlamanıza gerek yok (mip map kullanıyorsanız zorlayın). Sprite atlas hem 2’nin katı optimizasyonunu hem de draw call optimizasyonu sağlıyor.

      • Ferhan dedi ki:

        Anladım teşekkür ederim. Hızlı yanıt için ayrıca teşekkür ederim. İyi çalışmalar. 🙂

  2. yusufaydinnn dedi ki:

    Ders için teşekkürler, başarılar dilerim

Cevap Yazın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.