omer.hatay

Üye
2 May 2019
182
14
18
26
(34) İstanbul Avrupa
Bir mermim var, belli bir yönde ilerlerken önüne çıkan unit olup da çarpışırlarsa yok oluyor. Ama ben bunu belli bir hedefe ulaşana kadar diğer her şeyi yok saymasını istiyorum. Bunun için eğer çarpışılan aktör istediğimiz aktör değilse ignore actor when moving fonksiyonun kullanıyorum. Tam tersi işe yarasa bile olur. Bu resimde mermimiz belirlenen aktöre çarptığında onu yok sayıyor, ayrıca çarpışma sırasında diğer tarafında mermiyi ignorelamasını sağlıyorum fakat mermi çarpıştığı yerde duruyor.

konuorq.png
 
Component hit dersen çarptığı yerde duruyordu sanırım. Onun yerine overlap diyebilirsin. daha basit bir sistemle mermide bir actor varriable yap. Instance editable ve expose on spawn olarak işaretle. Mermiyi spawn ederken target actor olarak hedeflediğin aktörü bağla. On component overlap begin de aktörü karşılaştır. True ise yapacağın şeyi yap. Yalnız fps düşük olursa hızlı mermiyse bu yöntemle overlap ları kaçırabilir. O yüzden tick te son konumu ve mevcut konumu ile arasında trace yapabilirsin kaçırmaması için.

 
Hocam şöyleki hit block mantığını kullanmamın sebeplerinden biri çarpışmanın bulunduğu noktada çarpışma rotasyonunun tam tersine particle yaratmam, diğer sebeplerden biri de mermi çok hızlıyken overlapin çalışmama durumu.
 
O zaman her component hit te yok olan mermiyi tekrar spawn edeceksin kaldığı yerden devam ettirmek için. menzil için de kalan menzili yeni mermiye aktarırsın menzilden fazla gitmesin diye.