Unity ile 2.5D izometrik oyun-geliştirme yapay zekâ akışı

Unity için yapay zekâ piksel sanatı

Yapay zekâ; sprite varyasyonları ve kareler üreterek Unity için piksel-sanat üretimini hızlandırabilir, sanatçı stili tutarlı tutar ve motor-tarafı disiplin korunur.

Yapay zekâ kullanılabilir piksel sanatı üretebilir mi?

Varyasyon ve ara karelerde evet: palet değişimi, idle döngüsü tween’leri ve tek bir baz sprite’tan 8 yönlü dönüşler, yapay zekânın güçlü olduğu yerler. Piksel sanatı buna alışılmadık derecede uygun, çünkü format kural-bağlı: sabit tuval, küçük palet, sert kenarlar; bu kuralların içinde model inandırıcı biçimde ara değer üretebilir. Zayıf kaldığı nokta kahraman asset, yani tüm stili belirleyen ilk çizim; modelin bir görünümü icat etmek yerine kopyaladığı için orada hâlâ sanatçı şart. Modele boş bir brief verirsen yetkin ama jenerik bir şey döner, görselin stok-sanat karşılığı. Yapay zekâ çıktısını bitmiş bir kare değil, temizlik geçişi bekleyen taslak olarak gör.

Formatın yapay zekâya uygun olmasının nedeni, aynı zamanda özensizliği cezalandırmasının da nedenidir. 32’ye 32’lik bir piksel sprite’ında yaklaşık bin hücre vardır, her biri bilinçli bir renk seçimi, dolayısıyla silüeti doğru yakalayan ama paleti bulaştıran bir model, uzaktan iyi görünüp oyun çözünürlüğünde dağılan bir şey üretmiştir. Dürüst kelimenin “bitmiş” değil “kullanılabilir” olmasının nedeni budur: üretilen kare, bir insanın kaçan pikselleri geri çektiği ve keskin kenarları onardığı retuş geçişi için ham malzeme olarak kullanılabilir. Yapay zekâ piksel sanatını küçük ön izlemeden yargılamak tuzaktır; onu birebir, yani oyuncunun gerçekten gördüğü boyutta yargıla, ihtiyaç duyduğu temizlik işi o zaman ortaya çıkar.

Yapay zekâ piksel-sanat pipeline’ında nereye oturur?

Kökene değil, çoğaltma aşamasına oturur. Referans sprite’ı sanatçı çizer, paleti kilitler; oradan sonra yapay zekâ varyantları, alternatif kareleri ve renk değişimlerini doldurur, böylece uzun bir yürüme döngüsünü tek tek elle çizmeden çıkarırsın. Çizilen kaynak tek doğru kaynak olarak kalır, üretilen her kare ona karşı kontrol edilir. Dürüst iş bölümü şu: karakterin neye benzediğine ve nasıl hareket ettiğine insan karar verir, bu kararın gerektirdiği onlarca neredeyse aynı kareyi yapay zekâ doldurur. Çizim adımını atlayıp tasarımı yapay zekâya kurdurursan, savrulmayı düzeltmeye çizmekten daha çok zaman harcarsın.

Kazancı en net gördüğün yer renk değişimidir. Bir baz karakter var olduğunda; bir muhafız, bir köylü ve bir kaptan, üç ayrı çizim yerine aynı çizilmiş sprite’ın üç palet değişimi olabilir, ve yapay zekâ bu renklendirmeyi saniyeler içinde yaparken bir insan yeni paletin aynı bedeni farklı kıyafetlerde okutup okutmadığını teyit eder. Aynı mantık idle ve yürüme tween’lerini de kapsar: anahtar kareleri, yani hareketin uç noktalarını sen çizersin, ara değerleri yapay zekâ üretir. Bu şekilde kullanıldığında saatlerin asıl eridiği yer çoğaltma aşamasıdır, çünkü insan zamanı bir karakteri tanımlayan bir avuç karara, yapay zekâ zamanı ise o kararların ürettiği onlarca kareye gider.

Yapay zekâ piksel sanatını stil olarak nasıl tutarlı tutarsın?

Sabit bir palet belirle ve her üretime aynı referans sprite’ı ver, böylece modelin parti başına savrulmak yerine kopyalayacağı tek bir görünümü olur. Sonra elle retuş geçişi yap: palet dışına kaçan renkleri geri çek, modelin eklediği yumuşatmayı temizle, silüeti hizala. Yumuşatma tekrar eden ele veren işarettir; modeller piksel kenarlarını tüm stilin dayandığı keskinliği bozan bir bulanıklığa yumuşatmaya bayılır, bu yüzden onu temizlemek seçenek değil zorunluluktur. Bu retuş adımı olmadan üretilen kareler tonda ve kenar stilinde yavaşça ayrışır, set tek bir karakter gibi okunmaz. Tutarlılık açtığın bir ayar değil, kare kare uyguladığın bir disiplindir.

Retuşu zahmetli değil hızlı kılmanın pratik bir yolu, modeli savrulmadan önce kısıtlamaktır. Her çıktıyı kilitli palete geri kuantize etmek kaçan renkleri otomatik yakalar, ve bilinear yerine point filtering ile import etmek Unity’nin yeni temizlediğin kenarları yeniden bulanıklaştırmasını engeller. Disiplin katmanlıdır o hâlde: modelin yakın başlaması için paleti kilitle, geri sıçraması için kuantize et, ve hayatta kalan birkaç hatanın bir insan tarafından yakalanması için incele. Yüz kare boyunca tutan tutarlılık asla tek bir numara değildir; setin savrulabileceği yolların her birini teker teker kaldıran küçük kısıtlamaların yığınıdır.

Sprite’lar Unity’ye nasıl temiz ulaşır?

Sabit bir pivot belirle, yere basan karakterlerde alt orta güvenli varsayılandır, kareleri atlas’a paketle ve dosyaları öngörülebilir adlandır, böylece importer onları elle düzeltmeden dilimler. Kare sürelerini sayfanın yanında kayıtlı tut ki AnimationClip senin çizdiğin hızda oynasın, Unity’nin varsayılanında değil. Temiz adlandırma ve sabit pivot, atlas’ı sonradan yeniden paketlediğinde sprite referanslarının kaymasını önleyen şeydir; atlas yeniden paketlenip her dilim kaydığında bir karakterin animasyonlarını sessizce boşaltan başarısızlık tam da budur. Dışa aktarma sınırı bir sözleşmedir: adlandırmayı ve pivotu bir kez kilitle, üretilen her kareyi çizilen kaynağa karşı kontrol et, Unity seti tam beklediği biçimde alsın.

Piksel sanatı, tüm retuş işinin yolculuğa sağ çıkıp çıkmadığını belirleyen bir ayar detayı daha ekler: import filtresi ve pixels-per-unit. Keskin bir sprite’ı Unity’ye bilinear filtreleme ile getirirsen bulanık gelir, yani retuş geçişinde kaldırmak için uğraştığın görünümün ta kendisi, dolayısıyla point filtering ve sıkıştırmasız import burada tercih değil, formatın gereğidir. Pixels-per-unit de her sprite’ta eşleşmek zorundadır, yoksa bir karakter ile üstünde durduğu kare aynı sahnede farklı ölçeklerde kalır. Bu varsayılanların bu kadar önemli olmasının nedeni, piksel sanatının hiç payı olmamasıdır: bu çözünürlükte tek bir yanlış import ayarı oyuncuya görünürken, yüksek çözünürlüklü bir oyunda fark edilmeden geçerdi.

Yukarıdaki retuş ve dışa aktarma disiplini, daha geniş 2.5D izometrik Unity yapay zekâ akışının arkasındaki disiplinin aynısıdır ve bu sprite’lar yalnızca onları motora taşıyan düzgün bir yapay zekâ oyun asset hattı içinde temiz kalır. Buradaki piksel-sanat adımları doğrudan game-dev-kit’i besler; bu kit yayınlanmadan önce özgünleştiriliyor, dolayısıyla henüz bir kanıt galerisi yok, durumunu game dev kit sayfasından takip edin.