‫Merhaba ve hoş geldiniz.
‫Bu derste, bizi dünya çapında takip eden bir gözümüz var.
‫Beni gözden kaybettiğinde gidip araştıracak.
‫Bu yüzden kaybetmek oldukça zor.
‫Ama çok fazla köşeye gidersem, bana ayak uyduramayacak ve sonunda ilgisini
‫kaybedip başlangıç noktasına geri dönecek.
‫Bu derste davranış ağacı görevimizi tamamlayarak uygulayacağımız şey de bu olacak.
‫Hadi içeri dalalım ve nasıl yapıldığını görelim.
‫Bu yüzden görevimizin yürütülmesini, gerçekten bir şeyler yapmasını istiyoruz.
‫Ve özellikle de bu kara tahta değerini temizleyebilmek, üzerinde ne yazıyorsa onu yapmak istiyoruz.
‫Peki bunu nasıl yapacağız?
‫Bunun için temel sınıfımıza gitmemiz ve orada nelerin uygulandığına bir göz atmamız gerekiyor.
‫Aslında, görev karatahtası tabanının mirasından da görebileceğiniz gibi, bir seviye daha yukarı çıkmamız
‫gerekiyor.
‫Bunun üzerinde BT görev düğümümüz var.
‫O halde F 12'yi kullanarak buradaki uygulamaya gidelim.
‫BT görev düğümü başlık dosyasının üst kısmına doğru ilerlerseniz, bu sınıfla ilgili bilgileri görebilirsiniz.
‫Ve en önemlisi de bunların büyük olasılıkla uygulamak isteyeceğimiz sanal işlevler
‫olmasıdır.
‫Yani ilki görevi yürütmektir.
‫Bu, görev yürütülmeye başladığında çağrılır, daha sonra, örneğin bir koşul yanlış hale geldiği için yürütmeyi durdurmamız
‫gerektiğine karar verildiğinde bir yönetim kurulu görevimiz vardır ve bu sinyali
‫ayarladık.
‫Bu yüzden bu görevi iptal eder.
‫Tik görevi, görevin yürütüldüğü her zaman gerçekleşir, ancak ilk tikte gerçekleşmez.
‫Böylece ilk tik bundan sonra görevi yürütmeyi çağıracaktır.
‫Her seferinde kene görevi demeye devam edeceğiz.
‫Ve bu bir tik'ten daha uzun sürebilecek davranışlar içindir, örneğin bir düşmana doğru hareket etmek birden
‫fazla tik alabilir.
‫Yani kene görevi bir şeyler yapmamızı sağlar.
‫Her tik ve açık mesajı, bu göreve bir mesaj gönderebilecek iptal etme dışındaki diğer şeyler içindir.
‫Bu özel işlev hakkında gerçekten endişelenmemize gerek yok.
‫Dolayısıyla, ilk üçü gerçekten daha çok ilgilendiklerimizdir ve görevimiz basitçe yürütülür
‫yürütülmez karatahta değerini temizleyeceği ve ardından hemen biteceği için.
‫Birden fazla tik boyunca bir şeyler yapması gerekmez.
‫Biz execute göreviyle ilgileniyoruz, bu nedenle bu başlık dosyasında execute görevi için arama
‫yaparsak, tam imzanın burada olduğunu ve dönüş türünün bu boot düğümü sonucu olduğunu görebilirsiniz.
‫Ve iki şey alır: sahip bileşeni ve düğüm belleği.
‫Şimdi, düğüm belleğini almasının nedeni biraz karmaşıktır, ancak burada
‫bilinmesi gereken önemli şey, bir görev sınıfının veya bir görev sınıfı örneğinin, tüm yazı tahtaları başına yalnızca bir tane olduğudur.
‫Esasen, her şey arasında paylaşılırlar, bu nedenle belirli bir davranış ağacındaki
‫bir düğümle ilgili bazı bilgileri kaydetmek istiyorsanız, yapmanız gereken şey bu bellek işaretçisinde
‫saklamaktır.
‫Ancak bununla ilgili bir şey yapmayacağız.
‫Bunu yapmak için biraz daha ileri seviyeye ihtiyaç var.
‫Ve bunu aşmanın başka yolları da var, örneğin Unreal'ın her davranış ağacı için birden fazla örnek oluşturmasına
‫izin vermek gibi, bu biraz daha düzgün olabilir veya olmayabilir, ancak bu biraz daha verimli bir yol
‫ve bu konuda endişelenmemize gerek yok.
‫Nihayetinde ilgilendiğimiz şey, kendi a bileşenimize, davranış ağacı bileşenine ve oradan da
‫piyon vb. gibi diğer şeylere ulaşabilmemizdir. Ancak bu da başka bir
‫dersin konusu.
‫Şimdi ilginç ve önemli olan sadece yürütme görevimizi uygulamaktır.
‫Bu yüzden imzayı kopyalayacağız, açık tahta değerimiz H'ye gideceğiz ve bu genel not olarak
‫görelim, sanırım bu varsayılan bölümde olduğu için korunacak.
‫Bu yüzden kendimize korumalı bir bölüm oluşturacağız ve buraya yapıştıracağız ve sonra devam edeceğiz ve sadece güvenli
‫olduğundan emin olmak için bir geçersiz kılma oluşturacağız veya koyacağız.
‫Ve sonra C++'da bir uygulama oluşturacağız, geçersiz kılarken her zaman super'i çağırmak
‫istediğimizi hatırlayarak, super execute task with the owner component and the node memory being
‫called up to our parent here.
‫Ve sonra yapmak istediğimiz şey, anahtarı temizleyebilmek için yazı tahtamızı ele geçirmektir.
‫Burada önemli olan iki şey var.
‫Öncelikle, hangi Anahtarın seçildiğini nereden biliyoruz?
‫Blackboard Base H'ye gidersek, oradaki yöntemlerden birinin seçili Blackboard Anahtarını al olduğunu
‫görebilirsiniz.
‫Böylece bunu C++'ınızda kolayca çağırabilir, Blackboard Key'i seçebilir ve bu da geri dönecektir.
‫Üzerine gelirsek, davranış ağacında seçilen yazı tahtası tuşunun F adı olan bir F adı döndürür.
‫Şimdi, yapmamız gereken bir diğer şey de bu davranış ağacıyla ilgili yazı tahtasını gerçekten ele
‫geçirebilmektir.
‫Bunun için de kendimize ait bir bilgisayarımız var.
‫Şimdi, burada geçirilen owner comp türünün aslında bir işaretçi değil, bir referans olduğuna dikkat edin.
‫Yani başlangıç için boş olamaz.
‫Bu harika.
‫Ancak bu aynı zamanda ok operatörü yerine nokta operatörünü kullanmamız gerektiği anlamına
‫gelir çünkü bir işaretçi kullanmıyoruz ve buradan basitçe yazı tahtası bileşenini alabiliriz.
‫Böylece, üzerine geldiğinizde yazı tahtası bileşenini alır, bu yazı tahtası bileşenine bir işaretçidir,
‫bu nedenle ok operatörlerini kullanmanız gerekecektir.
‫Yani tahtadaki tuşları nasıl temizleyeceğimizi zaten biliyoruz.
‫Rakipler, bu sizin mücadeleniz olacak.
‫Umarım meydan okuma çok karmaşık değildir.
‫Seçili anahtarı silmek istiyorsunuz.
‫Bunu daha önce nerede yaptığımızı kontrol edebilirsiniz.
‫Bunu yapmak için herhangi bir eklentiye ihtiyacınız var mı?
‫Belki de karatahtanın, davranış ağacınızda seçilen anahtarı temizlemek istediğimiz anahtar olarak kullanmayı içermesi gerekir.
‫Videoyu durdurun ve bir deneyin.
‫Tamam, tekrar hoş geldin.
‫O zaman bir deneyelim.
‫İlk olarak yazı tahtası bileşenimiz var.
‫Burada hata operatörünü kullanalım.
‫Hiçbir şey çıkmıyor.
‫Bu yüzden ihtiyacım olduğunu varsayıyorum ve gerçekten de bazı kırmızı dalgalı çizgiler var, davranış ağacını yapmak için buraya bir karma
‫eklemeye ihtiyacım var ve sonra burada ve şimdi karatahta bileşeni.
‫Umarım otomatik tamamlama özelliğim çalışıyordur ve bu da temizlememi sağlayacaktır.
‫Hafızalarımızı tazelemeye çalışalım.
‫Bunu daha önce nerede yapmıştık?
‫Nişancı I, Kontrolör CP'ye gidip burada ne olduğuna bakarsak, elimizde net bir değer olduğunu
‫görürüz.
‫Aradığımız kişi bu.
‫Öyleyse bu net değeri deneyelim.
‫Peki ne alıyor?
‫Ya bir F tuşu ya da bir F adı alır, alabileceğimiz harika bir F adı.
‫Ve bunu bu sınıfta bulunan get selected blackboard anahtarıyla elde edebileceğimizi nerede söylemiştik, çünkü bu anahtar
‫ana sınıfta bulunuyor.
‫Bu yüzden Blackboard Key'i seçin ve bu kadar basit.
‫Seçilen Blackboard Anahtarının değerini temizliyoruz.
‫Şimdi, yapmamız gereken son bir şey var.
‫Bu senin mücadelenin bir parçası değildi, o yüzden endişelenme.
‫Eğer bunu bilmiyorsanız, geri dönmemiz gerekiyor çünkü clear blackboard value execute görevimiz için bir
‫geri dönüş değeri var.
‫Ve geri dönüş değeri oldukça ilginç.
‫Bir göz atalım.
‫Bunu bir F 12 ile takip edelim ve execute testimizden ne gibi farklı durumlar döndürebileceğimizi görelim.
‫Şimdi ilki başarılı oldu.
‫Harika.
‫Bu temel olarak davranış ağacına bu düğümün yürütülmesinin bittiğini ve bir sonrakine geçebileceğimizi
‫bildirir.
‫Yine başarısız oldu.
‫Bir sonrakine geçebilmemiz için bu işlem tamamlandı, ancak bu kez başarısız olduğunu söylüyor.
‫Böylece, örneğin sıra düğümleri veya seçilen düğümlerimiz için bu düğümlerin aslında ne yapması gerektiğine
‫dair farklı göstergeler verir.
‫Daha sonra, temelde başarısızlıkla aynı olan aborted'e ulaştık ve devam ediyoruz.
‫Bir yürütme görevinden devam ederken geri dönerseniz, temel olarak ben size aksini söyleyene kadar tick'i çağırmaya
‫devam etmeniz gerektiğini söyleyecektir, ben şimdi bitirdim diyene kadar bunu kullanmayacağız.
‫Ancak uzun süre çalışan bir görev oluşturmanız gerekirse, birden fazla tikle karşılaşacağımızı aklınızda tutmanızda
‫fayda var.
‫O zaman devam etmek için geri dönmemiz gerekecek.
‫Ama dediğim gibi, biz başarılı olmak istiyoruz.
‫O zaman içeri girip bunu yapalım.
‫EB Beat düğüm sonucunu döndür iki nokta üst üste, iki nokta üst üste.
‫Ve başarılı olacak çünkü ne olursa olsun temelde bu değeri temizlemeyi başardık.
‫Böylece devam edip tüm bunları kaydedebilir, editöre gidebilir ve derlemeye basabiliriz.
‫Ve bu tamamlandığında, devam edelim ve yapay zekamızı ve davranış ağacımızı açalım.
‫Peki o vuruş nerede?
‫Ve onu ana pencereye yerleştiriyorum ve bir göz atalım.
‫Artık bilinen son konuma gitmemize, karatahta değerini temizlememize, beş dakika beklememize ve
‫ardından bu son bilinen oyuncu konumunun araştırılmasının kaldırılmış olması gerektiğini görmemize izin verebilecek
‫bir temiz karatahta değerimiz var, bu yüzden başlangıç konumumuza geri dönmeliyiz.
‫Şimdi görev tam olarak uygulandığına göre bu davranışın şimdi çalışıp çalışmadığını görelim.
‫Yani bana geliyor, beni araştırıyor.
‫Gidip saklanacağım.
‫O zaman gidip saklanalım.
‫Araştırmaya geliyor.
‫Gidip tekrar saklanalım.
‫O zaman git ve saklan.
‫Bakalım onu orada görebilecek miyiz?
‫Şu anda bekliyor olmalı ve sonra başlangıç konumuna geri dönecek, bu da ne yazık ki benimle
‫kesişmesine neden oluyor.
‫Şimdi bunun gerçekten beklediğimiz gibi çalışıp çalışmadığını, düşman penceremizi getirip sağ tarafa
‫yerleştirerek ve ana penceremizi sol tarafa koyarak görelim.
‫Biraz sıkışık ama idare edebiliriz ve sonra bu adamdan bir kez daha kaçmayı deneyeceğiz
‫ve davranışlarına ne olacağını göreceğiz.
‫Bilinen son oyuncu konumuna gittiğini görebilirsiniz.
‫Ve şimdi değeri temizlemiş olarak bekliyor.
‫Ve sonra şuraya geçeceğini görebilirsiniz ve dekoratörlerdeki bu kırmızı çubukların bize bu iki koşulun
‫da doğru olmadığını söylediğini görebilirsiniz.
‫Yani ikisini de yapamaz.
‫Sonunda, başlangıç konumuna taşındı.
‫Yani şimdi titriyor çünkü temelde hiçbir şey yapamıyor.
‫Yani temel olarak bu derste kod çalıştırmak için görevleri nasıl alabileceğimizi gördük, görev çalıştırmadan dönebileceğiniz
‫farklı durumları, görevden yazı tahtasını nasıl alacağımızı ve ayrıca bir yazı
‫tahtası görevinde o anda seçili olan tuşu nasıl alacağımızı anladık.
‫Bir sonraki derste, tahta davranış ağacının dışındaki dünyayı nasıl ele geçirebileceğimizi, bir davranış ağacı
‫görevinin içinden piyonu nasıl ele geçirebileceğimizi göreceğiz.
‫Orada görüşürüz.