‫Merhaba ve hoş geldiniz.
‫Bu derste, A ile çok ilginç şeyler yapmamıza olanak tanıyan iki yeni varlık türü olan davranış ağacı
‫ve yazı tahtasını tanıtıyoruz. I..
‫Çok daha karmaşık hale getirmemize izin verin.
‫Çok kolay bir şekilde dalalım ve bunları nasıl kullandığımızı ve kurduğumuzu görelim.
‫Tamam.
‫Bu yüzden bazı sofistike yapay zeka davranışları yaratmak istiyoruz.
‫Unreal'da bunu genellikle davranış ağaçları adı verilen bir sistem kullanarak yaparız.
‫Şimdi, bunlar nedir?
‫Bunu öğrenmenin en iyi yolu bir tane yaratmaktır.
‫O halde devam edelim ve sağ tıklayıp gidelim.
‫Burada yapay zekanın altına bakıyoruz.
‫Ve burada iki seçenek var davranış, ağaç ve yazı tahtası.
‫Bunların ikisini de isteyeceğiz.
‫Şimdi gidip davranış ağacıyla başlayalım.
‫Bunun ön eki BHT'dir ve biz buna düşman diyeceğiz.
‫Yani davranış ağacı düşmanı.
‫Sadece bununla bitiriyorum.
‫Al bakalım.
‫Ayrıca orada bir yazı tahtası olan diğer şeyi de oluşturmamız gerekiyor.
‫Şimdi, kara tahta da nedir?
‫Bu konuya birazdan geleceğiz.
‫Ama biz buna sadece b b alt çizgi düşmanı diyeceğiz.
‫Daha önce de söyledim, karatahta davranış ağacını yener.
‫Hazır başlamışken, burada benimle ilgili birkaç şey var.
‫A adında yeni bir klasör oluşturacağım. I. ve yazı tahtasını, davranış ağacını hareket ettireceğiz.
‫Ve buralarda bir yerde atıcımız, yapay zeka kontrolörümüz var.
‫Tüm bunlar buraya taşınır ve ardından yapay zeka ile ilgili her şeyle ilgilenmek için yapay zeka klasörümüze gidebiliriz.
‫Öncelikle davranış ağacımızı açalım ve ana pencereye yerleştirelim.
‫Bu da ne böyle?
‫Dolayısıyla bu, davranış ağaçları oluşturmamıza olanak tanır; burada davranışın bir kısmının izleme için olduğunu
‫söyleyebilirsiniz.
‫Bir kısmı trollemek için.
‫Bir kısmı başka bir şey için, kapıları açmak için, bu tür şeyler için.
‫Tipik olarak davranışları çok sayıda davranış ağacı ve alt ağaçlar vb. olarak yapılandırırlar.
‫Tüm bunların ayrıntılı olarak devam ettiğini göreceğiz, ancak oyunlarınızda doğal davranışları bir araya getirmenin harika bir yolu
‫olduğunu söylemek yeterli.
‫Şimdi bu her şey ve her şeyin sonu değil.
‫Çok sayıda yapay zeka tekniği var.
‫Oyununuz için tercih etmek istediğiniz oyun bu olmayabilir, ancak harika bir başlangıçtır ve
‫bununla oldukça fazla şey başarabilirsiniz.
‫Şimdi üstte görebileceğimiz bir sonraki şey, sağda, bu iki varlık birbirine bağlı.
‫Davranış ağacı ve kara tahta.
‫Kara tahta da neyin nesi?
‫Kara tahta, A harfinin hafızası gibidir. I. Esasen bir grup değişkeni depoladığınız
‫yerdir.
‫Bunları oyundan giriyorsunuz, tıpkı animasyon sisteminde yaptığımız
‫gibi, oyun tarafından belirlenen bu farklı özelliklere sahipsiniz.
‫Aynı şeyi yapay zeka için de yapıyoruz.
‫Oyun dünyası hakkında bilgi veren birçok özellik belirliyoruz ve ardından davranış ağacı bu özelliklerden
‫yararlanarak ne yapacağına karar veriyor.
‫Bu özellikleri ayarlayabilir, bunları bir bellek olarak kullanabilir, bu özelliklerden okuyabilir ve tüm bu güzel
‫şeyleri yapabilir.
‫Bunu göz önünde bulundurarak, davranış ağacımızı blackboard'da birbirleriyle bağlantılı olacak şekilde nasıl kurabiliriz?
‫Pekala, ayrıntılar bölmemizi genişleteceğiz.
‫Burada bu yazı tahtası varlığının olduğunu görebilirsiniz ve yazı tahtası varlığı bu b b b düşmanı
‫I yazı tahtası varlığına bağlanacak şekilde otomatik olarak bizim için doldurulmuş gibi görünüyor.
‫Şimdi bu varlıkları kullanmak için C++'dan biraz ayrılacağız çünkü davranış ağaçları
‫ve yazı tahtaları tamamen editör içinde.
‫Bunlar plan falan değil.
‫Bunlar kendi editör araçlarıdır ve bunlarla C++'da arayüz oluşturabiliriz.
‫Ancak bu, önümüzdeki birkaç derste C++'ın yanı sıra editörü de kullanacağımız anlamına geliyor.
‫Gerçi o kadar da planlı değil.
‫Bu davranış ağacına ve kara tahtaya sahip olmamız harika, ama bunları gerçekte
‫nasıl kullanacağız?
‫Bunun için yapay zeka kontrolörümüze geri dönüyoruz.
‫Hatırlarsanız, I kontrolörü davranışlarımızın yürütülmesinden tamamen sorumludur ve bu durum burada da istisna değildir.
‫Davranış ağacı, yapay zeka kontrolörünün kullanabileceği veya çalıştırabileceği başka bir şeydir.
‫Bunu yapmanın yolu, yapay zeka kontrolümüze gideceğiz ve hangi davranış ağacını çalıştırmasını
‫istediğimizi blueprint'te referans göstermenin bir yolunu bulmamız gerekiyor.
‫Bu yüzden yapacağım ilk şey aslında kontrol CP'sine gidip TTIC'deki şeyleri
‫yorumlamak olacak çünkü bu işlevselliği davranış ağacı işlevselliği ile değiştireceğiz.
‫Bu da artık ihtiyacımız olmadığı için buradaki kabul yarıçapını kaldırabileceğim anlamına geliyor.
‫Bunun yerine yeni davranış için bir işaretçi kullanacağız.
‫Ve bunu The American Way Tree ve pointer olarak hecelemek zorundayım, orada istediğimiz davranış ağacı budur.
‫Ve bunu önünde bir sınıf ile beyan etmem gerekiyor.
‫Ve burada temel olarak söylemek istediğim şey, bunun yapay zeka davranışı olduğu ve
‫Tutarlılık açısından burada Amerikan yazımını kullanacağım.
‫İşte bu, şimdi davranışı gerçekten çalıştırmak için burada istediğimiz AI davranışıdır.
‫Daha basit olamazdı.
‫Yine, göz kontrolünün bunun için yerleşik bir işlevi vardır.
‫Koşma davranışımız var.
‫Ağaç işlevi bir boolean'a dönüşür.
‫Başarılı bir şekilde uygulayabilseniz de uygulamasanız da, uygulamaya başlayın.
‫Ve yeni davranış ağacına atanan beat varlığını alır.
‫Bu yüzden kullanmak isteyeceğimiz şey bu olacak ve bunu begin play'de yapabiliriz.
‫Şimdi yapacağımız şey, öncelikle burada gerçekten bir davranış ağacımız olup olmadığını kontrol etmektir.
‫Bu yüzden ben davranıyorum diyeceğiz.
‫null pointer'a eşit değildir çünkü başka türlü kullanmak istemeyiz.
‫Ve sonra yapabileceğimiz şey, AI davranışımız olarak adlandırılan davranış ağacını çalıştırabiliriz.
‫Bir yapay zeka davranışını çalıştırmak gerçekten bu kadar basit ve devam edip derleyebiliriz.
‫Davranış ağaçlarıyla yapabileceğimiz bir şey daha var, onları çalışma zamanında görebiliriz, ancak bunu yapmak
‫için burada bir tür düğüm olması gerekir.
‫Yani ne işe yaradığını tam olarak anlamadan sadece bir düğüm ekleyeceğiz.
‫Bir sıra düğümü ekleyeceğim ve bunu kök düğümden aşağı doğru sürükleyerek bağlayacağım, kök
‫düğümün altında fareyle üzerine geldiğimde vurgulanan kısım sıra düğümünün üstündeki kısma
‫kadar.
‫Ve bunu saklayacağım.
‫Gidip oynat düğmesine basacağım ve davranış ağacı varlığıma gideceğim ve burada bir açılır menü görebilmeniz gerekir,
‫ancak şu anda çalışmadığı için göremiyoruz.
‫O zaman oynamayı bırakalım.
‫Peki neden çalışmıyor?
‫Çünkü atıcı kontrolörümüze bağlamadık.
‫O halde bunu bağlayabilmeniz için şu mini meydan okumayı yapalım.
‫Umarım çok zor olmaz.
‫Tamam, tekrar hoş geldin.
‫Yani buraya gidip bir göz atarsak, yapay zeka davranışımızı arıyoruz.
‫Bazı nedenlerden dolayı, benim için görünmesi için yeniden derlenmesi gerekiyordu.
‫Ama işte burada.
‫Yapay zeka davranışı bizim istediğimiz şeydir.
‫Açılır menüye tıklıyoruz.
‫Şu anda tek bir seçenek var çünkü sadece bir davranış ağacımız var.
‫Şimdi bunu seçelim ve derleyip kaydedelim.
‫Ve eğer şimdi devam edip oyunu oynarsak.
‫Ve gidip düşmanımıza bir göz atın.
‫Şu anda çalışmakta olan düğümü vurguladığını görebilirsiniz ve duraklatma durdurma düğmelerinin
‫yanında, şu anda hangi I denetleyicisinin davranış ağacını gözlemlediğinizi söyleyen küçük bir açılır pencere var.
‫Dolayısıyla bu, devreye girip "Tamam, neden?" diyebilmeniz için harika bir işlevdir.
‫Öylece duruyorum.
‫Neden oyuncuyu kovalamıyor?
‫Şu anda davranışın hangi kısmını yürüttüğünü görebilir ve "Ah, şu şey yanlış gitti" diyebilirsiniz.
‫Hata ayıklama için gerçekten yardımcı oluyor.
‫Bu açılır menüyü kullanarak dünyadaki tüm yapay zekalarınızın neler yaptığına göz atabilirsiniz.
‫Harika bir şey.
‫Bu ders için hepsi bu kadar.
‫Bir sonraki derste, C++ ile yapay zekamızın karatahta belleğine nasıl bilgi yerleştirebileceğimize
‫bakacağız.
‫Orada görüşürüz.