serhatwxe

Unreal MVP
3 Ocak 2016
317
1
54
28
(34) İstanbul Avrupa
Character_BP'de bir tuşa basıp, Cast to ederek Door_BP'den Set Relative Rotation yapıyorum, kapı açılıyor ama kapının içinden geçemiyordum. Rotasyon değişirken Collisionun rotasyonun değişmediğini fark ettim. Collision'u Set collision enabled yöntemiyle kapattım, bu sefer test ettiğimde kapanmadığını fark ettim. Sorun Character_BP'deki tuş ile kaynaklıymış. Örneğin Door_BP'nin içerisinde bir box ekliyorum içine girince bu işlemleri yap diyorum paşalar gibi çalışıyor fakat tuş ile yapıyorum olmuyor sebebi ne olabilir?

https://i.ibb.co/r3T1b3M/Not-Working.png

https://i.ibb.co/Vg66fbK/Working.png
 
Sebebi yine GetAllActorsOfClass gibi duruyor. Çünkü yaptığın kodun onunla doğru çalışabilmesi için bir şart var. Levelinde sadece bir tane DoorBP olması lazım. Çünkü bana bütün Door ları getir ve ilkinin collision ını kapat demişsin. Bu gelen "ilk DoorBP" nin senin karşında olan olduğu ile ilgili hiç bir garanti yok. Yani başka bir deyişle GetAllActorsOfClass ile gelen ilk DoorBP başka bir yerdeki alakasız bir DoorBP olabilir.  Sen birinin karşısında duruyorsun ancak bilmediğin bir tanesinin collision ı ile oynuyorsun. Tabi başta dediğim gibi eğer sadece bir DoorBP in varsa o zaman sorun başka yerdedir.

Diğerinde çalışması ise çok basit çünkü OnComponentBeginOverlap ile "çarpan" DoorBP ye ulaşıyorsun, bir önceki yöntemdeki gibi rastgele bir tanesine değil.
 
erginegider' Alıntı:
Sebebi yine GetAllActorsOfClass gibi duruyor. Çünkü yaptığın kodun onunla doğru çalışabilmesi için bir şart var. Levelinde sadece bir tane DoorBP olması lazım. Çünkü bana bütün Door ları getir ve ilkinin collision ını kapat demişsin. Bu gelen "ilk DoorBP" nin senin karşında olan olduğu ile ilgili hiç bir garanti yok. Yani başka bir deyişle GetAllActorsOfClass ile gelen ilk DoorBP başka bir yerdeki alakasız bir DoorBP olabilir.  Sen birinin karşısında duruyorsun ancak bilmediğin bir tanesinin collision ı ile oynuyorsun. Tabi başta dediğim gibi eğer sadece bir DoorBP in varsa o zaman sorun başka yerdedir.

Diğerinde çalışması ise çok basit çünkü OnComponentBeginOverlap ile "çarpan" DoorBP ye ulaşıyorsun, bir önceki yöntemdeki gibi rastgele bir tanesine değil.

Hocam birden fazla aktörde denedim, Get All Actor dışında Line Trace By Channel yapıp hangisine çarptıysa Cast To etmesini dahi kullandım, olmadı.
3 gündür bununla uğraşıyorum, 4 farklı yere konu açtım rahat bi 20 kişi yanıt vermiştir çözemediler.
Sonunda çözebildim. Intermediate, Saved, Build, Derived Data Cache, bütün bu klasörleri sildim sorun çözüldü. Gerçekten garip.