musapro05

Yeni üye
25 Haz 2021
2
0
0
(34) İstanbul Avrupa
Merhaba,
Bir proje üzerinde uğraşmaktayım fakat bir sorun yaşıyorum. Açıkçası Sorun değilde daha çok Bir olayı nasıl gerçekleştireceğimi bilmiyorum. Sorum tam olarak; Bir nesnenin belirli bir Konum' a (Location) geldiğinde veya belirli bir Yön' e (Rotation) sahip olduğunda o nesnenin yok olmasını (Destroy), tekrar Konum (Location) veya Yön (Rotation) değiştirmesini nasıl sağlayabilirim?

Şimdiden Teşekkürler.
 
Tick fonksiyonunda süreli kontrol edeceksin location ve rotation değerlerin belirttiğin değerler de mi diye. Branch ile ayrılacaksın orada ve ne yapmak istiyorsan onu yaptıracaksın.
 
Eğer söz konusu nesne bahsettiğin konum veya rotasyona hiçbir zaman tam olarak yerleşmeyecek, milim farkla yanından geçecekse, hedef konuma olan uzaklığı örnek olarak "1 cm kala yok et" veya hedef rotasyona "0.1 derece kala yok et" mantığını uygulayabilirsin. Açıklamam gerekirse ActorLocation değeri "0.0 : 100 : 125" ve HedefLocation "0.1 : 100 : 125" Distance Node'unu kulanarak aralarındaki mesafeyi ölçersin ve sonuç "0.1" olarak bulursun. Branch kontrolünde eğer Distance'ın sonucu "0.1" den küçük veya eşitse DestroyActor.
 
Eğer bu aktörden çok fazla olacaksa sahnede tick yerine set timer by function name ile her kare yerine 0.03 saniye gibi daha az bir frekans ile aşağıdaki fonksiyonu çağırabilirsin. 



İlk turuncuya get actor transform, ikincisine de hedef transformu yapıştır. Transform içinde location ve rotation var ikisi bir arada. Eğer aynı aktör başka yere ışınlansın diyorsan destroy demek yerine set transform ile başka yere teleport et daha optimize olur.

Toleransları yüksek yaz yoksa oyun yakalayamaz aynı konumu. Location a 10, rotationa 3 diyebilirsin. scale hep aynı kalacak aksini yaptırmazsan.

Hem location hem rotation değil de ikisinden biri olsun dersen nearly equal fonksiyonu onlar için de ayrı ayrı vardır.