﻿1
00:00:04,130 --> 00:00:04,610
‫Hey.

2
00:00:04,610 --> 00:00:05,450
‫Tekrar hoş geldiniz.

3
00:00:05,480 --> 00:00:09,080
‫Şimdi, zaten bir temel -- C++ sınıfı oluşturduk.

4
00:00:09,200 --> 00:00:16,310
‫Bu videoda, base -- temelinde yeni bir alt sınıf oluşturmak için bu sınıftan türeteceğiz.

5
00:00:16,340 --> 00:00:19,310
‫Şimdi neden böyle bir şey yapmak istediğimizi tartışalım.

6
00:00:19,580 --> 00:00:27,080
‫Yani bu base -- sınıfımız var ve base --'dan türeyen iki farklı sınıfımız olacağını biliyoruz.

7
00:00:27,080 --> 00:00:30,020
‫Tankımızı ve kulemizi alacağız.

8
00:00:30,050 --> 00:00:34,760
‫Şimdi, taban -- kafesler, bir kapsül ve bir doğma noktası içerir.

9
00:00:34,760 --> 00:00:38,210
‫Ve bunlar hem Tank'ın hem de kulenin miras alabileceği şeylerdir.

10
00:00:38,360 --> 00:00:44,480
‫Ancak tank ve kule de birbirinden farklı bazı işlevlere sahip olacaktır.

11
00:00:44,480 --> 00:00:50,720
‫Birincisi, tankımız dünyada hareket edecek ve aynı zamanda oyuncu tarafından kontrol edilecek.

12
00:00:50,720 --> 00:00:55,220
‫Bu yüzden klavye ve fareden girdi alacak şekilde yapılandırılması gerekecektir.

13
00:00:55,220 --> 00:00:57,950
‫Öte yandan kule orada öylece duracak.

14
00:00:57,980 --> 00:01:03,860
‫Tüm eylemleri kod tarafından kontrol edileceği için oyuncudan herhangi bir girdiye ihtiyacı yoktur.

15
00:01:03,860 --> 00:01:10,010
‫Tank ve kule farklı davranacağından, temel sınıfların alt sınıflarını oluşturmak için kalıtımdan

16
00:01:10,010 --> 00:01:16,730
‫yararlanacağız - böylece ortak olan şeyleri miras alabilir ve daha sonra her sınıfa farklı olacak özellikleri

17
00:01:16,730 --> 00:01:18,290
‫ekleyebiliriz.

18
00:01:18,290 --> 00:01:23,960
‫Editörün içine geri döndük ve C++ sınıflarımıza, Tune Tank'ın klasörüne gideceğim,

19
00:01:23,960 --> 00:01:29,240
‫burada temel -- sınıfımız var ve bu da türettiğimiz sınıf olacak.

20
00:01:29,240 --> 00:01:35,480
‫Şimdi buraya sağ tıklayabilir ve base -- öğesinden türetilmiş C++ sınıfı oluştur öğesini seçebiliriz.

21
00:01:35,480 --> 00:01:41,690
‫O halde bunu seçelim ve bu sınıfı base -- ile aynı source slash tune tanks klasörüne yerleştirmesine

22
00:01:41,690 --> 00:01:43,550
‫izin vereceğim.

23
00:01:43,610 --> 00:01:47,360
‫Bunun adına da tank diyeceğim.

24
00:01:47,360 --> 00:01:54,560
‫Yani tank sınıfımız, kontrol ettiğimiz ve dünyada hareket ettirdiğimiz gerçek tankımızın sınıfı

25
00:01:54,560 --> 00:01:55,400
‫olacak.

26
00:01:55,430 --> 00:01:57,410
‫O halde sınıf oluştur'a tıklayalım.

27
00:01:57,560 --> 00:02:06,470
‫Tamam, derledik ve vs kodu yeni tank dosyamızla açıldı ve ayrıca Tank CP'ye sahibiz.

28
00:02:06,500 --> 00:02:08,210
‫Şimdi bunlar oldukça çıplak.

29
00:02:08,210 --> 00:02:14,570
‫Burada gerçekten hiçbir şey yok, ancak onları göremesek de, temel -- sınıfından bazı şeyleri

30
00:02:14,570 --> 00:02:15,950
‫miras aldık.

31
00:02:15,950 --> 00:02:19,580
‫Tabana eklediğimiz bu bileşenlere sahibiz --.

32
00:02:19,580 --> 00:02:23,810
‫Bunlar özel değişkenler olsa da, yine de bu sınıfta mevcutturlar.

33
00:02:23,810 --> 00:02:29,030
‫Şimdi tank sınıfımızı oluşturduğumuza göre, birkaç şey hakkında konuşalım.

34
00:02:29,030 --> 00:02:31,880
‫Tank, taretin ihtiyaç duymayacağı şeylere ihtiyaç duyacaktır.

35
00:02:31,880 --> 00:02:37,490
‫Tankı kontrol edeceğimize göre, seviye boyunca yuvarlanırken tanka odaklanmanın bir

36
00:02:37,490 --> 00:02:39,530
‫yoluna ihtiyacımız olacak.

37
00:02:39,950 --> 00:02:43,880
‫Şimdi, bu resimde, buradaki bir kamera bileşenidir.

38
00:02:43,880 --> 00:02:47,030
‫C++ sınıfı kamera bileşenidir.

39
00:02:47,180 --> 00:02:55,100
‫Buradaki kırmızı çizgi yaylı kol bileşeni olarak adlandırılır ve C++ sınıfı yaylı kol bileşenidir.

40
00:02:55,100 --> 00:03:01,370
‫Bu bileşenleri bir -- kameraya eklemek, -- kameranın bakış açısından -- görüntülememizi sağlar.

41
00:03:01,370 --> 00:03:07,790
‫Ve eğer kamera ve yaylı kolu bir şekilde kameraya bağlıysa, kamerayı dünya üzerinde takip

42
00:03:07,790 --> 00:03:08,930
‫edecektir.

43
00:03:08,930 --> 00:03:14,540
‫Şimdi, burada editörde, -- klasörümüze geri dönüp BP -- tankını açarsak, her şeyi görebilmek için

44
00:03:14,540 --> 00:03:16,730
‫görüntü alanına tıklayabiliriz.

45
00:03:16,730 --> 00:03:22,100
‫Ardından kapsül komponentini seçip ekle'ye tıklayabilir ve yaylı kolu seçebiliriz.

46
00:03:22,100 --> 00:03:24,080
‫Bu bir yaylı kol bileşenidir.

47
00:03:24,080 --> 00:03:25,610
‫Kırmızı bir çizgiye benziyor.

48
00:03:25,730 --> 00:03:31,490
‫Şimdi yaylı kol bileşenimiz seçiliyken, başka bir bileşen ekleyebilir ve kamerayı seçebiliriz.

49
00:03:31,490 --> 00:03:37,400
‫Şimdi, yaylı kola bağlı kamerayı ekledikten sonra, artık --'yı gerçekten kontrol etmeye başladığımızda

50
00:03:37,400 --> 00:03:41,230
‫kameranın bakış açısından görmenin bir yoluna sahibiz.

51
00:03:41,240 --> 00:03:43,040
‫Şimdi yaylı kol oldukça kullanışlı.

52
00:03:43,040 --> 00:03:49,940
‫Bu hedef kol uzunluğuna sahiptir ve bunu ayarlarsanız, kameranın yaylı kolla birlikte ayarlandığını göreceksiniz.

53
00:03:49,940 --> 00:03:54,470
‫Yani bu, kameranın --'dan ne kadar uzakta olduğunu kontrol etmenin bir yoludur.

54
00:03:54,470 --> 00:04:00,170
‫Yani bunlar kesinlikle -- sınıfımızda olmasını istediğimiz şeyler, ancak bunları

55
00:04:00,170 --> 00:04:04,460
‫blueprint'e eklemek yerine C++ tarafından ekleyeceğiz.

56
00:04:04,460 --> 00:04:05,750
‫Bu yüzden onları sileceğim.

57
00:04:05,750 --> 00:04:10,130
‫Bu yüzden meydan okumanız için tank sınıfına bazı şeyler eklemenizi istiyorum.

58
00:04:10,130 --> 00:04:15,890
‫İlk olarak, bir yaylı kol bileşenine ve bir kamera bileşenine ihtiyacımız var, bu nedenle bu değişkenleri oluşturun ve

59
00:04:15,890 --> 00:04:16,790
‫işaretçi yapın.

60
00:04:16,790 --> 00:04:21,920
‫Devam edin ve bir genel ve bir özel bölüm oluşturun ve bu değişkenleri özel bölüme koyun.

61
00:04:21,920 --> 00:04:27,590
‫Şimdi bunların U özellikleri olmasına ihtiyacımız olacak, bu yüzden onlara özellik makroları verin ve önceki derslerde

62
00:04:27,590 --> 00:04:31,610
‫öğrendiklerinize dayanarak bu makroları uygun belirticilerle doldurun.

63
00:04:31,640 --> 00:04:36,920
‫Şimdi, bu değişkenleri oluşturduktan sonra, bir kurucu oluşturun ve bunu public bölümüne koyun

64
00:04:36,920 --> 00:04:44,120
‫ve CP dosyasında tanımlayın ve ardından kurucunun içinde varsayılan alt nesne oluşturmayı kullanarak kameramızı ve yaylı kol

65
00:04:44,120 --> 00:04:46,340
‫bileşenlerimizi oluşturun.

66
00:04:46,340 --> 00:04:50,750
‫Bu bileşenleri bir şeye bağlamak için kurulum eklentisi kullandığınızdan emin olun.

67
00:04:50,750 --> 00:04:54,380
‫Yay kolu bileşenimizin kök bileşene bağlı olmasını istiyoruz.

68
00:04:54,380 --> 00:05:00,500
‫Bu yüzden kök bileşeni kullanın ve kurulum ekini ayarlayın ve kamera için yaylı kola takın.

69
00:05:00,500 --> 00:05:02,870
‫Temel -- sınıfına geri dönebilirsiniz.

70
00:05:03,020 --> 00:05:05,950
‫A Bunları yapmak için kodun neye benzediğini kendinize hatırlatın.

71
00:05:05,960 --> 00:05:09,710
‫Devam edin ve videoyu duraklatıp bunları tank sınıfına ekleyin.

72
00:05:12,580 --> 00:05:13,180
‫Tamam.

73
00:05:13,180 --> 00:05:14,380
‫Tank'a geldik.

74
00:05:15,250 --> 00:05:16,540
‫Şimdi, her şey sırayla.

75
00:05:16,540 --> 00:05:20,110
‫Herkese açık bir bölüm ve özel bir bölüm olmasını istiyorum.

76
00:05:20,350 --> 00:05:24,840
‫Dolayısıyla, özel bölüm bu iki yeni bileşeni eklediğimiz yer olacaktır.

77
00:05:24,850 --> 00:05:32,290
‫Bir U yay kolu bileşeni isteyeceğiz, bu bir işaretçi olacak ve bu yay kolunu çağırabiliriz.

78
00:05:32,290 --> 00:05:37,760
‫Ayrıca yeni bir kamera bileşenine ihtiyacımız olacak ve buna kamera adını vereceğiz.

79
00:05:37,780 --> 00:05:38,260
‫Sorun değil.

80
00:05:38,260 --> 00:05:39,970
‫İsimleriniz biraz farklıysa.

81
00:05:40,090 --> 00:05:45,070
‫Şimdi, hemen burada IntelliSense hatalarını görüyorum, bu da bunları ileri bildirmem gerektiği

82
00:05:45,070 --> 00:05:46,420
‫anlamına geliyor.

83
00:05:46,420 --> 00:05:51,280
‫Bu yüzden class with spring arm ve class with camera kullanacağım.

84
00:05:51,280 --> 00:05:53,150
‫Ve şimdi bunlar ileriye dönük olarak beyan edildi.

85
00:05:53,170 --> 00:05:55,240
‫Şimdi yeni özelliklerimize ihtiyacımız var.

86
00:05:55,240 --> 00:05:57,460
‫Şimdi yeni özellik makrolarını ekleyelim.

87
00:05:57,970 --> 00:06:02,930
‫Ve özellik makrosunun içinde bazı belirleyicilere sahip olmak isteyeceğiz.

88
00:06:02,950 --> 00:06:09,550
‫Ayrıntılar panelinde parametrelerini ayarlayabilmemiz için bileşenlerin herhangi bir yerde görünür olması gerektiğini

89
00:06:09,550 --> 00:06:13,010
‫gördüğümüzden, bunlar herhangi bir yerde görünür olacaktır.

90
00:06:13,030 --> 00:06:18,550
‫Şimdi, olay grafiğine maruz kalmak için acil bir ihtiyaç görmüyorum, bu yüzden blueprint okuma, yazma veya sadece blueprint

91
00:06:18,550 --> 00:06:20,600
‫okumaya ihtiyacımız olduğunu düşünmüyorum.

92
00:06:20,620 --> 00:06:21,160
‫Sorun değil.

93
00:06:21,160 --> 00:06:23,770
‫Eğer onları eklediyseniz, şimdi onları çıkaracağım.

94
00:06:23,770 --> 00:06:25,630
‫Bunlara bir kategori vereceğim.

95
00:06:26,410 --> 00:06:33,330
‫Bunlar bileşen olduğu için, bunları diğer bileşenlerimizle birlikte bileşenler kategorimize yerleştireceğim.

96
00:06:33,340 --> 00:06:38,470
‫Şimdi bunları olay grafiğine göstermiyorum, bu yüzden burada belirtilen meta allow private access'e ihtiyacım

97
00:06:38,500 --> 00:06:38,940
‫yok.

98
00:06:38,950 --> 00:06:45,640
‫Yani bu yaylı kol için yeterli ve kamera bileşenine de aynı özelliği vermek istiyorum.

99
00:06:46,180 --> 00:06:47,590
‫O yüzden kopyalıyorum.

100
00:06:47,590 --> 00:06:49,270
‫Artık bileşenlerimiz var.

101
00:06:49,420 --> 00:06:54,700
‫Yapılacak bir sonraki şey bunları yapıcıda oluşturmaktır, bu da bir yapıcıya ihtiyacımız olduğu anlamına gelir.

102
00:06:54,700 --> 00:07:02,650
‫Şimdi yapıcı sınıfla aynı isimde olacak, yani bir tank ve bu yapıcıyı CP dosyasında tanımlamamız

103
00:07:02,650 --> 00:07:03,910
‫gerekiyor.

104
00:07:03,910 --> 00:07:08,710
‫Şimdi Tank CP'ye gidelim ve bir tank oluşturalım.

105
00:07:09,520 --> 00:07:16,180
‫İşte fonksiyonumuzun gövdesi ve tank yapıcısının önüne sınıf adımız ve kapsam çözümleme operatörümüz

106
00:07:16,180 --> 00:07:17,710
‫eklenmelidir.

107
00:07:17,710 --> 00:07:19,360
‫Buradaki çift iki nokta üst üste.

108
00:07:19,360 --> 00:07:24,850
‫Bu şekilde sadece yeni bir fonksiyon oluşturmakla kalmıyor, aynı zamanda bu sınıf için kurucumuzu da tanımlamış oluyoruz.

109
00:07:24,850 --> 00:07:27,130
‫Şimdi bu bileşenleri oluşturmak istiyoruz.

110
00:07:27,130 --> 00:07:29,530
‫Şimdi yaylı kolla başlayalım.

111
00:07:29,860 --> 00:07:39,160
‫Bu yüzden yaylı kol eşittir varsayılan alt nesne oluştur diyeceğiz ve bu bir u yaylı kol bileşeni olacak.

112
00:07:41,260 --> 00:07:45,310
‫Metin için bu yaylı kol diyeceğim.

113
00:07:46,270 --> 00:07:54,490
‫Ve ek için, yaylı kolu ayarlayacağız, eki kuracağız, kök bileşeni geçireceğiz.

114
00:07:55,920 --> 00:07:56,220
‫Şimdi.

115
00:07:56,220 --> 00:07:57,240
‫Ben de onu bekliyordum.

116
00:07:57,240 --> 00:07:58,050
‫İşte burada.

117
00:07:58,050 --> 00:08:03,920
‫IntelliSense hatası, eksik sınıf türü işaretçisinin spring arm bileşenini kullandığını söylüyor.

118
00:08:03,930 --> 00:08:10,320
‫Bunun nedeni, bir yaylı kol bileşeni oluşturduğumuz ve kullandığımız için başlık dosyasını dahil etmemiz gerektiğidir.

119
00:08:10,320 --> 00:08:16,020
‫İşte benim unreal motor dokümantasyonum ve aşağı kaydırırsam, benim dahil ettiklerim var.

120
00:08:16,020 --> 00:08:21,820
‫Bu yüzden bunu kopyalayacağım ve tam buraya, tank kenarının altına yapıştıracağım.

121
00:08:21,900 --> 00:08:26,520
‫Şimdi, genel olarak bir yan not, sınıf başlık dosyanızı en üstte tutacaksınız ve bileşenleriniz

122
00:08:26,520 --> 00:08:29,370
‫için bunun altında yer alacaksınız.

123
00:08:29,370 --> 00:08:30,750
‫Yani yaylı kolumuz var.

124
00:08:30,750 --> 00:08:32,790
‫Kamerayı inşa etme zamanı.

125
00:08:32,790 --> 00:08:39,300
‫Bu yüzden kamera varsayılan alt nesneyi, yani kamera bileşenini oluştur diyeceğiz.

126
00:08:40,050 --> 00:08:45,240
‫Metin makrosunda buna sadece kamera diyeceğim.

127
00:08:45,240 --> 00:08:51,120
‫Ve kamera için yaylı kolda geçen kurulum eklentisi diyeceğim.

128
00:08:51,390 --> 00:08:54,240
‫Ve tabii ki kamera başlık dosyasına ihtiyacım var.

129
00:08:54,240 --> 00:08:59,820
‫İşte unreal engine belgeleri ve burada belgeleri ara yazan yere you camera

130
00:08:59,820 --> 00:09:05,490
‫component yazacağım ve burada you camera component'i görüyorum.

131
00:09:05,490 --> 00:09:06,600
‫Bunu seçiyorum.

132
00:09:06,600 --> 00:09:09,450
‫Ve işte kamera bileşeni için belgeler.

133
00:09:09,450 --> 00:09:14,100
‫Bu yüzden kopyalayıp dosyamızın en üstüne yapıştıracağım.

134
00:09:14,100 --> 00:09:15,930
‫Ve şimdi iyi olmalıyız.

135
00:09:15,960 --> 00:09:18,630
‫Tamam, hadi devam edelim ve bunu derleyelim.

136
00:09:18,810 --> 00:09:19,230
‫Tamam.

137
00:09:19,230 --> 00:09:21,180
‫Yani başarılı bir derleme yaptım.

138
00:09:21,210 --> 00:09:24,210
‫Editöre geri dönelim ve -- Tank'a geçelim.

139
00:09:24,240 --> 00:09:30,690
‫Tabii ki hiçbir şey görmüyoruz çünkü -- tank base'den türetilmiştir -- ve az önce eklediğimiz

140
00:09:30,690 --> 00:09:33,510
‫bileşenler tank sınıfına eklenmiştir.

141
00:09:33,510 --> 00:09:39,720
‫Yani BP -- tank bunları almayacaktır çünkü tank sınıfından türetilmemiştir.

142
00:09:39,720 --> 00:09:44,910
‫Şimdi gidip tank sınıfını temel alan yeni bir plan oluşturabiliriz, ancak o zaman bu bileşenleri

143
00:09:44,910 --> 00:09:46,710
‫baştan kurmamız gerekir.

144
00:09:46,710 --> 00:09:50,190
‫Ve tüm bu işleri ikinci kez yapmak istemiyorum.

145
00:09:50,190 --> 00:09:55,080
‫Bu planı tank sınıfına onarmanın daha kolay bir yolu var.

146
00:09:55,080 --> 00:10:01,530
‫Bunu sınıf ayarlarına giderek yaparız ve sınıf ayarları seçiliyken ayrıntılar panelinde sınıf

147
00:10:01,530 --> 00:10:04,980
‫seçeneklerini görürüz ve bu üst sınıf vardır.

148
00:10:04,980 --> 00:10:10,800
‫Açılır menü temel sınıf olarak ayarlandığını gösterir, ancak üzerine tıklarsak tank'ı arayabilir ve

149
00:10:10,800 --> 00:10:13,200
‫temel sınıf olarak tank'ı seçebiliriz.

150
00:10:13,200 --> 00:10:17,220
‫Ve şimdi bu plan tank sınıfından türetilmiştir.

151
00:10:17,220 --> 00:10:23,070
‫Böylece, ağ ve kapsül boyutu gibi bileşenlerimizle ayarladığımız tüm özelliklerin hala orada

152
00:10:23,070 --> 00:10:24,630
‫olduğunu görüyoruz.

153
00:10:24,660 --> 00:10:27,090
‫Ama şimdi bir kamera görüyoruz.

154
00:10:27,390 --> 00:10:29,730
‫Aslında, bir yaylı kolumuz ve bir kameramız var.

155
00:10:29,730 --> 00:10:33,720
‫Şimdi yay kolunu seçersek, kırmızı çizgiyi görebiliriz.

156
00:10:33,720 --> 00:10:34,710
‫Yani bu harika.

157
00:10:34,710 --> 00:10:38,880
‫Böylece bu yaylı kol bileşenini alabilir ve hedef kol uzunluğunu değiştirebilirim.

158
00:10:38,880 --> 00:10:46,650
‫İstersem, 600 gibi bir değere ayarlayabilirim ve hatta rotasyon modunu seçip biraz yukarı döndürerek

159
00:10:46,650 --> 00:10:52,770
‫kamerayı tanka doğru açacak şekilde rotasyonunu değiştirebilirim.

160
00:10:52,770 --> 00:10:58,500
‫Mesela şimdi kameranın konumunu değiştirmemeniz gerektiğini belirtmek isterim.

161
00:10:58,530 --> 00:11:03,990
‫Kamerayı seçmek ve onu dünyada hareket ettirmek cazip gelebilir, böylece onu konumlandırır ve tam olarak doğru

162
00:11:03,990 --> 00:11:05,190
‫açıyı verirsiniz.

163
00:11:05,190 --> 00:11:07,350
‫Ancak bunu yapmanın doğru yolu bu değildir.

164
00:11:07,350 --> 00:11:13,410
‫Doğru yol, yaylı kol bileşeninin rotasyonunu ve hedef kol uzunluğunu ayarlamaktır.

165
00:11:13,410 --> 00:11:17,790
‫Bunun nedeni de kameranın yaylı kolun ucuna takılmasını istemenizdir.

166
00:11:17,790 --> 00:11:23,460
‫Yaylı kol, kamera engellerden kaçınmak için bir duvara çarptığında küçülme,

167
00:11:23,460 --> 00:11:29,430
‫gölete bakışı engelleme ve bunun gibi birçok farklı yerleşik özelliğe sahiptir.

168
00:11:29,430 --> 00:11:35,070
‫Bu yüzden kameranın yaylı kolun ucuna takılmasını ve kameranın konumunu ve dönüşünü

169
00:11:35,070 --> 00:11:39,990
‫ayarlamak yerine yaylı kolu ayarlamasını isteyeceksiniz.

170
00:11:40,110 --> 00:11:47,070
‫Bu videoda tank sınıfını oluşturduk ve bu nitelikleri temel havuz sınıfından miras almak için temel

171
00:11:47,070 --> 00:11:48,960
‫havuzdan türettik.

172
00:11:49,140 --> 00:11:56,100
‫Bir yaylı kol bileşeni ve bir kamera bileşeni ekledik ve bunları yalnızca görünür kullanarak editöre gösterdik

173
00:11:56,100 --> 00:11:58,500
‫ve kendi kategorilerine koyduk.

174
00:11:58,500 --> 00:12:03,900
‫Böylece bitmiş ürüne adım adım yaklaşıyoruz ve bir sonraki derste bu tankı geliştirmeye

175
00:12:03,900 --> 00:12:05,130
‫devam edeceğiz.

176
00:12:05,460 --> 00:12:06,510
‫Yakında görüşürüz.

