‫Merhaba ve hoş geldiniz.
‫Bu derste, ilk geometri izimizi kuracağız, böylece gidip çirkin yaratığımıza baktığımızda
‫ve menzil içinde yeterince yaklaştığımızda, iz tarafından vurulan aktörün adını yazdıracak
‫kadar emin olacağız.
‫Şimdi bunu nasıl yapabileceğimizi görelim ve sonunda bu taramayı tek tek kanal bazında yapmaya hazır hale gelelim.
‫İşe yaraması için pek çok parçayı bir araya getirmemiz gerekiyordu.
‫Ama sonunda buradayız.
‫Şimdi bu fonksiyonun sözdizimine bir göz atalım.
‫Dolayısıyla, bu tipler söz konusu olduğunda burada neler olup bittiğini anlamak için çok daha iyi bir yerdeyiz.
‫Yani dönüş değeri bir boolean'dır ve temel olarak bize tarama ile herhangi bir şey bulup bulmadığımızı
‫söyler.
‫Şimdi ikinci argüman, burada görebileceğiniz gibi, bir referanstır.
‫Bu ampersand var.
‫Değişken adından sonra bir boşluk ya da değişken adı arasında bir boşluk olması fark etmez,
‫türden sonra bu türün bir referans olduğunu ve F hit sonucu olarak adlandırılan bir tür olduğunu belirten
‫bir boşluk olduğu sürece hepsi aynıdır, bunun bir struct olduğunu görebilirsiniz.
‫Yani bu F vuruşu sonucu dışarı vuruşudur.
‫Taramadan çıkan sonuç budur.
‫Hangi şeylerin vurulduğunu görebiliyoruz ve bu bir yapı çünkü bu taramadan çıkabilecek birden
‫fazla farklı şey, bilgi parçası var.
‫O zaman sabit bir f vektör referansımız var.
‫Yani bu, başlangıç vektörümüzü kopyalamak yerine referans olarak alıyor.
‫Son vektörle aynı, o zaman bir rotasyonumuz var.
‫Yani bu, f döndürücü kullanmaya alternatif bir yapı olan bir f quat kullanarak şeklin döndürülmesidir.
‫Bir küre kullandığımız için burada temel olarak nasıl sıfır rotasyona girebileceğimizi göreceğiz.
‫Gerçekten önemli değil.
‫Sırada İzleme Kanalı var ve İzleme kanalımızın C++'da ne olarak adlandırıldığını nasıl
‫bulacağımızı göreceğiz.
‫Ve sonra çarpışma şeklimiz var, bu da sağlamamız gereken son argüman olacak ve bunu yaparak belirli
‫bir yarıçapta bir küreyi nasıl oluşturabileceğimizi göreceğiz.
‫Ancak başlamadan önce, bu yarıçapın ne olduğunu ve nasıl yapılandırıldığını bilmemiz gerekir.
‫Bu yüzden grab a dot h'ye gideceğiz, referans referansları ve dış parametreler için
‫örnek olarak kullandığımız bu fonksiyonları kaldıracağız.
‫Herhangi bir yerde düzenleyebileceğimiz yeni bir özellik oluşturacağız ve bu özellik
‫yakalama yarıçapı adında bir değişken olacak ve bunu 101 metre olarak ayarlayacağız.
‫Şimdi C++'a geçelim ve print damage ve has damage referanslarını kaldıralım ve bunların
‫herhangi birini tick bileşeninden de kaldırabiliriz.
‫Tüm if deyimi ve hasarı geçirdiğimiz yer çünkü burada hata ayıklama hattımızı çiziyoruz
‫ve şimdi kanala göre tekli süpürme işlemimize bir çağrı yapmak istiyoruz.
‫Bu yüzden süpürme yazacağız.
‫Bu yüzden get world parantezini yazacağız çünkü bunun yeni dünya nesnesi üzerinde bir fonksiyon olduğunu biliyoruz.
‫Sonra bir ok yapabiliriz çünkü get world'ün bir işaretçi döndürdüğünü
‫biliyoruz ve sonra bu şekilde kanala göre tek bir tarama yapacağız ve burada ilk argüman olarak doldurması için bir out parametresi
‫girmemiz gerekecek.
‫Bu yüzden boş olacak, doldurulacak ve doğru türe sahip olması gereken bir değişken oluşturacağız.
‫Yani bir if f hit result olacak ve değişkenin kendisini hit result olarak adlandıracağız, sonuna noktalı virgül
‫koyacağız çünkü onu başlatmıyoruz, ona herhangi bir değer vermiyoruz, ancak sweep
‫single by channel fonksiyonu tarafından bir değer verilmesi için onu içeri aktaracağız.
‫İşte bu bizim isabet sonucumuz.
‫Ardından, kopyalanmayacağını ancak referans alınacağını bildiğimiz başlangıç ve bitiş vektörlerini aktarmamız
‫gerekir.
‫Şimdi rotasyonu doldurmamız gerekiyor, bunu da basit bir f quote colon, colon identity ile yapabiliriz,
‫bu da bize temelde bunun bir rotasyon olmadığını söyler.
‫Bu sadece biraz garip bir dil.
‫Bu matematiksel bir ifadedir ve bunun bir rotasyon olmadığı anlamına gelir.
‫Sırada, iz çarpışma kanalına ihtiyacımız var.
‫Şimdi, bu iz çarpışma kanalını nasıl bulacağız?
‫Projemizi içeren klasöre gidip yapılandırmaya girersek ve ardından varsayılan motor
‫INI'sine gidersek, buna tıklayın ve Visual Studio koduyla açın.
‫Ve burada Grabber'ı aramak istiyorum.
‫Böylece yakalayıcı için çarpışma yanıt kanalını görebileceksiniz.
‫Ve temel olarak burada varsayılan motor INI'sinde ayarlanmıştır.
‫Tüm dosyada sadece bir kez geçiyor ve kanal adını görebiliyorsunuz.
‫Bu, C++ dilindeki kanal adıdır.
‫Pek değil.
‫Evet, ama öyle. e. c.
‫Oyun İzleme Kanalı iki, bu yüzden devam edip bunu kopyalayabilir ve ardından bir CP yakalamaya geri dönebilir ve istediğimiz
‫izleme kanalı olarak buraya yapıştırabiliriz.
‫Şimdi, bu satır oldukça uzuyor ve bunu telafi etmek için yapabileceğimiz şey, aslında bu parametrelerin
‫her birini ayrı satırlara koyabilir veya en azından onları yayabiliriz.
‫Yani belki de başlangıç ve bitiş aynıdır.
‫Kimlik kriteri bir satırda, izleme kanalı başka bir satırda bu şekilde yer alır.
‫Bu da bize bu uzun tartışma listelerini okumak için biraz daha fazla alan sağlıyor.
‫Şimdi, belgelere geri dönersek, burada geçirmemiz gereken bir sonraki
‫şeyin bir F çarpışma şekli olduğunu görebiliriz.
‫Bu yüzden bir şekil oluşturmamız gerekiyor.
‫Belki bunu en üstte ayrı bir değişken olarak yaparız.
‫F vuruş sonucunun aslında bir çıkış parametresi olduğunu açıkça belirtmek için bunu F vuruş sonucundan önce
‫yapacağım.
‫Bunu her zaman fonksiyon çağrısından önceki son şey olarak bırakacağım.
‫Bu yüzden küre adını vereceğimiz bir F çarpışma şekli oluşturacağız ve bunu F çarpışma
‫şekli, iki nokta üst üste, iki nokta üst üste, küre yap'a eşit olarak ayarlayacağız.
‫Bu da bize yeni bir küre, çarpışma şekli oluşturacak.
‫Ve bu fonksiyonun argümanı, bir U özelliği olarak yapılandırdığımız grab radius değişkeni olarak sahip olduğumuz
‫küre yarıçapıdır, ancak bu satırın sonuna bir noktalı virgül koyarız ve küreyi süpürme kanalı
‫fonksiyonuna son argümanımız olarak aktarabilir ve bu satırın sonuna bir noktalı virgül koyabiliriz.
‫Şimdi bir şey daha var, bildiğimiz bu fonksiyon bir boolean döndürüyor, bu da herhangi bir şeyi vurup vurmadığımızı gösteriyor.
‫Bu yüzden sonucu has hit adında bir boolean değişkene koyacağım ve bu fonksiyonda daha sonra
‫kullanacağımız şey bu olacak.
‫Bu yüzden size hit aktörün adını yazmanız için meydan okumak istiyorum.
‫Şimdi de bu süpürme olayı var.
‫Bundan bazı sonuçlar alabilmeliyiz.
‫Bu nedenle, herhangi bir şeyimiz olup olmadığını yazdırmak için bir if deyimi kullanın.
‫Eğer bu boolean doğruysa, o zaman aktör adını yazdıracağız.
‫Küre İzi'nin vurulduğu aktörü, vuruş sonucu yapısını kullanarak elde edeceksiniz.
‫Üzerinde nokta işleci ile erişebileceğiniz bir yöntem vardır çünkü bu bir struct'tır.
‫Yapıya bir işaretçi değildir.
‫Bir nokta, get actor yapabilir ve parantezleri kullanabilirsiniz ve bu size bir aktör işaretçisi döndürür.
‫Daha sonra bu aktif işaretçiyi kullanarak, get actor name veya label yöntemini kullanarak aktörün
‫adını alabilir ve bunun için nokta mı yoksa ok operatörünü mü kullanmak istediğinizi düşünebilir ve ardından bu aktör adını yazdırarak
‫derleyip test edebilir ve sahnede neye ulaşabileceğinizi görebilirsiniz.
‫Videoyu duraklatın ve deneyin.
‫Tamam.
‫Tekrar hoş geldiniz.
‫Bu yüzden if deyimini oluşturmakla başlayacağız.
‫Eğer isabet ettiyse, o zaman bazı parantezler koyacağız ve her şeyden önce, bu aktör noktasını ele geçirmek
‫istiyoruz.
‫Yani bir aktör yıldız hit aktör hit sonuca eşittir.
‫Nokta al.
‫Aktör.
‫Parantezler.
‫Sevdim.
‫Sonra bir u günlüğü yapacağız ve hit actor colon percent sx yazacağız ve hit actor yapabiliriz ve burada bir işaretçi olduğu
‫için, hit actor arrow yapabiliriz, aktör adını veya etiketini alabiliriz, sonra bazı parantezler yapabiliriz.
‫Ve bu bir dize olduğu için, Yui günlüğümüzde düzgün bir şekilde görüntülenebilmesi için tüm shebang'in
‫önüne bir yıldız koymamız gerekiyor.
‫Tamam, şimdi devam etmemiz ve bunu derlememiz gerekiyor.
‫Sahneye girdikten sonra, çıktı günlüğünü açalım ve oynatırken görebilmek için düzene yerleştirelim
‫ve oynat düğmesine basalım.
‫Ve anında o gargoyle heykeline çarptığımızı görebilirsiniz.
‫Eğer arkamı dönüp başka bir şeye bakarsam, hiçbir şeye çarpıp çarpmadığım ya da hiçbir
‫şey gösterip göstermediği çok net değil.
‫Şimdi yapacağım şey, buradaki if ifademize bir else eklemek, biraz daha parantez koymak
‫ve başka bir U günlüğü yapmak olacak.
‫Ve bu sefer metin diyecek ki, aktör vuruşu yok, yeniden derleyelim ve gidip editörde oynayalım.
‫Ve şimdi görebilirsiniz.
‫Ben gidip gargoyle'a bakmaya başlayana kadar her zaman aktör vuruşu yok diyor.
‫Şimdi de gargoyle'un vurulan şey olduğunu söylüyor.
‫Eğer menzilim için oradan çok uzaklaşırsam, tekrar vurulan aktör yok dediğini görebilirsiniz.
‫Harika bir şey.
‫Şimdi küresel bir nesneyle bir geometri taraması yaptık ve gerçekten de yalnızca belirli Trace kanalımızdaki
‫aktörlere tepki verdiğini görebiliyoruz, örneğin Gargoyle şu anda ayarladığımız tek
‫aktör.
‫Yani bulduğu tek şey bu.
‫Bir sonraki derste görüşürüz.