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!
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?
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.
Anladım teşekkür ederim. Hızlı yanıt için ayrıca teşekkür ederim. İyi çalışmalar. 🙂
Ders için teşekkürler, başarılar dilerim
Teşekkürler ^_^