furkanxdgs4

Yeni üye
14 May 2016
153
9
0
Belirtilmemiş
Merhaba arkadaşlar. Ben AAA kalitesinde bir silah sistemi üzerinde çalışıyorum ve envantere silah ekleyip o silahı kullanmayı, silah içinden komut çağırmayı vs. baya yaptım ve kendimi o konuda geliştiriyorum. Ancak farklı silahları aynı animasyon üzerinde kurgulayınca elbette güzel durmuyor. Bu sorunu, şuan geliştirilmekte olan Prison Game adlı Türk oyununda da görüyoruz. Ben bu oyunu kaliteli bir şeyler üzerine kurmak istiyorum yani altyapının kaliteli olmasını istiyorum. Oyüzden bu animasyon merkezi (Locomotion) değişiminin nasıl yapıldığını öğrenmek istiyorum. Boolean'lar ile Locomotion değiştirmeyi biliyorum ve zaten o sayede Aim Offset'i kurabildim. Ancak Boolean'lar ile değil de envanter sistemininde kurduğum Structure'a bir Locomotion tarzı bir değişken ekleyip Anim BP üzerinden de o sayede Locomotion değiştirme gibi bir durum var mı? Veya bu işi kaliteli bir şekilde nasıl yapabilirim gösterirseniz sevinirim.
 
Arkadaşlar nedense bu sefer çözümü bulabildim. İnternette aradığımda düzgün sonuç bulamıyordum ama rastgele gelen bir sayfada enumeration ile sorunu çözebileceğimi gördüm. Öncelikle envanter sistemine bakarsanız daha iyi anlarsınız.
Öncelikle bir enumeration oluşturuyoruz ve orda New'e basarak 2-3 tip Enum açıyoruz.
Sonra Structure'umuza girip oluşturduğumuz Enumeration tipinde bir değişken (Variable) açıyoruz.
Sonra da oluşturduğumuz Child BP tipindeki silahımıza girip Structure bilgileri arasından Enumeration'umuza girip ordan silahımıza istediğimiz bir Enumeration'ı seçiyoruz.
Sonra karakterimizin BP'sine girip oluşturduğumuz Enumeration tipinde bir değişken oluşturup önceden kullandığımız Break Structure node'undan Enumeration bilgisini alıp karakter BP'deki değişkene Set ile ayarlıyoruz.
Sonra Anim BP Event Graph içinde karakter BP'de yaptığımız gibi ilk oluşturduğumuz Content Browser içindeki Enumeration tipinde bir değişken oluşturuyoruz ve değişkeni, Karakter BP'nin içindeki Enumeration değişkenine Cast edip Anim Graph içindeki değişkene Set ile bağlayarak, Karakter BP içindeki enumeration bilgisinin otomatikmen Anim Graph'deki değişkene de ayarlanmasını sağlıyoruz.
Sonra Locomotion (State Machine bölümü) bölümünde Final Animation Pose'u Blend Poses Enum ("Değişken adı") node'una bağlıyoruz. Sadece Enum bilgisinin girilebildiği bir Node karşımıza çıkıyor. O Node'un üstüne Sağ tıklayıp (dd "Enum içindeki Silah tipi") diyoruz. Bu sayede istediğimiz tip Enumeration bilgisine göre Poses girişimiz yani Locomotion girişimiz (State Machine girişi) aktif hale gelmiş oluyor. Zaten ekranda da küçük ve tek girişi olan Node, direk Poses bilgisinin vs. girilebildiği klasik bir Poses Node'una dönüşüyor. Sonrası ise sizin hünerinize kalmış.