‫Merhaba ve hoş geldiniz.
‫Bu derste, animasyonlarımızı oyunumuza nasıl bağlayacağımızı öğreneceğiz
‫ve bu efekti elde edebilmek için karakterimizin hızını karışım alanına bağlayacağız.
‫Hadi içeri dalalım ve nasıl yapıldığını görelim.
‫Tamam.
‫Böylece bu AVP nişancı karakterine entegre etmek için kendimize bir karışım alanı bulduk.
‫Yapacağım ilk şey, animasyon planının animasyon grafiğinin nasıl
‫çalıştığına örnek olarak kullandığımız bu iki karışımı silmek olacak.
‫Bunun yerine sağ alttaki varlık tarayıcısından harmanlama alanını getireceğiz.
‫Bu yüzden bu BBS alt çizgi hareketini yarattık.
‫Bunu animasyon grafiğinize sürüklerseniz, buradaki küçük yeşil düğümü getirdiğini göreceksiniz.
‫Ve tıpkı diğer karışım düğümleri ve bunun gibi şeyler gibi, kendimiz ve çıktımıza sürükleyebileceğimiz
‫bir empozemiz var.
‫Derle tuşuna basarsam, varsayılan alanımızda olduğunu görebilirsiniz ve ardından küçük karışım alanının oldukça
‫kullanışlı olan bu küçük görselleştirmesini görebilirsiniz ve devam edip buradaki değerleri statik olarak değiştirebilir
‫veya buraya bazı değişkenler girebiliriz.
‫Muhtemelen ikincisini yapmak isteyeceğiz, bu yüzden devam edeceğim ve
‫elimizdeki sol ve ileri iki değişkeni sileceğim, çünkü artık istediğimiz şeyin bir float olacak bir açı olduğunu
‫biliyoruz.
‫Şimdi bunu float olarak değiştirelim ve yine float olan bir hız değişkenine de ihtiyacımız
‫olacak.
‫Ve bu ikisini hız değişkeninde hıza ve açıda açıya ekleyebiliriz.
‫Derle düğmesine basacağız, animasyon önizleme düzenleyicimize bakacağız ve değerleri değiştireceğiz.
‫Öncelikle hızı biraz artıralım.
‫Hızı yaklaşık 30'a çıkaralım.
‫Bakalım ne olacak.
‫Gidiyorlar.
‫Yürümeye başlar, 70'e çıkar.
‫Koşmaya yaklaşıyor.
‫100'e getiriyorum.
‫On değil, yüz.
‫Sonra tam koşmaya başlar ve biz de açıyı değiştirebiliriz.
‫Yani 90 derecede 90 derece sağa gidiyor, -90 ise sola doğru gidiyor.
‫İkisinin arasında bir yere gidebiliriz.
‫Yani 45 derece diyebilirsiniz.
‫Onun 45 derecelik bir açıyla çalıştığını görebilirsiniz ve karışım alanında seçmeye çalıştığı karışım alanını
‫ve hangi animasyonları görebilirsiniz.
‫Bu ileri animasyon ile 90 derece sağ animasyon arasında bir çeşit harmanlama
‫yapıyor.
‫Bu çok güzel.
‫Bunu hallettik.
‫Ancak bildiğimiz gibi, bunun gerçek oyunumuz tarafından yönlendirilmesi gerekiyor ve bunu neden yapıyoruz?
‫Neden sadece animasyonların oynanışımızı yönlendirmesini sağlamıyoruz, bilirsiniz, böyle ve böyle bir hızda
‫ilerlememiz gerekiyor?
‫Bunu yapmamanın nedeni, animasyonu oynanışı yönlendirmek için kullanmamanın nedeni, tasarımcınızın genellikle
‫oynanışınızla ilgili her türlü değişkeni ayarlayabilmesini istemenizdir.
‫Şunu diyebilmelerini istiyorsunuz: Tamam, bu karakterin bu hızda koşması doğru gelmiyor.
‫Onun yerine bu hızda koşması gerekiyor.
‫Ve bu hızda yürümek daha fazla olmalı.
‫Yani animasyonlarınızın tasarımı ve oyun hissini kısıtlamasını istemezsiniz.
‫Animasyonların oyun hissinizin arkasından gelmesini ve iyi görünmesini istersiniz.
‫Dolayısıyla, tasarım süreciniz sırasında, aslında daha hızlı bir koşu animasyonuna ihtiyacımız
‫olduğunu fark edebilirsiniz ve bu tamamdır, ancak gidip farklı bir koşu animasyonu kaydetmeye çalışmak veya farklı bir koşu
‫animasyonu bulmak ve ardından bunun aslında oyunun hissini iyileştirmediğini fark etmek yerine, oraya ulaşmak için önce oyunu değiştirebilmek
‫istersiniz.
‫Bu yüzden bu iki şeyi mümkün olduğunca ayrı tutmak istiyorum.
‫Bazı şeylerin animasyonlarla gerçekten uyumlu olması gereken zamanlar vardır, ancak bu onlardan biri değil.
‫Yani her kuralın istisnaları vardır.
‫Bu yüzden bunu tamamen değişmez bir kural olarak algılamayın.
‫Bazı özellikleri animasyondan alan oyun örneklerini kesinlikle göreceksiniz, ancak genel olarak konuşursak,
‫bunu tam tersi şekilde yapmak istiyoruz.
‫Söylemek istediğimiz, oyundaki karakterin hızı nedir?
‫Animasyonun hızı ne demek yerine gidip animasyonun hızını güncellememe izin verin.
‫Oyundaki karakterin hızını güncelleyeyim.
‫Tamam.
‫Bununla birlikte, bunu nasıl yapacağız?
‫Temel olarak, bunun mekaniği, bu planın, bu animasyon planının, diğer planların yaptığı gibi bir olay
‫grafiğine sahip olmasıdır, bu da bir TIC olayı gibi şeylere sahip olabileceği anlamına gelir.
‫Olay grafiğine gidip bir göz atacak olursam, burada başlamak için kullanabileceğimiz birkaç olay
‫düğümümüz var.
‫Bu plan güncelleme animasyonumuz var.
‫Animasyonu her güncellemek istediğinde bundan çıkarsak, bize yürütme düğümünü verecek ve devam etmemize
‫ve biraz durum almamıza izin verecektir.
‫Yani yapacağımız şey, bu her çağrıldığında, gidip bir durum yakalamak ve burada,
‫devam et ve piyon nesnesini al diyen bu get spawn sahibine sahip olduğunu fark etmektir.
‫Şimdi kendimize -- bu durumda bir karakter olduğunu, karakterin bir alt sınıf olduğunu -- ve bu
‫bip atıcı karakter olacağını hatırlatalım.
‫Neden bip atıcı karakter olsun ki?
‫Pekala, bir bakalım.
‫Çünkü bu karakteri, ağı seçersek, görüntü alanına gideriz.
‫Şu anda sadece basit bir animasyon çalıştırıyor, ancak yapmak istediğimiz şey animasyon modunu
‫animasyon planlarını kullanmak için değiştirmek ve bu uygulama atıcı karakterini kullanmak istiyoruz.
‫İşte bu yüzden sahibi bu.
‫Bu animasyon planını kullanıyor.
‫Yani planın artık bir piyon sahibi var.
‫Ve bu güncelleme fonksiyonunda yapmak istediğimiz şey, sadece özetlemek gerekirse, piyondan hareketi
‫hakkında bilgi almak istiyoruz.
‫Söylemek istediğimiz, hızınız nedir?
‫Hareket açınız nedir?
‫Bu derste hesaplayacağımız şey de bu.
‫Sadece hız yapacağız çünkü yapılması en basit olanı bu.
‫Açı, bir sonraki derste inceleyeceğimiz dönüşümlerle biraz manipülasyon
‫gerektirecek.
‫Burada isteyeceğimiz düğüm, bize burada bu vektörü veren piyon sahibimizin hızını elde etmektir.
‫Ve sonra bu vektörün arkasından, büyüklüğünü veya uzunluğunu bulmak istiyoruz, böylece büyüklüğü
‫aramak için bu vektörü sürükleyebiliriz.
‫Burada akıllıca davrandığına ve büyüklüğü aradığıma dikkat edin, ancak bana vektör uzunluğu adlı
‫işlevi verdi.
‫Açıkça görülüyor ki, bu büyüklük vektör uzunluğu ile eşanlamlı.
‫Neden vektörün kendisi yerine vektör uzunluğunu almak istiyoruz?
‫Çünkü bir float arıyoruz, yani hız vektörleri açıyı hesaplamak için ihtiyaç duyacağımız
‫hızın yanı sıra yönü de içerir.
‫Ancak hızı hesaplamak için ihtiyacımız olan şey bu değil.
‫Burada sizin için küçük bir meydan okuma var.
‫Devam et.
‫Bu derste başka bir zorluk yok.
‫Devam edin ve bu vektör uzunluğunu kullanarak hızı ayarlayın.
‫Ve unutmayın, herhangi bir infaz iğnesine ihtiyacınız olursa.
‫Bunu plan güncelleme animasyonunda yapmaya çalışıyoruz.
‫Videoyu durdurun ve bir deneyin.
‫Tamam, tekrar hoş geldin.
‫Yani ayarlamak istediğimiz şey hızdır.
‫Bunu plana sürükler ve hızı ayarla düğmesine basarsam, ihtiyacımız olan bir yürütme pimimiz olduğunu görebilirsiniz.
‫Bunu Blueprint Update animasyonundan alacağız ve hızımızı elde etmek için vektör uzunluğumuzdan
‫gelen hız olacak olan veri iğnesine ihtiyacımız var.
‫Bu yüzden devam edebilmeli ve bunu kaydedip derleyebilmelidir.
‫Bunun hızı sıfırladığını görebilirsiniz çünkü şimdi gerçekte orada olmayan bir piyon sahibinden
‫ayarlamaya çalışıyor.
‫Bu yüzden yapmak isteyeceğimiz şey aslında devam etmek ve dünyada oynamak ve neye sahip olduğumuzu görmek.
‫Tamam, bu çok daha iyi.
‫Hareket ettiğim zaman hariç, yerde sabit duran bir piyonumuz var, bu noktada
‫bana biraz hız veriyor.
‫Kontrolör gibi bir analog giriş kullanırsanız, analog girişi değiştirerek hızı değiştirdiğinizi
‫görebilirsiniz.
‫Bu adamın ne kadar hızlı hareket ettiğini değiştirebiliriz.
‫Şimdi, açıkçası, burada iki sorun var.
‫Bunlardan ilki, bir açıdan hareket edersem, sadece mutlak hızı kullanıyor olması.
‫Yani karışım alanımızdaki bu açıyı ayarlamıyor.
‫Bu yüzden animasyon yanlış görünüyor.
‫Diğer sorun ise, animasyonumuzun hızı oyunumuzdaki karakterin hızıyla eşleşmediği için
‫burada kesinlikle biraz ayak kayması yaşıyoruz.
‫Bu da bir sonraki derste düzeltmeye çalışacağımız bir konu.
‫Harika bir şey.
‫Umarım artık animasyon planını kullanarak animasyonların oynanışa nasıl bağlanması gerektiğini anlamışsınızdır
‫ve bunu gidip kendi oyununuza uygulayabilirsiniz.
‫Bu hareketin biraz daha doğal görünmesi için bu açıları bağlayacağımız bir sonraki derste görüşmek
‫üzere.