Metlivi Blog

Zamanlama Yoluyla Piksel Karakterin Yürüyüşünün Daha Ağır veya Daha Hafif Hissedilmesi Nasıl Sağlanır?

Bir piksel karakterin yürüyüşünün daha ağır hissettirmesi için, vücuduna yere basan her ayağın üzerine oturması için daha fazla zaman tanıyın ve bir sonraki adıma yükselişin belirgin ve kontrollü olmasını sağlayın. Daha hafif hissettirmesi için döngüyü kısaltın, toparlanmayı hızlandırın ve vücudun alçak pozisyonda daha az zaman geçirerek geri yaylanmasını sağlayın. Bunlar katı kurallar değil, başlangıç tercihleridir: ayak temasının net ve anlaşılır kalmasını sağlayın, her seferinde yalnızca bir zamanlama değişkenini ayarlayın ve döngüyü oyunda oynatılacağı hızda karşılaştırın.

15 Ekim 20268 dakikalık okumaYazan: Metlivi Editorial Team
Bölüm 1

Halihazırda sahip olduğunuz yürüyüşle başlayın

Zamanlamayı değiştirmeden önce, döngünün net ve sıralı adımlara sahip olduğundan emin olun. Her iki ayağın da yere temas ettiği iki temas pozunu ve vücut ağırlığının destekleyen bacağın üzerine bindiği alçak pozu belirleyin. Hareket eden ayağın vücudun altından geçtiği geçiş pozu, bu evreyi daha anlaşılır kılmaya yardımcı olur. Bu yaygın pozlar, zamanlama ayarlamaları için size referans noktaları sunar; bir piksel yürüyüşünün bunları aktarması için yüksek kare sayısına ihtiyacı yoktur. Düşük çözünürlüklü sprite animasyonuna yönelik bir rehber; sprite boyutuna ve istenen ayrıntı düzeyine bağlı olarak iki, dört ve sekiz karelik döngüleri uygulanabilir seçenekler olarak tanımlamaktadır. Manning Krull’un düşük çözünürlüklü yürüme döngüsü eğitimi

Sprite şu anda kayıyor gibi duruyorsa, tam döngü başına yalnızca bir kez yaylanıyorsa veya her seferinde aynı ayakla öne çıkıyor gibi görünüyorsa, önce bunu düzeltin. Genel hızı değiştirmek, zaten belirsiz olan bir döngünün okunmasını daha da zorlaştırabilir. Animasyonu hem yakınlaştırarak hem de oyun içindeki gerçek ölçeğinde oynatın: düzenleyicinin zaman çizelgesinde görülebilen küçük zamanlama farkları, orijinal boyutta kaybolabilir.

Bölüm 2

Zamanlamanın neyi değiştirdiğini bilin

Zamanlama (timing), eylemin ne kadar sürdüğüdür; bir sprite döngüsünde bu, oynatma hızı ve tek tek çizimlerin ekranda ne kadar süre tutulduğu ile kontrol edilir. Boşluklandırma (spacing) ise, karakterin veya bir uzvun art arda gelen çizimler arasında ne kadar mesafe katettiğidir. Düşük bir oynatma hızı, döngünün her bir parçasını eşit şekilde uzatır. Belirli bir pozu tutmak ritmi bölgesel olarak değiştirirken, pozun piksel konumunu değiştirmek görsel boşluklandırmayı değiştirir. Bu kontroller birlikte çalışabilir ancak aynı şeyi ifade etmezler.

Örneğin, tüm döngüyü yavaşlatmak karakterin adım atma süresini uzatır. Alçak pozu tutmak belirgin bir ağırlık çökmesi vuruşu ekler. Bu pozdayken gövdeyi bir piksel daha aşağı kaydırmak, siluetini ve çökmenin boyutunu değiştirir. Buradaki faydalı soru yalnızca "Ağır bir yürüyüş kaç kareden oluşur?" değil, "İzleyici vücut ağırlığının indiğini nerede görmeli ve ağırlık orada ne kadar süre kalmalı?" sorusudur. Yürüme döngüsü referansları; hızlı, doğal, gezintili ve yavaş yürüyüşler için farklı toplam süreler kullanır; bu da döngü uzunluğunun sabit bir değerden ziyade üslup tercihi olarak ele alınmasını destekler. Monmouth University’nin yürüme döngüsü zamanlama rehberi

Bölüm 3

Daha yavaş bir oturma ile daha ağır bir yürüyüş oluşturun

Versiyonları karşılaştırabilmek için bu denemeyi mevcut animasyonunuzun bir kopyası üzerinde yapın. İlk olarak, çizim sayısını değiştirmeden oynatma hızını biraz düşürün. Karakterin ağır çekimde hareket ediyormuş gibi değil de hâlâ adım atıyormuş gibi göründüğünden emin olun. Tüm döngü tekdüze bir şekilde hantal hissettiriyorsa, orijinal hıza geri dönün ve bunun yerine bölgesel bir ayarlama yapın.

Ardından, alçak ve ağırlık taşıyan pozu kısa bir süre tutarak süresini uzatın veya düzenleyiciniz net bir şekilde destekliyorsa neredeyse aynı bir kare ekleyin. Bu tekrar, vücudun destekleyici bacağın üzerine indiğini ve oturduğunu göstermelidir. Bu bekleme süresince yere basan ayağı sabit tutun. Zemin üzerinde kayarsa, bu duraklama ağırlık aktarımı yerine kayma veya yapışma gibi algılanabilir.

Pratik bir test yöntemi, orijinal döngü ile değiştirilmiş döngüyü aynı oynatma hızı ve oyun içi hareket hızını kullanarak yan yana karşılaştırmaktır. Her temastan vücudun en alçak konumuna kadar olan aralığa bakın. Vücut, ayak yere bastıktan sonra çökerse zamanlama daha ağır bir aktarımı düşündürebilir; çok uzun süre alçakta kalırsa yürüyüş takılmış veya yapışmış gibi hissettirebilir. Poz ile zamanlama arasındaki bağlantı, basit piksel döngülerinde bile açıkça görülür: Adafruit'in MakeCode Arcade rehberi, bir yürüyüşü kare aralığını ve gövdeyi tek bir karede aşağı kaydırmak da dahil olmak üzere gövde pozunu değiştirerek ayarlar. Adafruit’in piksel animasyonu rehberi

Bölüm 4

Daha hızlı bir toparlanma ile daha hafif bir yürüyüş oluşturun

Aynı karakterin daha hafif hissettirmesini sağlamak için daha kısa bir döngü deneyin veya alçak pozdaki bekleme süresini azaltın. Vücudun en alçak konumundan oyalanmadan geçmesini sağlayın ve bir sonraki adıma yükselişin hızlı hissedilmesini sağlayın. Karakter her temasta ağır bir şekilde çöküyor gibi görünüyorsa dikey salınımı da biraz küçültebilirsiniz. Önce döngü hızını ya da pozu değiştirin; her ikisini aynı anda ayarlamak, görsel algıyı neyin iyileştirdiğini anlamayı zorlaştırır.

Hız tek başına hafifliğin yanı sıra aciliyet hissi de uyandırabilir. Büyük bir vücut düşüşüyle birleştirilen hızlı bir döngü, agresif veya telaşlı hissettirebilir; buna karşın hızlı bir toparlanma ve kısıtlı bir çökme, çevik bir his verebilir. Bunu evrensel bir fizik kuralı olarak değil, test edilmesi gereken bir animasyon tercihi olarak görün. Daha hızlı bir animasyonun ileriye doğru hareketle çelişen bir ayak hareketine yol açmaması için, karakterin adım uzunluğunu ve hedeflenen hareket hızını karşılaştırın.

Bölüm 5

Küçük bir zamanlama çalışmasından yararlanın

Basit bir karşılaştırma, ritmin hangi bölümünün asıl etkiyi yarattığını ortaya çıkarabilir. Aşağıdaki değerler; saniyede 12 karelik (fps) bir önizleme ve her versiyonda aynı pozların kullanıldığı varsayılarak örnek amaçlı verilmiştir. "Tutma", orijinal çizim de dahil olmak üzere alçak pozun toplam gösterim süresini ifade eder. Kesin bir profesyonel standart değildir.

Versiyon Döngü uzunluğu Alçak poz tutma süresi Kontrol edilecek nokta
Temel 8 kare (yaklaşık 0,67 sn) 1 kare (yaklaşık 0,08 sn) Hareket, oyun boyutunda net bir şekilde okunuyor mu?
Daha ağır test 10 kare (yaklaşık 0,83 sn) 2 kare (yaklaşık 0,17 sn) Ayaklar yere yapışmış gibi görünmeden vücut ağırlığı oturuyor mu?
Daha hafif test 6 kare (yaklaşık 0,50 sn) 1 kare (yaklaşık 0,08 sn) Temaslar anlaşılır kalırken toparlanma hızlı hissettiriyor mu?

Bu sayılar tavsiye edilen varsayılanlar değil, aritmetik örneklerdir: saniyede 12 kare hızında sekiz kare, saniyenin üçte ikisini alır. Dört karelik bir döngünüz varsa, birkaç yeni çizim eklemeden önce alçak pozun kopyasını eklemeyi deneyin. Sprite çok küçükse pozları basitleştirmek, ayrıntı eklemekten daha iyi bir netlik sağlayabilir; Krull, iki ve dört karelik döngülerin küçük sprite'lar için uygun olabileceğini, daha uzun döngülerin ise daha büyük olanlar için işe yarayabileceğini belirtmektedir. Krull’un döngü boyutu incelemesi

Bölüm 6

Ayak temasını ve ilerlemeyi senkronize tutun

Bir oyunda kullanılan yürüme döngüsü genellikle karakter ekranda hareket ederken oynatılır. Karakter bir döngü sırasında çok fazla ilerlerse ayaklar kayıyor gibi görünebilir; ilerleme hızı aynı kalırken döngü hızlanırsa, ayaklar yavaş bir ileri hareketin altında hızla dönüyor gibi görünebilir. Animasyonu gerçek oyun bağlamında test edin ve gerektiğinde döngü zamanlamasını hareket hızıyla birlikte ayarlayın. Monmouth'un rehberi, yürüme döngülerinin genellikle yerinde (in place) döngüye girecek şekilde oluşturulduğunu, bu nedenle oyun içi hareketin ayrıca kontrol edilmesi gerektiğini belirtir. Monmouth University’nin yürüme döngüsü rehberi

Yere basan bir ayağı kontrol ederken, ağırlık taşıması gereken kareler boyunca zemine göre konumunu izleyin. Karakter ayağını kaldırana kadar görsel olarak sabit kalmalıdır. Küçük bir sprite'ta bir piksellik kayma belirgin bir hareket yaratır; bu nedenle sekansı orijinal boyutta inceleyin ve kayma görürseniz kare kare kaydırarak kontrol edin.

Bölüm 7

Kare eklemeden önce sonucu teşhis edin

Yürüyüş çok havada (hafif) hissettiriyorsa, gövdenin temas anı ile alçak poz boyunca neredeyse aynı yükseklikte kalıp kalmadığını kontrol edin. Daha belirgin bir çöküş veya daha uzun bir oturma süresi yardımcı olabilir, ancak her ikisini de abartmak karakterin zıplıyormuş gibi görünmesine yol açabilir. Yere sert vurma (stomp) hissi veriyorsa, alçak pozu tutma süresini azaltın veya vücudun düşüşünü yumuşatın. Ağır hissettirmeden sadece yavaş hissettiriyorsa, genel döngü hızını eski haline getirin ve bunun yerine ağırlık taşıma pozunun etrafındaki zamanlamayı ayarlayın.

Bir adım diğerinden daha ağır hissettiriyorsa döngünün iki yarısını karşılaştırın: temas mesafesi, alçak poz süresi, vücut yüksekliği ve yere basan ayağın konumu. Bilinçli olarak yapılan küçük bir fark anlatımı güçlendirebilir, ancak kazara oluşan bir uyumsuzluk genellikle aksama veya bozuk bir döngü olarak algılanır. Başlangıç noktası olarak birbirine aynalanmış veya birbiriyle son derece uyumlu bir çifti baz alın; asimetriyi yalnızca tasarıma hizmet ettiğinde ekleyin.

Bölüm 8

Kontrollü bir A/B testi ile tamamlayın

Üç önizlemeyi saklayın: orijinali, daha ağır zamanlama testi ve daha hafif zamanlama testi. Bunları aynı görüntüleme ölçeğinde ve hareket hızında oynatın, ardından şu net soruları sorun: Vücut nereye oturuyor, en alt noktadan ne kadar hızla ayrılıyor ve ayaklar basmaları gereken anlarda sabit kalıyor mu? Bir versiyon daha net görünüyorsa değişikliği koruyun. Yalnızca daha yavaş veya daha hızlı görünüyorsa geri alın ve alçak pozu tutma süresini ayrı olarak test edin.

Her sprite'ı ağır veya hafif gösteren tek bir kare sayısı yoktur. En iyi sonuç; sprite ölçeğine, poz tasarımına, oyun hızına ve görsel tarza bağlıdır. Net bir temel oluşturun, döngü süresini veya yerel bir bekleme süresini küçük adımlarla değiştirin ve döngüyü kendi bağlamı içinde değerlendirin. Bu sayede piksel hareketinin okunabilirliğini korurken zamanlama yoluyla ağırlığı şekillendirmek için tekrarlanabilir bir yönteme sahip olursunuz.

Bölüm 9

Kaynaklar

İlgili okumalar

Bu konuyu keşfetmeye devam et