Nasreddin Hoca Nasıl Yürüdü ? veya Bir Karakter Animasyonu
Yücel DAĞLAR
Özet :
Bu yazıda “Nasreddin Hoca 1 – Köyü Uzaylılar Bastı!” oyununu yazarken, ana karakterin yürüme animasyonu ile ilgili karşılaştığımız sorunlar ve ürettiğimiz çözümleri tanıtacağız.
Giriş :
Önce oyun haakında biraz bilgi verelim. Oyun tarz olarak bir platform oyunudur. Bir tane kahramanın düşmanları kovalayarak puan toplaması temeline dayanır. İki seviyeden (level) oluşmaktadır.
Oyunun hikayesine gelince : Hoca'nın yaşadığı köyü uzaylılar işgal eder. Tabiki halk hemen Hoca'nın evine koşar ve Hoca’dan yardım isterler. Hoca'da elinde meşalesi uzaylıları ateşle korkutup kaçırmaya çalışır. Meşaleden fırlayan ateşleri gören uzaylılar korkup kendilerini, gezegenlerine ışınlarlar.
Burda dikkat ettğimiz bir noktada uzaylıların ölmemesi ama kendilerini gezegenlerine ışınlamaları. Dolayısıyla ölümle ilgili bir animasyonda koymadık oyuna.
Yürüme Animasyonu
İlk Metod (Hatalı) :
|
Aklımıza gelen ilk yöntem, animasyonu karakterin ayakta durma haliyle başlatmak ve adım adım bir bacağını ileri doğru hareket ettirerek diğer pozları oluşturmak. Sonunda oluşan pozlar farklı genişlikte oldular. Bu durum aşağıdaki örnek resimde 3 aşamalı olarak gösterilmiştir. |
Bu resimlerle animasyon yapmak için :
1. Adım : ilk resmi X kordinatına çiz.
2. Adım : ikinci resmi X kordinatına çiz.
3. Adım : üçüncü resmi X’ kordinatına çiz.
4. Adım : ikinci resmi X’ kordinatına çiz.
5. ....
Bu yöntemi denediğimizde görsel olarak çalışmadığını gördük. Sonuç çok kötüydü. Bunun sebebi sanırım gerçek hayatta, canlılar hareketlerinin her anında farklı hızlara sahipler ve bu durum bu teknikte gözardı edilmiş oluyor.
İkinci Metod (Çalışıyor) :
|
Bu teknikte, animasyon için oluşturulan tüm resimleri altalta koyduk ve tüm resimleri aynı genişliğe getirdik. |
|
Daha sonra resimlerin içindeki karakterlerin ağırlık merkezini aynı X doğrusundan geçiçek şekilde ayarladık.
|
Elde ettiğimiz bu resimlerle animasyon yapmak için, resimlerin sol tarafları aynı x doğrusuna geğecek şekilde ekrana çizmek gerekiyor. İleri doğru hareketi sağlamak içinse bu x in değerini zaman içinde sabit hızla artırmak gerekiyor.
Sonuç :
Sonuç olarak ikinci metodla gayet iyi sonuçlar aldık. Ve oyundada bu metodu kullandık.
Bu konuyla ilgili soru ve önerileriniz için yuceldaglar@yahoo.com adresine mektup yazabilirsiniz.
Oyunda Emeği Geçenler :
Yücel
Dağlar
Turan Kişin