Tam Sayılarla Ölçeklendirme
2x, 3x ... n x ile ölçeklendirme basittir - her piksel n x n piksel karesi haline gelir ve orijinal hareketli grafiğin görünümü mükemmel şekilde korunur (tüm keskin çizgiler, köşeler ve merdiven zikzakları dahil) .
Piksel sanatını kesirli miktarlarla (örneğin 1.5x) ölçeklendirirken sorun yaşıyoruz çünkü pikseller doğaları gereği ayrık. Gerçekten "yarım piksele" sahip olamayız.
Diğer sanat türleri için, genellikle pikselin "yarı renkli" olması gereken bitişik kaynak piksellerini karıştırabiliriz ve yüksek çözünürlüklerde eserler genellikle fark edilmez. Ancak büyük tıknaz piksel sanatında bu, net görünümü hızla yok eder.
Bunun yerine, genellikle "En Yakın Komşu" filtrelemesini (Nokta filtreleme olarak da adlandırılır) kullanırız, böylece ölçeklemeden sonraki her piksel rengini orijinal hareketli grafikte tam olarak bir pikselden alır.
Bunun başka bir kırışıklığı daha vardır: ölçeklemeden sonraki piksel sayısı kaynak piksel sayısının tam sayı katı değil, bazı kaynak pikseller diğerlerinden daha fazla çoğaltılır (ölçeklenirse) veya tamamen (ölçeklenirse) atlanır.
Ne yazık ki, görüntü düzenleme yazılımı ve GPU doku filtreleme, pikselleri nerede kopyaladıkları veya atladıkları konusunda çok seçici değildir - sadece temel yuvarlama kurallarına uyarlar - bu da sonucun çarpık ve düzensiz görünmesini sağlayabilir.
Aşağıdaki örneği inceleyin. Ortada, En Yakın Komşu filtrelemeyi kullanarak mantar sprite'ı% 150 büyüttük ve sonuç sakat ve gelişigüzel görünüyor. Bir göz diğerinden daha büyük, bazı anahatlar kalın, diğerleri ince kalıyor ve yuvarlak noktalar bloklu görünüyor ... Bir piksel sanatçısının bilerek çizeceği bir şeye benzemiyor.
Sprite'ın gerçekten% 150 daha büyük olması gerekiyorsa (örneğin, oyunu doğru hissettirmek veya alternatif ekran çözünürlüklerini desteklemek için ), sağdaki örnek gibi sorunlu alanları yeniden boyayabiliriz. Şimdi daha çok bir sanatçının yapacağı bir şeye benziyor ve oyundaki diğer sanatlarla stilistik olarak tutarlı. (Kendim harika bir piksel sanatçısı olmasam da, yine de daha iyi olabilir 😉)
Ne yazık ki bunun için çok fazla kısayol yok. Tam sayı ölçekleri için, En Yakın Komşuya göre daha az bloklu bir başlangıç noktası elde etmek için özel olarak tasarlanmış piksel sanatı yükseltme ölçekleme algoritmaları kullanabilirsiniz - ImageResizer gibi araçlarda çok çeşitli seçenekler mevcuttur , ancak yine de bir sanatçının gözünü ve bazı dirsek yağını alır. yüksek kaliteli bir sonuç elde edin.
Bir kenara: fraksiyonel ölçekler çalışma zamanında da ortaya çıkabilir .
Oyununuzun NES çözünürlükte (256 x 240) olduğunu ve 1080p ekranda görüntülemek istediğinizi düşünün.
1080 ÷ 240 = 4.5, böylece sahnenizdeki bazı kaynak pikseller veya "metinler" en fazla 5 ekran pikseli üflenirken diğerleri yalnızca 4'tür ve yukarıda gördüğümüz gibi bozulmalar oluşturur. Hareket halindeyken, spriteları bariz bir neden olmadan dikkat dağıtan dalgalanma ve parıltı yapma eğilimindedirler:
İnsanların kamera veya nesne konumlarını tamsayı piksel koordinatlarına yuvarlamayı önerdiklerini görürsünüz, ancak bu sorunu gerçekten çözmez. Yuvarlama zaten en yakın komşu filtrelemenin bir parçası olarak gerçekleşir - sorun, bazı ekran piksellerinin aynı kaynak texeline (çoğaltılması) yuvarlanması, diğerleri ise düzensiz bir sonuca yol açmasıdır.
Çözüm, desteklemek istediğiniz her ekran çözünürlüğü için tutarlı, tam sayıdaki ekran piksellerinin metin oranına geri dönmek için dolgu / kırpma veya alternatif varlık kümelerinin bir kombinasyonunu kullanmaktır - burada bazı Unity örneklerine bakın . Bu, kolay evrensel bir düzeltmenin olmadığı başka bir durum ve oyununuzu keskin tutmak için bazı yargı ve sanat uygulamak zorunda kalacaksınız.
Piksel Ölçeğini Tutarlı Tutmak
Bu "kural" üslup tutarlılığına gelir.
Piksel sanatını farklı ölçeklerde kullandığınızda, varlıklar birleşik bir estetiğe sahip olmak yerine farklı oyunlardan bir araya getirilmiş gibi görünebilir.
Soldaki örnekte, Super Mario World'den bazı spriteları aynı ölçekte bir araya getirdim ve harika görünüyor.
Ortada, Mario ve seviyesini arka plan çözünürlüğünün iki katına ve çözünürlüğü üç katına çıkarmak için köstebeke ölçeklendirdim. Tam sayı ölçekleri kullandığım için, hiçbir yerde bozulma veya dalgalanma almıyoruz, ancak yine de biraz komik görünüyor.
Birincisi, arka plan ön plandan çok daha ayrıntılı. Düzgün eğrileri ve keskin vurguları temsil edebilir, bu da ön planın tutarlı bir piksel sanatı hissine sahip olmak yerine özellikle "bloklu" görünmesini sağlar. Ve köstebeğin ana hatları, ön planın geri kalanından belirgin şekilde daha kalın ve daha pürüzlüdür.
Sağda, varlıkları tekrar ortak bir piksel ölçeğinde yeniden boyayarak, yeni varlık boyutlarıyla daha birleşik ve kasıtlı bir his getirebileceğimizi göstereceğim.
Ama yapmak zorunda mıyım?
Hayır gerçek değil. Bu senin oyunun ve istediğin gibi yapabilirsin.
Özellikle oyununuzda prototip oluştururken ve eğlenirken, işleri hızlı bir şekilde deneyebilmek mükemmel görünmekten daha önemlidir. Eğer oyun için en iyisini bulmadan Muhtemelen karakter yanlış birçok kez gibi önemli şeylerden boyutunu alırsınız ve o olurdu emmek her Animasyon Çerçeve farklı bir şey denemek istiyorum her zaman yeniden boyamak zorunda. Yani, erken terlemeyin.
Serbest bırakılan oyun için bu bir yargılama çağrısıdır. Hiçbir piksel sanat polisi, kurallara uymazsanız oyununuzu dağıtmanızı yasaklamaz ve birçok oyuncu farkı açıklayamaz. Ancak bu piksel ayrıntılarına dikkat etmek, birçok oyuncunun (ve hakemlerin) önemli bir kalite işareti olarak gördüğü bir şeydir - bu nedenle kitlenizi tanıyın ve onlara sunmak istediğiniz deneyim için neyin en iyi olduğuna karar verin.
Son bir nokta, birçok piksel sanat oyununun çok yüksek hassasiyetli bir oyuna sahip olmasıdır. İlk Mega Man oyunlarında 1 blok platformlar arasında atlamayı düşünün. Bu durumlarda, tutarlı bir piksel ızgarası (ve döşeme ızgarası) oyuncu için hamlelerini yargılama ve yürütmede önemli bir ipucu olabilir. Sanatta usulsüzlük yaratmak, oyunu öğrenmeyi zorlaştırabilir, bu da sinir bozucu olabilir.