Estetik bozulmadan piksel sanat spritelarını nasıl döndürebilirim?


12

Şu anda devasa bir "Oyun Tasarımı" sorununun önündeyim. Bir piksel-sanat-ish oyunu yapıyorum ve bilinear enterpolasyon kullanmak birçok animasyon sorununu çözebilir. Öte yandan, artık bir "piksel oyun" değil.

Bilinear Interpolation kullanırsam animasyon çalışır ancak "hibrit-ish" gibi görünür ve sanat tarzı kaybolur. Ya animasyonlarımı ya da sanat tarzını bozuyorum. Her ikisine de sahip olamıyorum.

Bunu çözmenin başka bir yolu var mı?

resim açıklamasını buraya girin


4
Bu senin oyunun, sen karar
ver

"Mono-doğrusal" enterpolasyon (genellikle sadece "lineer enterpolasyon" olarak adlandırılır) bir seçenek midir?
Philipp

1
Soruyu daha az fikir temelli hale getirmek için yeniden yazdım.
Philipp

bir dakika ne? Bunu onaylamam gerekmiyor mu? : D
OC_RaizW

1
Ayrıca , giriş piksellerini çoğaltmadan / elden çıkarmadan / karıştırmadan hareket ettirerek kesme ile dönme olasılığı da vardır .
DMGregory

Yanıtlar:


14

Piksel sanatının 90 ° 'den farklı açılarla otomatik döndürülmesi genellikle yanlış olur. Piksel-sanat estetiğini korumak istiyorsanız, genellikle sanatınızı her açıdan yeniden çizmeyeceksiniz.

Spritelarınızın aslında göründüğünden çok daha yüksek bir çözünürlükte olduğu sahte bir retro görünüm kullanıyorsanız, bazen grafik düzenleyicinizde enterpolasyon olmadan bir tamsayı faktörü ile bunları ölçeklendirip çalışma zamanında doğrusal enterpolasyonda döndürerek kaçabilirsiniz. Spritelarınızın orijinal yönde bulanıklaşmasını önlemek için, çizim konumunun her zaman en yakın tamsayıya yuvarlandığından emin olun (bazı grafik motorlar / çerçeveler / kütüphaneler, genellikle bulanıklıkla sonuçlanan kayan nokta koordinatlarına sprite çekmenize izin verir). Ancak bu genellikle el ile çalışabileceğiniz kaliteye ulaşmayan tembel bir ikame.

Orijinal boyutta, enterpolasyon olmadan faktör 3 ile yükseltilmiş ve daha sonra doğrusal enterpolasyon ile 30 ° döndürülmüş bir sprite örneği:

resim açıklamasını buraya girin


1
Esasen her "piksel" 10x10 piksel ya da buna benzer bir şey haline gelir?
John

2
@John evet, faux-retro ile kastettiğim bu. 10x10 biraz büyük olabilir (elbette hedeflediğiniz donanım platformunun çözünürlüğüne bağlı olarak), ancak temelde fikir budur. 16x32 piksel sanat eserine benzeyen ama aslında her biri "görünür" pikselin aslında aynı rengin 3x3 pikseli olduğu 48x96 bir dokuya sahip bir hareketli grafiğiniz var.
Philipp

thaaat düşündüğümle aynıydı ....
OC_RaizW

aynı yaklaşım Starbound'da, "görünür" pikseller aslında 3x3 gerçek pikselin kareleriydi
trollingchar

16

RotSprite'a bir göz atın .

RotSprite, Xenowhirl tarafından geliştirilen sprite'lar için bir ölçeklendirme ve döndürme algoritmasıdır. En yakın komşu rotasyon algoritmalarından çok daha az eser üretir ve EPX gibi, görüntüye yeni renkler sokmaz (çoğu enterpolasyon sisteminin aksine).

RotSprite örneği

Algoritma ilk olarak, benzer (özdeş değil) pikselleri eşleşmeler olarak ele alan değiştirilmiş bir Scale2 × algoritmasıyla görüntüyü orijinal boyutunun 8 katına ölçeklendirir. Daha sonra sınır pikseli olmayan örneklenmiş noktaları tercih ederek hangi dönüş ofsetinin kullanılacağını hesaplar. Ardından, döndürülen görüntü, aynı anda büyük görüntüyü orijinal boyutuna geri çeken ve görüntüyü döndüren en yakın komşu ölçekleme ve döndürme algoritmasıyla oluşturulur. Son olarak, kaynak görüntüdeki karşılık gelen piksel farklıysa ve hedef pikselde üç özdeş komşu varsa, gözden kaçan tek piksel ayrıntıları geri yüklenir.

Bu algoritmayı oyununuzun çizim kodunun bir parçası olarak kendiniz uygulayabilir veya önceden döndürülmüş varlıklar oluşturmak için kullanabilirsiniz. Piksel resim aracı Aseprite , RotSprite'ı sprite düzenleyicisinin bir parçası olarak entegre etti.

Eylem rotsprite GIF

Ayrıca, Unity'de RotSprite'in nasıl kullanılacağı ve RotSprite hakkında daha genel bilgiler için bu Unity forumları konusuna bir göz atın .


Tanrım. Ben birlik için indirilen ve test - ve sonuç her zamanki birlik piksel render çok daha kötü .. Ama teşekkürler
OC_RaizW

@OC_RaizW Bu olmamalı. Unity öğesinin geliştiricisine başvurmak isteyebilirsiniz.
Rudey

-4

sayfanın sol üst kısmı bir seçenektir: otomatik seçim: grup ve katman. katman seçeneğini seçin ve döndürün. kimsenin size söylemediği gibi.


4
Hangi görüntü düzenleyicisinden bahsediyorsun? Soru belirli bir araçtan bahsetmiyor. Bu nedenle, düşük kalitede bir hareketli grafiği minimum kalite kaybıyla döndürmenin aslında çok kolay olduğu bir görüntü düzenleyici biliyorsanız, lütfen bu talimatlardan hangisinin geçerli olduğunu bize bildirin.
Philipp
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.