mrtcnaslnts

Aktif üye
8 Ara 2019
575
2
42
28
Düşmana vudruğumda hangi yönden vurduysam ona göre hasar alma animasyonu oynamasını istiyorum. Yani sağdan vurduysam sola doğru eğisin soldan vurduysal sağa arkadan vurussam öne vs. Bunu nasıl yaparım acaba öneriniz nedir
Bone a göre yaptırıyor gördüğüm kadarıyla ama nasıl yapcamı bilemedim

Örnek aşağıdaki video


https://www.youtube.com/watch?v=gYrV7XKPOKI&ab_channel=AngeIV
 
Eğer damage olayını hallettiysen mutlaka trace den gelen hitresult elindedir. Orada HitLocation, HitComponent, Hit Bone Name vb. her türlü bilgi mevcut. Buradan aldığın veriye gere AnimGraph ta Additive bir AnimMontage oynatabilirsin. Biraz matematik gerekebilir. Bir fikir olması açısından GetForwardVector ile HitLocation a olan doğrultu arasındaki açının kosinüsü 1 olduğunda o nokta karakterinin tam karşısında ya da 0 olduğunda tam 90 derece yanda demektir. Clamp ve Remap kullanman gerekecek. Buna göre değişik durumlara karşı değişik montage lar oynatabilirsin. Hatta ara açılar için blend de yapabilirsin. Yani 45 derece yanda olan bir nokta için %50 karşıdan vuruluş animasyonu %50 soldan vuruluş animasyonu vb.
 
Saldıran karakterin ve savunan karakterlerin forward vectorlerini alıp dot product kullanabilirsin. Hazır fonksiyon var unreal içinde. Bunun sonucunda 0,1,-1 gibi değerlere yakın sonuç elde edebilirsin. 1 olursa arkasından vurmuş, -1 olursa önden vurmuş 0 olursa yandan vurmuş gibi düşünebilirsin. Yandan vurmayı da dot product sonuçlarına göre deneyerek sağ ve sol aralığı şu olsun diye ayırabilirsin.