‫Merhaba ve hoş geldiniz.
‫Bu derste, oyuncumuza düşmandan bir görüş hattı alacağız, böylece oyuncu olarak
‫engellerin arkasına saklanabileceğiz ve düşman takipçilerinin buna sahip olmamasını sağlayabileceğiz.
‫Tekrar ortaya çıkıp onlar için görünür olana kadar bize nişan almaya devam edin.
‫Gördüğünüz gibi bir köşeye saklandım ve o beni bulamıyor.
‫Şimdi gerçek dışı araçlar kullanarak bunun nasıl yapılabileceğini görelim.
‫Yani bu düşman A'nın I. şu anda bizi köşelerde takip edebiliyor.
‫Ne kadar uzağa gidersek gidelim, sütunların arkasına ne kadar saklanırsak saklanalım, yine de bizi bulacaktır.
‫Yine de gelecek ve bize nişan almaya devam edecek.
‫Bunu düzeltmek istiyoruz ve bunu düşmandan oyuncuya olan görüş hattını kontrol ederek
‫yapacağız.
‫Şimdi, Unreal'daki birçok şeyde olduğu gibi, göz denetleyicisinde bunun için görüş hattı adı verilen
‫bir işlev zaten var.
‫Ve eğer gidip bunu ararsanız, boolean döndüren bir fonksiyon olduğunu görebilirsiniz.
‫Yani bize görüş hattımız olup olmadığını söylüyor ve sonra görüş hattını kontrol
‫etmeye çalışmamız gereken aktörü alıyor ve söz konusu piyonun göz konumu gibi şeyleri otomatik
‫olarak hesaba katıyor.
‫Tüm bu şeyler zaten Unreal'a kodlanmış durumda, bu yüzden oldukça basit olmalı.
‫AI kontrolörümüz DHCP'ye gidersek, temelde yapmak istediğimiz şey TIC'deki şeyleri değiştirmektir,
‫böylece her şeyden önce bir if görüş hattı yaparız.
‫Sonra görüş hattımız varsa yapmak istediğimiz şey şuraya gitmek ve odağı ayarlamaktır.
‫Ancak, eğer böyle yapmazsak, yapmak istediğimiz şey net bir şekilde odaklanmaktır.
‫Hatırlayın, bu işlevi daha önce görmüştük ve temel olarak durdurma hareketini görmek istiyoruz.
‫Bu da henüz görmediğimiz başka bir işlev.
‫Burada yapacağım şey, eğer kendinize güveniyorsanız tüm bunları kendi başınıza uygulamanız için size meydan okuyabilirim.
‫Aksi takdirde, bu daha önce görmediğimiz daha karmaşık bir kısım çünkü diğer ikisi, zaten oyuncuya geçiş
‫yaptık, set odağımızı zaten yaptık, bunu daha önce yaptık.
‫Ve sadece az önce gördüğümüz görüş hattı var.
‫Oldukça basit.
‫Bunu uygulayabilirsiniz.
‫Peki ya buna ne dersiniz?
‫Sadece ELT maddesini uygulamaya çalışalım.
‫Derlenmeyecektir çünkü açıkça bir else'den önce bir if'e ihtiyacınız vardır, ancak gidip sadece ELT cümlesini
‫yazalım.
‫Odaklanmayı temizleyen ilk şey, temelde oyuncuyu izlemeye çalışmayı bırakmanızı söylüyoruz çünkü oyuncuyu
‫göremiyorsunuz.
‫Oyuncunun nerede olduğunu bildiğiniz izlenimini vermemelisiniz, göz açıkça bilse bile,
‫çünkü oyuncunun konumuna erişebilir ve bu böyle devam eder.
‫Ancak yapay zekanın yalnızca görebildiği kadarını bildiği yanılsamasını vermemiz gerekiyor.
‫Şimdi yapacağımız şey, net odaklanma çağrısında bulunmak.
‫AI denetleyicisi H'ye gidip net odağa bakarsak, temizlememiz gereken önceliği
‫aldığını görebilirsiniz.
‫Şimdi, bu önceliklerin temelde farklı odak seviyeleri olduğunu hatırlatmak isterim.
‫Dolayısıyla, tipik olarak varsayılan hareket ve oyun oynanışı en öncelikli şeydir.
‫Ve varsayılan olarak ayarladığımız şey oyun önceliğidir.
‫Yapmak istediğimiz şey oyun önceliğini temizlemektir, yani harekete göre
‫odaklandıysak, örneğin gözümüz daha sonra koruma noktasına geri dönmek isterse, bu odak temizlenmeyecek
‫ve koruma noktasına geri dönmeyecektir.
‫Odaklanma bu şekilde gerçekleşir.
‫Orada öncelik sistemi bu şekilde işliyor.
‫Yapmak istediğimiz şey, bu odak önceliği kodunu iki nokta üst üste oyununa kopyalamaktır ve bu, buradaki satırda temizlemek
‫istediğimiz önceliktir.
‫Diğer bir şey de hareketi durdurmaktır.
‫Bu yüzden tekrar AI kontrollü RH'ye gitmek ve durdurma hareketine bir göz atmak istiyoruz.
‫Ve elbette, tam da bunu yapmamızı sağlayan stop movement adında basit bir argümansız
‫fonksiyon var.
‫İşte böyle.
‫Yazılan ifade temel olarak budur.
‫Şimdi sadece if kısmını if görüş hattı ve move to ve set focus ile uygulamanın sizin için bir zorluk olmaya devam
‫ettiğini hatırlatmak isterim.
‫Ve temel olarak buradaki kodu kaldırmak istiyorsunuz.
‫Ben sadece yorum yapacağım ve bunun nerede olmasını istediğinizi belirleyeceğim.
‫O zaman videoyu durdur.
‫Meydan okuma yok, buraya kaydır.
‫Sadece gidin ve bu üç satırı kendiniz için uygulayın.
‫Tamam.
‫Tekrar hoş geldiniz.
‫O zaman bununla başlayalım.
‫Eğer öyleyse, parantezleri görüş hattına açarsak ve sonra erişmek istediğimiz oyuncu piyonu olan aktöre görüş
‫hattı yapmak istiyoruz.
‫O halde buradaki oyuncu piyonunu kaldıralım ve girintimizi biraz bozalım.
‫Hadi bunu düzeltelim.
‫Ve sonra parantezlerimizi, küme parantezlerimizi burada istiyoruz ve aktöre bir taşıma yapmak istiyoruz.
‫Aslında, aktöre yaptığımız hamleyi buraya kopyalayıp yorumsuz bırakabiliriz.
‫Ve bunu kaldırmak istiyoruz.
‫Evet, işte oldu.
‫Odak noktasını da değiştirebiliriz.
‫Şimdi, odak, bunu aktöre taşımadan önce veya sonra yapmanız fark etmez, çünkü aktöre taşımak
‫bir odak belirlerken, daha düşük bir öncelik belirler, oyun odağından ziyade hareket odağı.
‫Dolayısıyla, bu iki işlemi hangi sırayla yaptığımız önemli değildir.
‫Ve son olarak, oyuna başlarken oyuncu piyonunu aldığımız bu yorumlanmış satırı kaldırabiliriz çünkü
‫artık buna ihtiyacımız yok ve artık her şey tik içinde, böylece oyuna başlamayı kaldırabiliriz.
‫Daha sonra ihtiyacımız olursa diye, tekrar ekleme zahmetinden kurtarmak için etrafta bırakacağım.
‫Unreal'a gidip derleyelim ve bu bittiğinde oynayalım.
‫Bakalım bu aktörden saklanabilecek miyiz?
‫Köşelerde oldukça hızlı hareket etmeye çalışacağım.
‫Bu biraz zor çünkü onlar da en az sizin kadar hızlı hareket edebiliyor ama böyle bir köşeyi döndüğünüzde,
‫"Beni gözden kaybetti" diyorlar.
‫Beni kovalamayı bıraktı.
‫Hareket ederken köşeden bakıp bunu görebiliyorum.
‫Hedefini değiştirmiyor çünkü biz odağı temizledik.
‫Diğer taraftan köşeden bakabilirsin.
‫Bakalım.
‫Burayı seç.
‫Al bakalım.
‫Hâlâ benim bulunduğum son yere nişan aldığını görebilirsiniz.
‫Ama eğer görüş alanına girersem, o zaman nişan almaya devam ediyor ve kabul yarıçapı içinde hareket ediyor.
‫Bundan bahsetmişken, kabul yarıçapının tasarımcı tarafından yapılandırılabilir olmasını istiyorum.
‫O zaman bunu yeni bir mülke taşıyalım.
‫Burada yeni bir özellik ile özel bir bölüm oluşturacağım.
‫Bu da her yerde bir düzenleme olacak.
‫Ve bunun kabul yarıçapı adında bir float olmasını ve varsayılan değer olan 200'ü vermesini istiyoruz.
‫Ve sonra bu kabul yarıçapını devam edebilir ve aktöre geçişimizde kullanabiliriz.
‫Ve bunu derlerseniz, size tam olarak aynı davranışı verecektir, ancak
‫şimdi bunu AI denetleyici planında değiştirebilirsiniz.
‫Bu ders için bu kadar.
‫Gözün bir şeyi görüp göremediğini kontrol etmemizi sağlayan görüş hattı işlevini
‫keşfettik.
‫Ve bu temel gizleme işlevini uyguladık, böylece yapay zeka bizi göremediğinde bizi takip etmiyor.
‫Sonraki ders.
‫Bu özel programlanmış yapay zekadan bir adım öteye geçeceğiz ve davranış ağaçlarını kullanacağız.
‫Yapay zekalarımızı çok daha havalı hale getirmek için gerçek dışı gerçekten güçlü bir araç.