‫Merhaba ve hoş geldiniz.
‫Bu derste bu hataları Raytracing ile düzelteceğiz, böylece karakteri öldürebileceğiz.
‫Kendilerini öldürmüyorlar ve kapsüllerini devre dışı bırakarak bulundukları noktanın üzerinden geçebiliriz.
‫Collider Gelin, bunu nasıl başaracağımızı görelim.
‫Yani şu anda bazı garip hatalarımız var.
‫Düşman yapay zekasının esasen kendi suratına ateş ediyor gibi göründüğü bir tane var, yakında bu şekilde
‫yerde ölü olarak yayılacağı gerçeğinden de görebileceğiniz gibi.
‫Ama sadece bu da değil, ölü gibi ateş etmeye devam ediyor.
‫Bu yüzden bu sorunların bazılarını aşamalı olarak çözeceğiz.
‫Bakalım neler oluyor.
‫Her şeyden önce, yüzüne ateş edildiğinde neler olup bittiğini görmek oldukça kolay olabilir.
‫Silah CP'mize gidip bunun nasıl çalıştığına bir göz atarsak, şu anda isabet sonucunu bulmak için bu
‫Trace single by channel satırını yapıyoruz ve bunu oyuncu görüntü alanı olan konumdan başlayarak
‫yapıyoruz, bakış açısı, pardon.
‫Yapay zeka ile bunu zaten tartışmıştık, göz hizası civarında bir yerde olacak.
‫Oradan takip edilecek.
‫Ve burada küçük bir sorun olabileceğini görebilirsiniz.
‫Gözlerinden iz sürmeye başlarsanız, bu kapsüle ulaşırsınız.
‫Aslında bu sorunu biz de yaşıyoruz.
‫Aradaki tek fark, kamera görüntüsü üzerinden, omuz üzerinden görüşe sahip
‫olduğumuz için, kapsülü atlattığımız ve ona çarpmadığımız için esasen sorunu yaşamamamızdır.
‫Ancak kameramız farklı bir yerde olsaydı kendi kapsülümüzü de aynı kolaylıkla vurabilirdik.
‫Peki bunu nasıl durduracağız?
‫Geri dönüp bunu tanımlarsak, bir yapı oluşturacağız, F çarpışma sorgu parametreleri, params
‫diyeceğim ve sonra satırımızın bir parçası olarak göz ardı edilmesi gereken bazı aktörler ekleyebiliriz.
‫Trace Bunu params dot add ignore ignored actor yaparak yaparız ve sonra yok saymamız gereken aktörler nelerdir?
‫İlki basitçe silah.
‫Yani bu ve ikincisi sahibi --.
‫Yani params yok sayılan aktör sahibini alır.
‫Yani temelde silah sahibi kendi silahı tarafından vurulmamalıdır.
‫Yani, tabii ki kendi piyonlarınızı silahla vurabilmek isteyebilirsiniz ama
‫bu durumda hayır.
‫Dolayısıyla, paramları kanala göre tekli satır izlememize son argüman olarak aktaracağız ve ardından kaydedip oluşturacağız
‫ve bunun işe yarayıp yaramadığını göreceğiz.
‫Şimdi ideal olarak gidip oynat düğmesine basarsak, evet, kapsülümüzde, oyuncumuzda
‫parçacık etkisi görmeliyiz ve sonunda sağlığımız sıfıra inmeli ve yere yayılmalıyız.
‫İşte oldu.
‫Bir yerlerde yere yayılmış.
‫Görünüşe göre başarısız olduk.
‫Gerçek oyuncumuzun nereye gittiğini bilmiyorum, ama hala yerde yumurtluyoruz.
‫Ama burada başka bir hata var.
‫Hâlâ bize ateş ettiğini ve bir kapsülü vurmaya devam ettiğini görebilirsiniz.
‫Ve aslında aynı şey oluyor.
‫Eğer bu adamı öldürecek olsaydım, hadi onu öldürelim.
‫Al bakalım.
‫Oraya varmak.
‫Ekranda işaret edecek bir şey olmadan çok daha zor.
‫Ama onu yakalayabilirsin.
‫Ama hala bana ateş ediyor.
‫Ayrıca kapsülünün hala aktif olduğunu da görmüş olurduk.
‫Yani karakterlerimiz öldürüldüğünde yapmak istediğimiz birkaç şey var, hem yapay zeka hem de oyuncu.
‫Şimdi atıcı karakter CP'sine gidelim ve hasar alma fonksiyonumuzu bulalım.
‫Ve temel olarak buraya bir if ifadesi eklemek istiyoruz.
‫Öldüğünü söylemek istiyoruz.
‫Yani temel olarak son kez hasar aldık.
‫Biz artık öldük.
‫Bir şeyler yapmamız lazım.
‫Biraz temizlik yapmamız lazım.
‫Yapmamız gereken ilk şey, denetleyiciyi bu karakterden ayırmaktır.
‫Kontrolör artık bu karakterden sorumlu değildir.
‫Karakter öldü.
‫Şut atmamızı engelleyecek hiçbir şey yapamazsınız.
‫Böylece yapay zeka artık öldüğünde ateş etmeyecek.
‫Bu biraz mantıklı.
‫Ve dahası, artık dünyada hareket etmeye çalışamayacağız.
‫Tüm bunlar, denetleyici bekleyen yok etme işleminden ayrılarak devre dışı bırakılıyor.
‫Yapacağımız şey bu.
‫Bir sonraki adımda kapsül çarpışmasını kapatmak istiyoruz.
‫Bu yüzden get kapsül bileşenini kullanacağız ve ardından en üstte bir hash include yapmamız gerekecek.
‫Kapsül bileşeni için.
‫Peki bileşenleri ve kapsül bileşenini oraya nasıl dahil edebilirim?
‫Ardından hasar almak için aşağı kaydırın.
‫Bir ok operatörü kullanacağım ve bir çarpışma etkinleştirme seti yapacağız.
‫Bu yüzden etkin değil olarak ayarlamak istiyoruz.
‫Bu yüzden, garip bir şekilde, çarpışma etkinleştirilmiş bir set yapıyoruz.
‫Yani E çarpışma etkin, iki nokta üst üste, iki nokta üst üste, çarpışma yok olacak.
‫Bu yüzden kapsül çarpıştırıcımızı çarpışma yok olarak ayarlıyoruz, bu da bize yardımcı olacaktır.
‫Tamam.
‫Bu yüzden devam edip inşa edeceğiz ve bunun yardımcı olup olmadığını göreceğiz.
‫En azından derleme başarılı oldu.
‫Hadi gidip oynat tuşuna basalım.
‫Ve o da bana ateş ediyor.
‫Ölene kadar onu vurabilirim.
‫İşte oldu.
‫O öldü.
‫Kapsülünün üzerinden geçebiliyorum ve artık onunla çarpışmıyorum.
‫Ayrıca artık silahını ateşlemediğini de görebilirsiniz ki bu harika bir şey.
‫Bir de gidip bizi öldürüp öldürmeyeceğini görelim.
‫Davranış nedir?
‫Yani on atış için beklemek zorundayız.
‫Gördüğünüz gibi ben de onun gibi yere yığılıp kaldım ve o bana ateş etmeye devam etti.
‫Sorun değil.
‫Artık boş bir çarpıştırıcıya çarpmıyor ve ben de artık kameramı kontrol edemiyorum çünkü öldüm.
‫Harika.
‫Yani burada birinci şahıs nişancı oyununun temelleri var.
‫Bizi takip eden, bize ateş eden bir düşmanımız var, biz de ona ateş edebiliriz.
‫İkimizin de sağlığı yerinde.
‫İkimiz de ölebiliriz.
‫Sıradaki şey, bazı oyun sonu koşullarını ayarlamaktır, böylece oyuncumuza kaybettiğinizi veya seviyedeki tüm oyuncuları
‫öldürdüyseniz kazandığınızı söyleyen güzel bir mesaj görüntüleyebiliriz.
‫Bu da bir sonraki dersin konusu olacak.
‫Demek oradasın.