Serhat_Dikyol

Yeni üye
21 Nis 2024
9
0
1
Merhabalar, daha önce bahsettiğim gibi bir futbol oyunu geliştiriyorum. Top fiziği, karakter temel animasyonları oyuna ekledim ancak karakterimin topu ayağında kontrol etmesini ve ben komuta bastığımda pas/şut atmasını gerçekleştirme konusunda biraz takıldım. İnternette bazı videolar vardı ama onlar da yardımcı olmadı maalesef ki.
 
Ben olsam oyunun tamamında asla fizik kullanmazdım. Fizik kullanılacak tek yer bence topun oyuncunun ayağından çıktığı anda başlar ve başka bir oyuncu dokunduğunda biter. Yani top birisinin kontrolünda olduğu zamanları tamamen animasyonla çözerdim. Top kimsenin kontrolünda değilken fizik kullanırdım Bu durumda top sürme çalım vb kontrollü hareketler sadece bir animasyonu sistemi olur, saf animasyon ya da "skeletal controls" gibi. Bunu yapmanın bir yolu karakterine bir kemik eklemek (virtual bone da olur). Top sürme ve her türlü çalım animasyonu vb durumlarda bu kemik olması gereken yerde anime edilir ve top bu kemiğe "attach" yapılır sadece. Bu da topun kendi etrafında dönüş yapması vb ekstra ayrıntıları çok kolay hale getirir. (Bir sonraki aşamada gerçekçiliği arttırmak için "physicalanimation" da kullanılabilir)
İkinci durum ise topun ayrıldığı şut pas orta vb zamanlar. Burda fizik kullanırdım. Top bu konuma her geçtiğinde belli açı ivme güç parametrelerine göre physics sistemi ile gitmesi gereken yere gidebilir.
Bu noktada asıl çözülmesi gereken tek sorun ikisinin fark edilmeyecek şekilde "anim blend" edilmesi. Yani fizik sisteminden animasyon sistemine, animasyon sisteminden de fizik sistemine güzel bir geçiş yapılması lazım. Bunun için UE5 te yeterinden fazla ve harika araçlar var.
Eğer apostrof içinde yazdığım konularda yeterince kendini geliştirebilirsen yaparsın diye düşünüyorum. Her konu kendi içinde geniş bir mevzu çünkü.
 
Son düzenleme:
Ayağına yapıştırmayacaksın. Onu kontrol eden ayrı bir kemik olacak ona yapıştıracaksın ve o kemikte karakterin tüm animasyonlarına göre anime edilecek. Örneğin top sürerken gerçekçi şekilde ayağın dokunuşları topun bir miktar ileri fırlaması hepsi o kemikle beraber gerçekçi şekilde anime edilecek. Kemik animasyonlu olduğu için top ta onunla hareket edecek. Burada tek konu topun kendi etrafında dönmesi kalıyor ki o çok kolay. Topu bir BP yapacaksın ve tikte rotate fonksiyonu yazacaksın. Ben böyle yaklaşırdım bu probleme. Tabi herkesin başka çözüm yolları olabilir.
 
Ayağına yapışmasından kastım kemik ekleyince belirli bir konuma getirebilmemdi. Topun bpsini zaten yapmıştım bir de tick rotate yazarak deneyeyim o zaman