﻿1
00:00:04,350 --> 00:00:05,040
‫Merhaba ve hoş geldiniz.

2
00:00:05,040 --> 00:00:11,340
‫Bu derste, takipçilerle göz göze gelmeyi ve dünyada gezinmeyi, engellerden kaçınmayı ve genel olarak

3
00:00:11,340 --> 00:00:15,030
‫biraz can sıkıcı bir baş belası olmayı öğreneceğiz.

4
00:00:15,030 --> 00:00:17,520
‫Şimdi bunun nasıl mümkün olduğunu görelim.

5
00:00:18,360 --> 00:00:25,200
‫Burada çözmemiz gereken bulmacanın bir sonraki en bariz parçası, gözümüzün bize doğru hareket

6
00:00:25,440 --> 00:00:27,460
‫etmesini sağlamaktır.

7
00:00:27,480 --> 00:00:29,100
‫Orada öylece durmaları iyi değil.

8
00:00:29,130 --> 00:00:31,770
‫Ayrıca hareket etmeleri ve sonra da ateş etmeleri gerekecek.

9
00:00:31,770 --> 00:00:34,800
‫Öncelikle, nasıl hareket edebileceğimizi bulalım.

10
00:00:35,340 --> 00:00:41,550
‫Şimdi, gözle hareket ederken engelleri bilmesi gerekir, yol bulma denen bir şey yapması gerekir çünkü diyelim

11
00:00:41,550 --> 00:00:45,210
‫ki ben bu koridorda saklanıyorum ve o bana ulaşmak istiyor.

12
00:00:45,240 --> 00:00:48,540
‫Duvardan öylece geçemeyeceğini bilmesi gerekiyor.

13
00:00:48,540 --> 00:00:53,880
‫Engellerin etrafından dolaşıp bana doğru gelmek için rotasını planlaması gerekecek.

14
00:00:54,210 --> 00:01:01,260
‫Şimdi, bunun genel olarak oyunlarda ve özellikle Unreal'da tipik olarak çalışma şekli, bize bir seviye içinde nerede

15
00:01:01,260 --> 00:01:08,670
‫yürünebilir olduğunu söyleyen bir ağ oluşturmamız ve ardından çeşitli algoritmalar kullanmamızdır, bunlardan birine

16
00:01:08,670 --> 00:01:10,440
‫yıldız yolu bulma denir.

17
00:01:10,440 --> 00:01:18,190
‫Bu ağ üzerinde gezinebilir ve bir rota planı oluşturabilirsiniz ve yapay zeka daha sonra ilerlemek için bu rota planını kullanır.

18
00:01:18,210 --> 00:01:20,360
‫Sürecin ana hatları bu şekilde.

19
00:01:20,370 --> 00:01:22,260
‫Neyse ki bunların çoğu bizim için yapılıyor.

20
00:01:22,260 --> 00:01:24,020
‫Bunu sıfırdan kodlamamız gerekmiyor.

21
00:01:24,030 --> 00:01:28,290
‫Yapmamız gereken şey, her şeyden önce, nav ağını görebilmektir.

22
00:01:28,290 --> 00:01:32,780
‫Ve şu anda yeterince ağ göremiyoruz çünkü bir tane bile yok.

23
00:01:32,790 --> 00:01:38,490
‫Yapmamız gereken şey, yerleştirilmiş aktörler penceremize bakmak ya da pencereye gidip yerleştirilmiş

24
00:01:38,490 --> 00:01:40,260
‫yer aktörlerini aramak.

25
00:01:40,620 --> 00:01:47,190
‫Bir nav mesh aramamız gerekiyor ve nav mesh sınır hacmini arıyoruz.

26
00:01:47,190 --> 00:01:54,090
‫Ş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ığı

27
00:01:54,090 --> 00:01:58,380
‫konusunda ne kadar gezilebilir olduğu konusunda kontrol edilecektir.

28
00:01:58,950 --> 00:02:03,300
‫Temel olarak bir duvarın olduğu yerde, duvarlardan geçemezsiniz, duvarların üzerinden yürüyemezsiniz çünkü

29
00:02:03,300 --> 00:02:04,010
‫çok diktirler.

30
00:02:04,020 --> 00:02:09,090
‫Dolayısıyla, bir navigasyon ağı sınır hacmini sürükleyip buraya getirirsek ve

31
00:02:09,090 --> 00:02:16,590
‫zeminin bu navigasyon hesaplamasının bir parçası olmasını sağlamak için zeminden hafifçe geçirirsek, o zaman yapmamız

32
00:02:16,590 --> 00:02:21,120
‫gereken şey NAV ağlarının görünürlüğünü etkinleştirmektir.

33
00:02:21,120 --> 00:02:25,890
‫Bunu, görüntü alanınızın sol üst köşesindeki göster düğmesine ve ardından gezinmeye tıklayarak

34
00:02:25,890 --> 00:02:28,110
‫veya kısayolu kullanarak yapabilirsiniz.

35
00:02:28,110 --> 00:02:29,880
‫P Bu yüzden kısayolu kullanacağım.

36
00:02:29,880 --> 00:02:33,870
‫P Ve iyi seçerseniz, sınır ses seviyesini seçmeniz bile gerekmez.

37
00:02:33,870 --> 00:02:39,270
‫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

38
00:02:39,270 --> 00:02:40,800
‫bir alan olduğunu söylüyor.

39
00:02:40,800 --> 00:02:48,300
‫Yani düşmanımız bu alan içindeyse ve hedefi de bu alan içindeyse, o zaman bu ağ boyunca

40
00:02:48,300 --> 00:02:50,580
‫bir yol bulabilir.

41
00:02:50,760 --> 00:02:55,200
‫Şimdi bunu bir engelin olduğu yere taşırsak ne olacağına bir göz atalım.

42
00:02:55,200 --> 00:03:00,060
‫Ağın bu engelin etrafını kestiğini görebilirsiniz.

43
00:03:00,060 --> 00:03:07,680
‫Aslında yapmak istediğimiz şey, bu hacmin seviyemizin tamamını kapsamasını sağlamaktır ve bunu yapmamayı veya sadece

44
00:03:07,680 --> 00:03:14,100
‫belirli segmentlerde yapmayı seçebilirsiniz, ancak en kolay yol, yapabileceğiniz bu hacmin sınırlarını

45
00:03:14,100 --> 00:03:15,780
‫artırmaktır.

46
00:03:15,780 --> 00:03:20,310
‫Sağ taraftaki ayrıntılar bölmesine giderseniz, fırça ayarları vardır ve fırçanın

47
00:03:20,310 --> 00:03:26,850
‫boyutunu değiştirebilirsiniz, böylece daha büyük yapabiliriz, daha geniş yapabiliriz ve yeniden hesaplandığında

48
00:03:26,850 --> 00:03:28,770
‫kırmızı olur.

49
00:03:28,770 --> 00:03:33,300
‫Gezinme ağı oluşturduğunu görebilirsiniz ve ne kadar büyük olursa, gezinme ağı oluşturmak

50
00:03:33,300 --> 00:03:35,640
‫o kadar zorlaşacak ve daha uzun sürecektir.

51
00:03:35,640 --> 00:03:37,590
‫Ama bunun işe yaradığını görebilirsiniz.

52
00:03:37,590 --> 00:03:39,210
‫Koridorları kesiyor.

53
00:03:39,210 --> 00:03:43,000
‫Etrafından dolaşamadığımız engelleri ortadan kaldırıyor.

54
00:03:43,020 --> 00:03:52,170
‫Bu bulmacanın ikinci kısmı ise gözümüzün köklendirme algoritmalarını bu ağ üzerinde yapabilmesidir.

55
00:03:52,200 --> 00:03:56,970
‫Şimdi, devam edelim ve BP atıcı göz kontrolünü açalım, çünkü size burada olan bir şeyi göstermek

56
00:03:56,970 --> 00:03:57,930
‫istiyorum.

57
00:03:57,960 --> 00:04:02,370
‫Burada tam plan düzenleyicisini açacağım ve buraya bir göz atacağım.

58
00:04:02,370 --> 00:04:06,180
‫Yol takip bileşeni adı verilen bir bileşen vardır.

59
00:04:06,360 --> 00:04:13,320
‫Bu bileşen bir F ağı bulmaktan sorumludur ve daha sonra temel olarak yollar oluşturmamıza ve bunları takip etmemize ve bunlar boyunca

60
00:04:13,320 --> 00:04:16,230
‫otomatik olarak hareket etmemize izin verir.

61
00:04:16,230 --> 00:04:19,080
‫Yani bu işlevselliklerden herhangi birini oluşturmamız gerekmiyor.

62
00:04:19,080 --> 00:04:24,300
‫Tek yapmamız gereken AI kontrolörümüzde bulunan bir işlevi kullanmak.

63
00:04:24,300 --> 00:04:33,540
‫Gidip AI kontrolörü H'yi ararsanız ve hareketin çalışmasını ararsanız, o zaman açık bir parantezle

64
00:04:33,540 --> 00:04:35,490
‫hareket edelim.

65
00:04:35,490 --> 00:04:37,200
‫O zaman burada birkaç seçenek var.

66
00:04:37,200 --> 00:04:40,350
‫Bir hamle talebimiz var.

67
00:04:40,470 --> 00:04:45,510
‫Burada başka seçenekler de var, ancak bunlar aslında farklı bir isimle anılıyor.

68
00:04:45,510 --> 00:04:52,140
‫Şimdi, Unreal'ın sonraki sürümlerinde, ayar odağımızla aynı ayrıma sahip olan aktöre

69
00:04:52,140 --> 00:04:55,350
‫taşı ve konuma taşı seçeneklerimiz var.

70
00:04:55,350 --> 00:05:00,630
‫Odağı bir aktör gibi hareket eden bir şeye ayarlayabilir veya odağı, örneğin

71
00:05:00,630 --> 00:05:06,420
‫devriye rotanızdaki bir ara nokta gibi belirli bir hedefe ayarlayabilirsiniz.

72
00:05:06,420 --> 00:05:10,680
‫Bu yüzden sizden meydan okuma olarak bir hamle denemenizi istiyorum.

73
00:05:10,680 --> 00:05:16,560
‫Bu yüzden sahnenizde bir gezinme ağı oluşturun ve hareket edebilmeniz için sahnenin istediğiniz kadarını kaplamasını

74
00:05:16,560 --> 00:05:17,850
‫sağlayın.

75
00:05:17,910 --> 00:05:23,640
‫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.

76
00:05:23,640 --> 00:05:29,300
‫Yapay zekayı peşimize takmak için hangi handa oynamaya başlayacağınıza siz karar verin.

77
00:05:29,310 --> 00:05:31,110
‫Videoyu durdurun ve bir deneyin.

78
00:05:32,330 --> 00:05:32,750
‫Tamam.

79
00:05:32,750 --> 00:05:33,290
‫Tekrar hoş geldiniz.

80
00:05:33,350 --> 00:05:34,470
‫Şansımızı deneyelim.

81
00:05:34,490 --> 00:05:35,870
‫Her şey sırayla.

82
00:05:35,870 --> 00:05:44,660
‫Aktöre bir hareket kullanacağım ve hedef aktörü belirlememiz gerekecek.

83
00:05:44,660 --> 00:05:51,920
‫Şimdi atıcı I denetleyicimiz CP'ye gidelim ve orada oynatmaya başlayalım, aktöre taşı yapabiliriz ve halihazırda

84
00:05:51,920 --> 00:05:57,590
‫bir oyuncumuz var -- son dersten aldığımız ve sadece bir göz atalım.

85
00:05:57,590 --> 00:06:00,350
‫Burada başka yararlı özellikler var mı?

86
00:06:00,350 --> 00:06:01,940
‫Bir kabul yarıçapımız var.

87
00:06:01,940 --> 00:06:04,010
‫Şu anda kabul yarıçapı yoktur.

88
00:06:04,010 --> 00:06:06,140
‫Temel olarak olabildiğince yaklaşıyor.

89
00:06:06,140 --> 00:06:08,870
‫Sanırım bu biraz tecavüzkar olabilir.

90
00:06:08,870 --> 00:06:14,750
‫Ona iki metrelik bir kabul yarıçapı vereceğim, yani bize iki metre yaklaşmaya çalışacak.

91
00:06:15,110 --> 00:06:16,910
‫Öyleyse devam edelim ve bunu inşa edelim.

92
00:06:17,690 --> 00:06:20,600
‫Ve bu tamamlandıktan sonra, motora geçin.

93
00:06:20,600 --> 00:06:21,740
‫Ve bir bakalım.

94
00:06:21,740 --> 00:06:28,820
‫Burada sıçrama hacmini genişletmeyeceğim, sadece ilk etapta neden sıçrama hacmine ihtiyacımız olduğuna dair bir tat

95
00:06:28,820 --> 00:06:29,690
‫vermek için.

96
00:06:29,690 --> 00:06:32,120
‫O halde bir alt p ile başlayalım.

97
00:06:32,780 --> 00:06:33,530
‫Ve işte buradayız.

98
00:06:33,530 --> 00:06:38,000
‫Navigasyon ağındayız ve bu adam otomatik olarak bize doğru hareket etti.

99
00:06:38,000 --> 00:06:45,380
‫Ama o navigasyon ağını terk edersem, artık bana yaklaşamaz çünkü rotayı bulamaz.

100
00:06:45,380 --> 00:06:48,980
‫Bana ulaşmanın bir yolunu bulamıyor.

101
00:06:48,980 --> 00:06:55,100
‫Yani yapacağımız şey, aslında burada olan şeyin bu olduğundan emin değilim, çünkü

102
00:06:55,100 --> 00:07:01,550
‫muhtemelen olan şey, benim kabul yarıçapıma giriyor ve tekrar denemiyorlar.

103
00:07:01,550 --> 00:07:09,860
‫Bunu kontrol etmenin bir yolu, bu kabul yarıçapını kaldırıp yeniden derlemek ve sonra gidip neler olup

104
00:07:09,860 --> 00:07:12,620
‫bittiğini görmek olabilir.

105
00:07:12,620 --> 00:07:16,340
‫Yani evet, uzaklaşırsam hemen yanıma geliyor.

106
00:07:16,340 --> 00:07:19,130
‫Aslında bu emri unutmuş.

107
00:07:19,130 --> 00:07:25,460
‫Yapmak istediğimiz şey bunu tik olarak yapmak, çünkü temelde bana ulaştığında, beni kovalama fikrinden

108
00:07:25,460 --> 00:07:26,720
‫vazgeçiyor.

109
00:07:26,720 --> 00:07:28,940
‫Şimdi bunu Tik'e taşıyalım.

110
00:07:28,940 --> 00:07:31,580
‫Bunu yapmanın ideal yolu bu değil, ama yapacağımız şey bu.

111
00:07:31,580 --> 00:07:38,030
‫Şimdilik, aktör H'den Tic'in imzasını kopyalayacağım ve bunun genel bölüme gideceğini biliyorum, bu yüzden

112
00:07:38,030 --> 00:07:40,820
‫en üstte bir genel bölüm oluşturacağım.

113
00:07:42,770 --> 00:07:50,210
‫İ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ü

114
00:07:50,210 --> 00:07:57,980
‫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

115
00:07:57,980 --> 00:08:01,370
‫şikayet ediyor - orada.

116
00:08:01,370 --> 00:08:06,530
‫Şimdi gidip tavan arasındaki ilk oyuncuyu yakalayan bu hattı tekrarladığımızdan

117
00:08:06,530 --> 00:08:09,230
‫emin olalım.

118
00:08:09,230 --> 00:08:14,180
‫Ve şimdi bunu düzgün bir şekilde test edebilmeli, dünyaya bir alt domuz yapabilmeliyiz.

119
00:08:14,180 --> 00:08:16,250
‫Geldi ve bizi iki metre yakınımıza getirdi.

120
00:08:16,250 --> 00:08:18,710
‫Ondan uzaklaşıyorum ve şuna bakacağım.

121
00:08:18,710 --> 00:08:24,470
‫Bu sefer bana doğru düzgün nişan almıyor bile, ama takip etmeye çalışıyor.

122
00:08:24,740 --> 00:08:29,630
‫Ama o ağdan ayrılır ayrılmaz, beni nasıl bulacağını artık bilmiyor.

123
00:08:29,630 --> 00:08:31,190
‫Hadi bunu düzeltelim, olur mu?

124
00:08:31,190 --> 00:08:35,450
‫Bir nav ağ sıçrama hacmine gideceğiz.

125
00:08:36,250 --> 00:08:37,390
‫Eğer seçebilirsem.

126
00:08:37,390 --> 00:08:37,990
‫İşte oldu.

127
00:08:37,990 --> 00:08:44,170
‫Ve sonra tüm seviyemizi kapsayacak şekilde buraya gerçekten yakınlaştırmak istiyoruz.

128
00:08:44,180 --> 00:08:49,210
‫Bu seviye dışarıdan biraz kötü görünüyor, ancak genellikle işler böyle yürür, seviyeyi

129
00:08:49,210 --> 00:08:52,990
‫dışarıdan değil içeriden görülecek şekilde inşa edersiniz.

130
00:08:52,990 --> 00:08:55,480
‫Bu yüzden bunu daha da genişletelim.

131
00:08:55,480 --> 00:09:01,450
‫Tüm seviyeyi kapsayacak şekilde çok daha uzun yapalım ve buradaki seviyenin tüm uzantılarını kapsayacak

132
00:09:01,450 --> 00:09:04,000
‫şekilde dışarı sürükleyelim.

133
00:09:04,000 --> 00:09:11,920
‫Sadece biraz daha genişletin, biraz daha uzatın ve tüm bunların tam olarak kapsandığından emin

134
00:09:11,920 --> 00:09:12,790
‫olun.

135
00:09:13,150 --> 00:09:16,690
‫Nav ağını hesapladığı için yeşilin ortaya çıktığını görebilirsiniz.

136
00:09:16,690 --> 00:09:22,120
‫Ve navigasyon ölçüsünün haritamızın şu anda kaplıyor gibi görünen en alt uzantılarını

137
00:09:22,120 --> 00:09:26,140
‫kapsayacak kadar aşağıya indiğinden emin olalım.

138
00:09:26,140 --> 00:09:33,760
‫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

139
00:09:33,760 --> 00:09:40,480
‫bir alt p yapabiliriz ve bizi bulabilir ve bu seviyede gittiğimiz hemen hemen her yerde bizi takip edebilir.

140
00:09:40,780 --> 00:09:47,830
‫Güvenilir ve sadık hizmetkârımızın nereye gidersek gidelim bizi takip ettiğini görebilirsiniz.

141
00:09:47,860 --> 00:09:51,040
‫Bizi takip edip duruyor, bu da çok can sıkıcı.

142
00:09:51,040 --> 00:09:53,830
‫Ama bunu yapabiliyor.

143
00:09:54,590 --> 00:09:55,190
‫Şey, bazı şeyler.

144
00:09:55,190 --> 00:10:02,450
‫Bu derste NAV ölçümlerimizi nasıl oluşturabileceğimizi ve havamızın bizi seviye boyunca takip etmesini sağlamak için

145
00:10:02,450 --> 00:10:05,450
‫bunları nasıl kullanabileceğimizi gördük.

146
00:10:06,490 --> 00:10:12,220
‫Bir sonraki derste bu hatayı düzeltmek ve görüş hattını kontrol etmek için geri döneceğiz,

147
00:10:12,220 --> 00:10:16,330
‫böylece oyuncuyu her zaman kovalamamız gerekmeyecek.

148
00:10:16,330 --> 00:10:17,050
‫Oraya bak.

149
00:10:18,390 --> 00:10:22,860
‫Ve burada yaptığım aptalca küçük bir hatayı fark ettim, o da süper

150
00:10:22,860 --> 00:10:25,620
‫kolon kolon tikine seslenmemem.

151
00:10:25,620 --> 00:10:31,860
‫İşte bu yüzden bazen bu garip açıklanamayan hataları aldığınızda, eğer super'i çağırmıyorsanız,

152
00:10:31,890 --> 00:10:35,160
‫o zaman işler her zaman beklendiği gibi çalışmaz.

153
00:10:35,160 --> 00:10:41,250
‫Bu yüzden odak çalışmayı durdurmuştu, çünkü esasen yüksek bir denetleyicide tiki devre dışı bırakmıştık, ki bu

154
00:10:41,250 --> 00:10:42,270
‫iyi bir şey değil.

155
00:10:42,330 --> 00:10:47,520
‫Bunu etkinleştirirseniz, odak ayarı ile her şey normal şekilde çalışmalıdır.

