﻿1
00:00:04,460 --> 00:00:05,210
‫Merhaba ve hoş geldiniz.

2
00:00:05,210 --> 00:00:11,570
‫Bu derste bu hataları Raytracing ile düzelteceğiz, böylece karakteri öldürebileceğiz.

3
00:00:11,570 --> 00:00:18,290
‫Kendilerini öldürmüyorlar ve kapsüllerini devre dışı bırakarak bulundukları noktanın üzerinden geçebiliriz.

4
00:00:18,290 --> 00:00:21,050
‫Collider Gelin, bunu nasıl başaracağımızı görelim.

5
00:00:21,740 --> 00:00:24,500
‫Yani şu anda bazı garip hatalarımız var.

6
00:00:24,500 --> 00:00:31,430
‫Düşman yapay zekasının esasen kendi suratına ateş ediyor gibi göründüğü bir tane var, yakında bu şekilde

7
00:00:31,430 --> 00:00:35,930
‫yerde ölü olarak yayılacağı gerçeğinden de görebileceğiniz gibi.

8
00:00:35,930 --> 00:00:40,430
‫Ama sadece bu da değil, ölü gibi ateş etmeye devam ediyor.

9
00:00:40,430 --> 00:00:43,430
‫Bu yüzden bu sorunların bazılarını aşamalı olarak çözeceğiz.

10
00:00:43,430 --> 00:00:45,290
‫Bakalım neler oluyor.

11
00:00:45,290 --> 00:00:50,900
‫Her şeyden önce, yüzüne ateş edildiğinde neler olup bittiğini görmek oldukça kolay olabilir.

12
00:00:50,900 --> 00:00:58,100
‫Silah CP'mize gidip bunun nasıl çalıştığına bir göz atarsak, şu anda isabet sonucunu bulmak için bu

13
00:00:58,100 --> 00:01:04,640
‫Trace single by channel satırını yapıyoruz ve bunu oyuncu görüntü alanı olan konumdan başlayarak

14
00:01:04,640 --> 00:01:08,000
‫yapıyoruz, bakış açısı, pardon.

15
00:01:08,060 --> 00:01:13,370
‫Yapay zeka ile bunu zaten tartışmıştık, göz hizası civarında bir yerde olacak.

16
00:01:13,370 --> 00:01:15,080
‫Oradan takip edilecek.

17
00:01:15,080 --> 00:01:17,660
‫Ve burada küçük bir sorun olabileceğini görebilirsiniz.

18
00:01:17,660 --> 00:01:21,950
‫Gözlerinden iz sürmeye başlarsanız, bu kapsüle ulaşırsınız.

19
00:01:21,950 --> 00:01:24,500
‫Aslında bu sorunu biz de yaşıyoruz.

20
00:01:24,500 --> 00:01:29,990
‫Aradaki tek fark, kamera görüntüsü üzerinden, omuz üzerinden görüşe sahip

21
00:01:30,020 --> 00:01:37,550
‫olduğumuz için, kapsülü atlattığımız ve ona çarpmadığımız için esasen sorunu yaşamamamızdır.

22
00:01:37,550 --> 00:01:42,500
‫Ancak kameramız farklı bir yerde olsaydı kendi kapsülümüzü de aynı kolaylıkla vurabilirdik.

23
00:01:42,920 --> 00:01:44,090
‫Peki bunu nasıl durduracağız?

24
00:01:44,090 --> 00:01:50,030
‫Geri dönüp bunu tanımlarsak, bir yapı oluşturacağız, F çarpışma sorgu parametreleri, params

25
00:01:50,030 --> 00:01:57,140
‫diyeceğim ve sonra satırımızın bir parçası olarak göz ardı edilmesi gereken bazı aktörler ekleyebiliriz.

26
00:01:57,140 --> 00:02:04,610
‫Trace Bunu params dot add ignore ignored actor yaparak yaparız ve sonra yok saymamız gereken aktörler nelerdir?

27
00:02:04,610 --> 00:02:06,590
‫İlki basitçe silah.

28
00:02:06,590 --> 00:02:10,460
‫Yani bu ve ikincisi sahibi --.

29
00:02:10,460 --> 00:02:14,870
‫Yani params yok sayılan aktör sahibini alır.

30
00:02:14,870 --> 00:02:19,430
‫Yani temelde silah sahibi kendi silahı tarafından vurulmamalıdır.

31
00:02:19,430 --> 00:02:25,270
‫Yani, tabii ki kendi piyonlarınızı silahla vurabilmek isteyebilirsiniz ama

32
00:02:25,340 --> 00:02:26,900
‫bu durumda hayır.

33
00:02:26,900 --> 00:02:35,210
‫Dolayısıyla, paramları kanala göre tekli satır izlememize son argüman olarak aktaracağız ve ardından kaydedip oluşturacağız

34
00:02:35,210 --> 00:02:38,240
‫ve bunun işe yarayıp yaramadığını göreceğiz.

35
00:02:38,240 --> 00:02:44,510
‫Şimdi ideal olarak gidip oynat düğmesine basarsak, evet, kapsülümüzde, oyuncumuzda

36
00:02:44,510 --> 00:02:52,850
‫parçacık etkisi görmeliyiz ve sonunda sağlığımız sıfıra inmeli ve yere yayılmalıyız.

37
00:02:52,910 --> 00:02:53,510
‫İşte oldu.

38
00:02:53,510 --> 00:02:54,830
‫Bir yerlerde yere yayılmış.

39
00:02:54,830 --> 00:02:56,420
‫Görünüşe göre başarısız olduk.

40
00:02:56,420 --> 00:03:01,580
‫Gerçek oyuncumuzun nereye gittiğini bilmiyorum, ama hala yerde yumurtluyoruz.

41
00:03:01,580 --> 00:03:03,140
‫Ama burada başka bir hata var.

42
00:03:03,140 --> 00:03:08,840
‫Hâlâ bize ateş ettiğini ve bir kapsülü vurmaya devam ettiğini görebilirsiniz.

43
00:03:08,960 --> 00:03:10,970
‫Ve aslında aynı şey oluyor.

44
00:03:10,970 --> 00:03:15,200
‫Eğer bu adamı öldürecek olsaydım, hadi onu öldürelim.

45
00:03:15,200 --> 00:03:15,920
‫Al bakalım.

46
00:03:15,920 --> 00:03:17,060
‫Oraya varmak.

47
00:03:17,090 --> 00:03:20,450
‫Ekranda işaret edecek bir şey olmadan çok daha zor.

48
00:03:20,450 --> 00:03:22,250
‫Ama onu yakalayabilirsin.

49
00:03:22,670 --> 00:03:25,010
‫Ama hala bana ateş ediyor.

50
00:03:25,100 --> 00:03:29,420
‫Ayrıca kapsülünün hala aktif olduğunu da görmüş olurduk.

51
00:03:29,420 --> 00:03:35,840
‫Yani karakterlerimiz öldürüldüğünde yapmak istediğimiz birkaç şey var, hem yapay zeka hem de oyuncu.

52
00:03:35,840 --> 00:03:42,710
‫Şimdi atıcı karakter CP'sine gidelim ve hasar alma fonksiyonumuzu bulalım.

53
00:03:43,040 --> 00:03:44,870
‫Ve temel olarak buraya bir if ifadesi eklemek istiyoruz.

54
00:03:44,870 --> 00:03:47,150
‫Öldüğünü söylemek istiyoruz.

55
00:03:47,240 --> 00:03:49,400
‫Yani temel olarak son kez hasar aldık.

56
00:03:49,400 --> 00:03:50,300
‫Biz artık öldük.

57
00:03:50,360 --> 00:03:51,980
‫Bir şeyler yapmamız lazım.

58
00:03:52,250 --> 00:03:53,390
‫Biraz temizlik yapmamız lazım.

59
00:03:53,660 --> 00:03:56,750
‫Yapmamız gereken ilk şey, denetleyiciyi bu karakterden ayırmaktır.

60
00:03:56,750 --> 00:03:58,880
‫Kontrolör artık bu karakterden sorumlu değildir.

61
00:03:58,880 --> 00:03:59,840
‫Karakter öldü.

62
00:03:59,840 --> 00:04:04,070
‫Şut atmamızı engelleyecek hiçbir şey yapamazsınız.

63
00:04:04,070 --> 00:04:06,860
‫Böylece yapay zeka artık öldüğünde ateş etmeyecek.

64
00:04:06,860 --> 00:04:08,090
‫Bu biraz mantıklı.

65
00:04:08,090 --> 00:04:12,950
‫Ve dahası, artık dünyada hareket etmeye çalışamayacağız.

66
00:04:12,950 --> 00:04:19,100
‫Tüm bunlar, denetleyici bekleyen yok etme işleminden ayrılarak devre dışı bırakılıyor.

67
00:04:19,250 --> 00:04:20,360
‫Yapacağımız şey bu.

68
00:04:20,870 --> 00:04:25,010
‫Bir sonraki adımda kapsül çarpışmasını kapatmak istiyoruz.

69
00:04:25,460 --> 00:04:32,150
‫Bu yüzden get kapsül bileşenini kullanacağız ve ardından en üstte bir hash include yapmamız gerekecek.

70
00:04:32,680 --> 00:04:34,060
‫Kapsül bileşeni için.

71
00:04:34,070 --> 00:04:37,720
‫Peki bileşenleri ve kapsül bileşenini oraya nasıl dahil edebilirim?

72
00:04:38,760 --> 00:04:40,940
‫Ardından hasar almak için aşağı kaydırın.

73
00:04:41,270 --> 00:04:46,310
‫Bir ok operatörü kullanacağım ve bir çarpışma etkinleştirme seti yapacağız.

74
00:04:46,490 --> 00:04:48,890
‫Bu yüzden etkin değil olarak ayarlamak istiyoruz.

75
00:04:48,890 --> 00:04:51,260
‫Bu yüzden, garip bir şekilde, çarpışma etkinleştirilmiş bir set yapıyoruz.

76
00:04:51,260 --> 00:04:55,340
‫Yani E çarpışma etkin, iki nokta üst üste, iki nokta üst üste, çarpışma yok olacak.

77
00:04:55,430 --> 00:05:00,500
‫Bu yüzden kapsül çarpıştırıcımızı çarpışma yok olarak ayarlıyoruz, bu da bize yardımcı olacaktır.

78
00:05:00,920 --> 00:05:01,250
‫Tamam.

79
00:05:01,250 --> 00:05:04,450
‫Bu yüzden devam edip inşa edeceğiz ve bunun yardımcı olup olmadığını göreceğiz.

80
00:05:04,460 --> 00:05:06,520
‫En azından derleme başarılı oldu.

81
00:05:06,520 --> 00:05:07,430
‫Hadi gidip oynat tuşuna basalım.

82
00:05:07,430 --> 00:05:09,140
‫Ve o da bana ateş ediyor.

83
00:05:09,140 --> 00:05:10,910
‫Ölene kadar onu vurabilirim.

84
00:05:11,210 --> 00:05:11,840
‫İşte oldu.

85
00:05:11,840 --> 00:05:12,560
‫O öldü.

86
00:05:12,740 --> 00:05:17,240
‫Kapsülünün üzerinden geçebiliyorum ve artık onunla çarpışmıyorum.

87
00:05:17,240 --> 00:05:21,800
‫Ayrıca artık silahını ateşlemediğini de görebilirsiniz ki bu harika bir şey.

88
00:05:21,890 --> 00:05:24,050
‫Bir de gidip bizi öldürüp öldürmeyeceğini görelim.

89
00:05:24,050 --> 00:05:24,920
‫Davranış nedir?

90
00:05:24,920 --> 00:05:27,140
‫Yani on atış için beklemek zorundayız.

91
00:05:27,140 --> 00:05:32,450
‫Gördüğünüz gibi ben de onun gibi yere yığılıp kaldım ve o bana ateş etmeye devam etti.

92
00:05:32,450 --> 00:05:32,930
‫Sorun değil.

93
00:05:32,990 --> 00:05:39,200
‫Artık boş bir çarpıştırıcıya çarpmıyor ve ben de artık kameramı kontrol edemiyorum çünkü öldüm.

94
00:05:39,200 --> 00:05:39,530
‫Harika.

95
00:05:39,530 --> 00:05:41,780
‫Yani burada birinci şahıs nişancı oyununun temelleri var.

96
00:05:41,780 --> 00:05:45,620
‫Bizi takip eden, bize ateş eden bir düşmanımız var, biz de ona ateş edebiliriz.

97
00:05:45,620 --> 00:05:46,820
‫İkimizin de sağlığı yerinde.

98
00:05:46,820 --> 00:05:48,830
‫İkimiz de ölebiliriz.

99
00:05:48,860 --> 00:05:55,520
‫Sıradaki şey, bazı oyun sonu koşullarını ayarlamaktır, böylece oyuncumuza kaybettiğinizi veya seviyedeki tüm oyuncuları

100
00:05:55,520 --> 00:06:00,680
‫öldürdüyseniz kazandığınızı söyleyen güzel bir mesaj görüntüleyebiliriz.

101
00:06:00,680 --> 00:06:02,300
‫Bu da bir sonraki dersin konusu olacak.

102
00:06:02,300 --> 00:06:02,960
‫Demek oradasın.

