‫Merhaba ve hoş geldiniz.
‫Bu derste, takipçilerle göz göze gelmeyi ve dünyada gezinmeyi, engellerden kaçınmayı ve genel olarak
‫biraz can sıkıcı bir baş belası olmayı öğreneceğiz.
‫Şimdi bunun nasıl mümkün olduğunu görelim.
‫Burada çözmemiz gereken bulmacanın bir sonraki en bariz parçası, gözümüzün bize doğru hareket
‫etmesini sağlamaktır.
‫Orada öylece durmaları iyi değil.
‫Ayrıca hareket etmeleri ve sonra da ateş etmeleri gerekecek.
‫Öncelikle, nasıl hareket edebileceğimizi bulalım.
‫Şimdi, gözle hareket ederken engelleri bilmesi gerekir, yol bulma denen bir şey yapması gerekir çünkü diyelim
‫ki ben bu koridorda saklanıyorum ve o bana ulaşmak istiyor.
‫Duvardan öylece geçemeyeceğini bilmesi gerekiyor.
‫Engellerin etrafından dolaşıp bana doğru gelmek için rotasını planlaması gerekecek.
‫Şimdi, bunun genel olarak oyunlarda ve özellikle Unreal'da tipik olarak çalışma şekli, bize bir seviye içinde nerede
‫yürünebilir olduğunu söyleyen bir ağ oluşturmamız ve ardından çeşitli algoritmalar kullanmamızdır, bunlardan birine
‫yıldız yolu bulma denir.
‫Bu ağ üzerinde gezinebilir ve bir rota planı oluşturabilirsiniz ve yapay zeka daha sonra ilerlemek için bu rota planını kullanır.
‫Sürecin ana hatları bu şekilde.
‫Neyse ki bunların çoğu bizim için yapılıyor.
‫Bunu sıfırdan kodlamamız gerekmiyor.
‫Yapmamız gereken şey, her şeyden önce, nav ağını görebilmektir.
‫Ve şu anda yeterince ağ göremiyoruz çünkü bir tane bile yok.
‫Yapmamız gereken şey, yerleştirilmiş aktörler penceremize bakmak ya da pencereye gidip yerleştirilmiş
‫yer aktörlerini aramak.
‫Bir nav mesh aramamız gerekiyor ve nav mesh sınır hacmini arıyoruz.
‫Şimdi bu bir hacim, bir tür kutu yaratır ve bu kutunun içindeki her şey, temel olarak, düz olup olmadığı veya çok dik olup olmadığı
‫konusunda ne kadar gezilebilir olduğu konusunda kontrol edilecektir.
‫Temel olarak bir duvarın olduğu yerde, duvarlardan geçemezsiniz, duvarların üzerinden yürüyemezsiniz çünkü
‫çok diktirler.
‫Dolayısıyla, bir navigasyon ağı sınır hacmini sürükleyip buraya getirirsek ve
‫zeminin bu navigasyon hesaplamasının bir parçası olmasını sağlamak için zeminden hafifçe geçirirsek, o zaman yapmamız
‫gereken şey NAV ağlarının görünürlüğünü etkinleştirmektir.
‫Bunu, görüntü alanınızın sol üst köşesindeki göster düğmesine ve ardından gezinmeye tıklayarak
‫veya kısayolu kullanarak yapabilirsiniz.
‫P Bu yüzden kısayolu kullanacağım.
‫P Ve iyi seçerseniz, sınır ses seviyesini seçmeniz bile gerekmez.
‫Bu yeşil ağın sınırlar hacmi içinde belirdiğini anında görebilirsiniz, bu da bize buranın yürünebilir
‫bir alan olduğunu söylüyor.
‫Yani düşmanımız bu alan içindeyse ve hedefi de bu alan içindeyse, o zaman bu ağ boyunca
‫bir yol bulabilir.
‫Şimdi bunu bir engelin olduğu yere taşırsak ne olacağına bir göz atalım.
‫Ağın bu engelin etrafını kestiğini görebilirsiniz.
‫Aslında yapmak istediğimiz şey, bu hacmin seviyemizin tamamını kapsamasını sağlamaktır ve bunu yapmamayı veya sadece
‫belirli segmentlerde yapmayı seçebilirsiniz, ancak en kolay yol, yapabileceğiniz bu hacmin sınırlarını
‫artırmaktır.
‫Sağ taraftaki ayrıntılar bölmesine giderseniz, fırça ayarları vardır ve fırçanın
‫boyutunu değiştirebilirsiniz, böylece daha büyük yapabiliriz, daha geniş yapabiliriz ve yeniden hesaplandığında
‫kırmızı olur.
‫Gezinme ağı oluşturduğunu görebilirsiniz ve ne kadar büyük olursa, gezinme ağı oluşturmak
‫o kadar zorlaşacak ve daha uzun sürecektir.
‫Ama bunun işe yaradığını görebilirsiniz.
‫Koridorları kesiyor.
‫Etrafından dolaşamadığımız engelleri ortadan kaldırıyor.
‫Bu bulmacanın ikinci kısmı ise gözümüzün köklendirme algoritmalarını bu ağ üzerinde yapabilmesidir.
‫Şimdi, devam edelim ve BP atıcı göz kontrolünü açalım, çünkü size burada olan bir şeyi göstermek
‫istiyorum.
‫Burada tam plan düzenleyicisini açacağım ve buraya bir göz atacağım.
‫Yol takip bileşeni adı verilen bir bileşen vardır.
‫Bu bileşen bir F ağı bulmaktan sorumludur ve daha sonra temel olarak yollar oluşturmamıza ve bunları takip etmemize ve bunlar boyunca
‫otomatik olarak hareket etmemize izin verir.
‫Yani bu işlevselliklerden herhangi birini oluşturmamız gerekmiyor.
‫Tek yapmamız gereken AI kontrolörümüzde bulunan bir işlevi kullanmak.
‫Gidip AI kontrolörü H'yi ararsanız ve hareketin çalışmasını ararsanız, o zaman açık bir parantezle
‫hareket edelim.
‫O zaman burada birkaç seçenek var.
‫Bir hamle talebimiz var.
‫Burada başka seçenekler de var, ancak bunlar aslında farklı bir isimle anılıyor.
‫Şimdi, Unreal'ın sonraki sürümlerinde, ayar odağımızla aynı ayrıma sahip olan aktöre
‫taşı ve konuma taşı seçeneklerimiz var.
‫Odağı bir aktör gibi hareket eden bir şeye ayarlayabilir veya odağı, örneğin
‫devriye rotanızdaki bir ara nokta gibi belirli bir hedefe ayarlayabilirsiniz.
‫Bu yüzden sizden meydan okuma olarak bir hamle denemenizi istiyorum.
‫Bu yüzden sahnenizde bir gezinme ağı oluşturun ve hareket edebilmeniz için sahnenin istediğiniz kadarını kaplamasını
‫sağlayın.
‫Sizi tüm konumlarda takip ediyorum ve ardından harekete geçmek ya da bir konuma taşınmak için bu hareketi çağırıyorum.
‫Yapay zekayı peşimize takmak için hangi handa oynamaya başlayacağınıza siz karar verin.
‫Videoyu durdurun ve bir deneyin.
‫Tamam.
‫Tekrar hoş geldiniz.
‫Şansımızı deneyelim.
‫Her şey sırayla.
‫Aktöre bir hareket kullanacağım ve hedef aktörü belirlememiz gerekecek.
‫Şimdi atıcı I denetleyicimiz CP'ye gidelim ve orada oynatmaya başlayalım, aktöre taşı yapabiliriz ve halihazırda
‫bir oyuncumuz var -- son dersten aldığımız ve sadece bir göz atalım.
‫Burada başka yararlı özellikler var mı?
‫Bir kabul yarıçapımız var.
‫Şu anda kabul yarıçapı yoktur.
‫Temel olarak olabildiğince yaklaşıyor.
‫Sanırım bu biraz tecavüzkar olabilir.
‫Ona iki metrelik bir kabul yarıçapı vereceğim, yani bize iki metre yaklaşmaya çalışacak.
‫Öyleyse devam edelim ve bunu inşa edelim.
‫Ve bu tamamlandıktan sonra, motora geçin.
‫Ve bir bakalım.
‫Burada sıçrama hacmini genişletmeyeceğim, sadece ilk etapta neden sıçrama hacmine ihtiyacımız olduğuna dair bir tat
‫vermek için.
‫O halde bir alt p ile başlayalım.
‫Ve işte buradayız.
‫Navigasyon ağındayız ve bu adam otomatik olarak bize doğru hareket etti.
‫Ama o navigasyon ağını terk edersem, artık bana yaklaşamaz çünkü rotayı bulamaz.
‫Bana ulaşmanın bir yolunu bulamıyor.
‫Yani yapacağımız şey, aslında burada olan şeyin bu olduğundan emin değilim, çünkü
‫muhtemelen olan şey, benim kabul yarıçapıma giriyor ve tekrar denemiyorlar.
‫Bunu kontrol etmenin bir yolu, bu kabul yarıçapını kaldırıp yeniden derlemek ve sonra gidip neler olup
‫bittiğini görmek olabilir.
‫Yani evet, uzaklaşırsam hemen yanıma geliyor.
‫Aslında bu emri unutmuş.
‫Yapmak istediğimiz şey bunu tik olarak yapmak, çünkü temelde bana ulaştığında, beni kovalama fikrinden
‫vazgeçiyor.
‫Şimdi bunu Tik'e taşıyalım.
‫Bunu yapmanın ideal yolu bu değil, ama yapacağımız şey bu.
‫Şimdilik, aktör H'den Tic'in imzasını kopyalayacağım ve bunun genel bölüme gideceğini biliyorum, bu yüzden
‫en üstte bir genel bölüm oluşturacağım.
‫İmzayı kopyalayın, bir geçersiz kılma yapın, sadece güvenlik ve sonra C++'da uygulayın ve hareket aktörümüzü
‫işaretlemek için taşıyın ve kabul yarıçapı hala iki metredir, şimdi bunu deneyin ve açıkça bir oyuncumuz olmadığından
‫şikayet ediyor - orada.
‫Şimdi gidip tavan arasındaki ilk oyuncuyu yakalayan bu hattı tekrarladığımızdan
‫emin olalım.
‫Ve şimdi bunu düzgün bir şekilde test edebilmeli, dünyaya bir alt domuz yapabilmeliyiz.
‫Geldi ve bizi iki metre yakınımıza getirdi.
‫Ondan uzaklaşıyorum ve şuna bakacağım.
‫Bu sefer bana doğru düzgün nişan almıyor bile, ama takip etmeye çalışıyor.
‫Ama o ağdan ayrılır ayrılmaz, beni nasıl bulacağını artık bilmiyor.
‫Hadi bunu düzeltelim, olur mu?
‫Bir nav ağ sıçrama hacmine gideceğiz.
‫Eğer seçebilirsem.
‫İşte oldu.
‫Ve sonra tüm seviyemizi kapsayacak şekilde buraya gerçekten yakınlaştırmak istiyoruz.
‫Bu seviye dışarıdan biraz kötü görünüyor, ancak genellikle işler böyle yürür, seviyeyi
‫dışarıdan değil içeriden görülecek şekilde inşa edersiniz.
‫Bu yüzden bunu daha da genişletelim.
‫Tüm seviyeyi kapsayacak şekilde çok daha uzun yapalım ve buradaki seviyenin tüm uzantılarını kapsayacak
‫şekilde dışarı sürükleyelim.
‫Sadece biraz daha genişletin, biraz daha uzatın ve tüm bunların tam olarak kapsandığından emin
‫olun.
‫Nav ağını hesapladığı için yeşilin ortaya çıktığını görebilirsiniz.
‫Ve navigasyon ölçüsünün haritamızın şu anda kaplıyor gibi görünen en alt uzantılarını
‫kapsayacak kadar aşağıya indiğinden emin olalım.
‫Eğer devam edersek ve her şeyi ayarladığımıza göre şimdi gizlenebilir ve nav mesh yapabiliriz ve devam etmek ve oynamak için
‫bir alt p yapabiliriz ve bizi bulabilir ve bu seviyede gittiğimiz hemen hemen her yerde bizi takip edebilir.
‫Güvenilir ve sadık hizmetkârımızın nereye gidersek gidelim bizi takip ettiğini görebilirsiniz.
‫Bizi takip edip duruyor, bu da çok can sıkıcı.
‫Ama bunu yapabiliyor.
‫Şey, bazı şeyler.
‫Bu derste NAV ölçümlerimizi nasıl oluşturabileceğimizi ve havamızın bizi seviye boyunca takip etmesini sağlamak için
‫bunları nasıl kullanabileceğimizi gördük.
‫Bir sonraki derste bu hatayı düzeltmek ve görüş hattını kontrol etmek için geri döneceğiz,
‫böylece oyuncuyu her zaman kovalamamız gerekmeyecek.
‫Oraya bak.
‫Ve burada yaptığım aptalca küçük bir hatayı fark ettim, o da süper
‫kolon kolon tikine seslenmemem.
‫İşte bu yüzden bazen bu garip açıklanamayan hataları aldığınızda, eğer super'i çağırmıyorsanız,
‫o zaman işler her zaman beklendiği gibi çalışmaz.
‫Bu yüzden odak çalışmayı durdurmuştu, çünkü esasen yüksek bir denetleyicide tiki devre dışı bırakmıştık, ki bu
‫iyi bir şey değil.
‫Bunu etkinleştirirseniz, odak ayarı ile her şey normal şekilde çalışmalıdır.