Tanhu

Unreal MVP
22 Tem 2015
208
34
0
Belirtilmemiş
Şu sıralar sık konu açar oldum ama anladığım kadarıyla bu konuyu gelecekte baya kullanacağım, başka arkadaşlar da sorularını buradan sorabilirler.

Dökümanlardaki talimatları uyguladım ve sonuç olarak böyle bir BP var, anladığımı yazacağım doğru mu anlamışım bilenlerle sormuş olurum.  :)

GraphDone.jpg


OnComponentBeginOverlap başlangıç görevi görüyor, yani Box aktörünün ilk adımı. Bu başlangıca göre her şey örtüşmeyle gerçekleşecek.

Other Actor ise diğer aktörümüz, yani biziz. Burada bir eşittir kullanmamızın sebebi, Other Actor'ün Player olduğunu tanımlamak. Other Actor = Player gibi bir şey oluyor bu durumda.

Branch olayı hakkında kafam karışık, bunu bana anlatırsanız sevinirim ben pek anlayamadım doğrusu. Beyaz pini Branch'e bağlıyoruz, buradaki amaç sanırım bütünlüğü sağlamak, yani bir sonraki adım o mantığı olmalı. Doğru muyum? Eşittir ise Overlap'ın, yani üst üste gelme işleminin gerçekleşmesini oraya tanıtmak için olmalı ki conditiona bağlanmış. True yani karakter boxın üzerine geldiyse Cast to character'e geçiş yapılıyor, False belirlenmediğinden orada bir şey yok.

Cast To Character ise fırlatmayla alakalı, objenin player olduğu arkadan bağlanmış, beyaz çıkıştan kod bağlantısı devam ettirilmiş ve as character çıkışından target yani hedef düğümlenip Launch Character'e geçilmiş.

Launch'u çalıştırmak diye biliyorum ama başka bir anlam olarak fırlatmaya da denk gelebiliyormuş, Velocity kısmından ise hangi yöne hız verileceği yazılı.

Ben bunları anladım, eğer yanlış anladıysam anlatırsanız sevinirim. Dersin sonunda bana yapmamı istediği bazı şeyleri söylüyor, onlara geçmeden önce buradaki mantıkta bir hatam var mı bunu bilmek isterim.

Bu arada kod düzgün çalışmakta.
 
Güzel, o zaman bu başlangıçla dökümanları okumaya ve öğrenme yolunda çalışmaya devam. Bu konuyu daha sık kullanırım diye açtım, genel bir konu niyeti taşıyor. İleride yine ileti atarım, teşekkürler. :)
 
Polandball onlar ama görseller karıştı sanırım, küçük halinde Türk bayrağı olması gerekiyordu Amerikan olanı koymuşum sanırım. :D Bir ara düzelteyim onu sen dedin de farkettim.
 
Eğer yapay zeka söz konusu değilse Overlap ve Cast arasındakilere ihtiyacın yok, Cast zaten denetleme yapıyor. Branch de bir If(Eğer) komutudur bu arada. Eğer Bool True(Doğru) ise > True pinini ateşle; False(Yanlış) ise False pinini ateşle.
 
@Jacky
PoDZV8.jpg

Bilgin için teşekkürler, şu şekilde yaptım ve işe yaradı. Kestirme yolu da öğrendim. :)

Peki durumun False olması için ne gerekiyor? Başka bir aktör temas edince mi false yürürlüğe giriyor?
 
Mesela hareket eden objeler var, vurunca hareket ediyorlar, yüksekten bırakırsan düşüyorlar buna ne ad veriliyor bilmiyorum. Bu obje launcpad'e düştüğünde fırlaması için ne yapmam gerekir?
 
Merhaba yine ben, bu defa boş değilim ve öğrenmek adına çabalıyorum.  :D

Amacım objeye yaklaşılıp E tuşuna basıldığında sesin tetiklenmesi. Bunu yapamıyorum, sebebi ise E tuşuna basılıp collision dahilinde nasıl başlangıç yapacağım. Mesela collisona ateş edildiğinde tetiklemeyi yaptım;
Ylp57E.jpg

Ama benim amacım E tuşuna basıldığında sesin çıkması. Objeye yakınken.

Diğer türlü level blueprint üzerinden de e tuşuna basıldığında sesi tetikleyebiliyorum ama o haritanın neresinde olursan ol çalışıyor. :)
 
OnComponentHit değil de OnComponentBeginOverlap ve OnComponentEndOverlap kullanın. OnComponentBeginOverlap olayında boolean bir değeri true yapın, OnComponentEndOverlap olayında ise bu boolean değeri false yapın. Sonra Input Action Pressed olayında, boolean değer true ise sesi oynatın. Ses çaldığı düre boyunca bir objeye eklenecek ve onunla birlikte hareket edecekse, PlaySoundAtLocation; hayır etmeyecek bir noktada çalmaya başlayacak ve o noktada ses bitene kadar çalacaksa PlaySoundAtLocation kullanın.


yükle resim

Bu örnekte Actor'den kalıtım almış MyTrigger adında bir BP oluşturuldu. İçerisine Box (Component) eklendi ve Box'un söz konusu olayları ile E tuşunun basılma olayı kullanıldı. Ayrıntılı olarak sesi trigger içerisine giren bir Actor'e attach'layacaksanız, BeginOverlap olayının, OtherActor çıktısını (parametresini) kullanın.
 
cahitburak' Alıntı:
OnComponentHit değil de OnComponentBeginOverlap ve OnComponentEndOverlap kullanın. OnComponentBeginOverlap olayında boolean bir değeri true yapın, OnComponentEndOverlap olayında ise bu boolean değeri false yapın. Sonra Input Action Pressed olayında, boolean değer true ise sesi oynatın. Ses çaldığı düre boyunca bir objeye eklenecek ve onunla birlikte hareket edecekse, PlaySoundAtLocation; hayır etmeyecek bir noktada çalmaya başlayacak ve o noktada ses bitene kadar çalacaksa PlaySoundAtLocation kullanın.


yükle resim

Bu örnekte Actor'den kalıtım almış MyTrigger adında bir BP oluşturuldu. İçerisine Box (Component) eklendi ve Box'un söz konusu olayları ile E tuşunun basılma olayı kullanıldı. Ayrıntılı olarak sesi trigger içerisine giren bir Actor'e attach'layacaksanız, BeginOverlap olayının, OtherActor çıktısını (parametresini) kullanın.
Bende önceden bool değeri kullanıyordum fakat,gate adında bir node var ve aynı işi görüyor.


Zamandan tasarruf :)