﻿1
00:00:04,470 --> 00:00:06,110
‫Merhaba ve hoş geldiniz.

2
00:00:06,120 --> 00:00:10,980
‫Bu derste, bir silah yaratacağız ve bu oyun için silahları nasıl tasarlayacağımızı

3
00:00:10,980 --> 00:00:17,280
‫öğreneceğiz, böylece değiştirilebilirler, böylece farklı silah türlerinde farklı özelliklere sahip

4
00:00:17,280 --> 00:00:18,360
‫olabiliriz.

5
00:00:18,360 --> 00:00:24,900
‫Ve genellikle birinci şahıs veya üçüncü şahıs nişancı oyunlarında mimariler bu şekilde çalışır, hadi dalalım ve nasıl yapıldığını

6
00:00:24,900 --> 00:00:25,920
‫görelim.

7
00:00:27,060 --> 00:00:27,330
‫Tamam.

8
00:00:27,330 --> 00:00:30,860
‫Bu yüzden bir süredir proje planımızı kontrol etmedik.

9
00:00:30,870 --> 00:00:33,310
‫Plana ne zaman ulaşırsak, hareket o zaman tamamlanır.

10
00:00:33,330 --> 00:00:39,420
‫Şimdilik animasyon tamamlandı ve çekimlere odaklanmamız gerekiyor.

11
00:00:39,600 --> 00:00:45,630
‫Şimdi, burada biraz kafa karıştırıcı çünkü ağımızın zaten bir silahı var gibi görünüyor, ama aslında bu silahı

12
00:00:45,630 --> 00:00:47,280
‫kullanmak istemiyoruz.

13
00:00:47,280 --> 00:00:49,280
‫Biz bunu farklı bir şekilde kullanmak istiyoruz.

14
00:00:49,680 --> 00:00:56,190
‫Nişancı türünde bir oyunda, genellikle silahlar arasında geçiş yapabilmek veya en azından farklı karakterlere sahip

15
00:00:56,190 --> 00:00:59,370
‫olmak, farklı silahlara sahip olmak istersiniz.

16
00:00:59,370 --> 00:01:05,850
‫Ve bunu yapmanın en kolay yolu, silahı karakterden ayrı bir şey olarak tasarlamaktır, böylece onları değiştirebilirsiniz,

17
00:01:05,850 --> 00:01:09,750
‫böylece nasıl ateş ettiğinden sorumlu olabilir.

18
00:01:09,810 --> 00:01:15,000
‫Roketatar, pompalı tüfek ya da tüfek ise, işleri farklı şekillerde yapacaklardır.

19
00:01:15,420 --> 00:01:20,970
‫Şimdi, tamam, bir silah bileşeni oluşturalım ve bu silah bileşenini ağımızın altına

20
00:01:20,970 --> 00:01:29,130
‫yapıştırabiliriz diyebilirsiniz, bu işe yarar, ancak o zaman silaha birden fazla bileşen eklememize olanak tanıyan

21
00:01:29,130 --> 00:01:31,350
‫modülerliği kaybederiz.

22
00:01:31,350 --> 00:01:38,760
‫Bu yüzden gerçekten yapmak istediğimiz şey, tetikçi karakterine göre çocuksu olan silah için bir oyuncuya sahip olma

23
00:01:38,760 --> 00:01:39,810
‫yoluna gitmek.

24
00:01:39,810 --> 00:01:43,860
‫Şimdi, bu daha önce karşılaşmadığımız bir şey, ama şu şekilde çalışıyor.

25
00:01:44,280 --> 00:01:51,210
‫Bir nişancı karakteriniz ve onun çocuğu olarak bir silahınız olabilir ve nişancı karakteri, birbirinin alt kimliği olan birden

26
00:01:51,210 --> 00:01:53,070
‫fazla bileşene sahip olabilir.

27
00:01:53,070 --> 00:01:58,380
‫Yani kapsülünüz var, şu anda kapsülün bir alt öğesi olarak ağımız var ve silahın

28
00:01:58,380 --> 00:02:01,920
‫bileşenleri bunun alt kimliği olabilir.

29
00:02:01,920 --> 00:02:05,940
‫Böylece ağ, karakterin ağına alt kimlik alır.

30
00:02:06,030 --> 00:02:11,490
‫Ve eğer silahın ağzında bir parçacık efekti gibi başka bileşenler varsa, bunlar

31
00:02:11,490 --> 00:02:13,290
‫da ağa eklenebilir.

32
00:02:13,290 --> 00:02:19,650
‫Böylece bu hiyerarşilerin bağımsız olduğunu, sahne bileşenlerine sahip olduğunuzu, sağ tarafta dönüşümlere

33
00:02:19,650 --> 00:02:25,830
‫sahip olanları ve bunların belirli bir hiyerarşide olabileceğini görebilirsiniz.

34
00:02:25,830 --> 00:02:31,350
‫Ve sonra aktör hiyerarşisi aslında sahne bileşenlerinin hiyerarşisini takip eder.

35
00:02:31,350 --> 00:02:33,270
‫Oyuncuların kendi aralarında bir hiyerarşisi yok.

36
00:02:33,270 --> 00:02:37,230
‫Kafanızı toparlamanız biraz zaman alan ve benim için bir tıklama

37
00:02:37,230 --> 00:02:43,680
‫anı olan bu kısım, gerçekte oyuncuların hiyerarşisi olmadığı, sadece sahne bileşenlerinin hiyerarşisi

38
00:02:43,680 --> 00:02:44,820
‫olduğudur.

39
00:02:44,820 --> 00:02:50,490
‫Sahne bileşenlerine sahip olan aktörler vardır ve bu nedenle sahne bileşenleri birbirleriyle ilişkili

40
00:02:50,490 --> 00:02:56,190
‫olduğu için bir hiyerarşiye sahip olurlar, ancak aslında kendi aralarında bir ilişkileri yoktur.

41
00:02:56,580 --> 00:03:02,820
‫Bunu söyledikten sonra, bağlamı ayarlamak için, gidip yapmak istediğimiz ilk şey aslında kendimize

42
00:03:02,820 --> 00:03:05,400
‫bir C++ silah aktörü yaratmak.

43
00:03:05,550 --> 00:03:11,760
‫Ve bu durumda bir piyon ya da karakter ya da buna benzer bir şey olmayacak.

44
00:03:11,760 --> 00:03:14,470
‫Sadece basit bir aktör olacak çünkü herhangi bir davranışa ihtiyacımız yok.

45
00:03:14,470 --> 00:03:15,510
‫Ona sahip olmanıza gerek yok.

46
00:03:15,510 --> 00:03:16,340
‫Hiçbir şey yapmamıza gerek yok.

47
00:03:16,350 --> 00:03:18,060
‫Bu kadar basit, basit bir aktör.

48
00:03:18,270 --> 00:03:19,740
‫O zaman devam edelim ve bunu yapalım.

49
00:03:19,740 --> 00:03:21,090
‫Aslında, sizin için küçük bir meydan okuma.

50
00:03:21,090 --> 00:03:26,460
‫Devam edin ve o C++ aktörünü yaratın, küçük bir mini meydan okuma yapabilmeniz gereken bir şey, deneyin.

51
00:03:26,790 --> 00:03:27,070
‫Tamam.

52
00:03:27,120 --> 00:03:34,500
‫Ve geri dönersek, bunu yeni bir C++ sınıfı olarak yapacağım ve aktörümüz olmasına gerek yok.

53
00:03:34,500 --> 00:03:41,220
‫Seçmek istediğimiz bu ve devam edip bu sınıfa gun adını vereceğiz, bu kadar basit, hadi bu sınıfı

54
00:03:41,220 --> 00:03:42,300
‫oluşturalım.

55
00:03:42,630 --> 00:03:48,190
‫Bu işlem tamamlandığında, kod düzenleyicinizde açılacak ve henüz onunla bir şey yapmamıza

56
00:03:48,190 --> 00:03:53,370
‫gerek yok çünkü yapmak istediğim ilk şey bir blueprint alt sınıfı oluşturmak.

57
00:03:53,370 --> 00:03:59,430
‫Bu yüzden içerik tarayıcısında sınıfınıza sağ tıklayın ve ona Silahım demek yerine, neden otomatik olarak bip

58
00:03:59,430 --> 00:04:03,000
‫alt çizgi silahını varsayılan olarak ayarladığını bilmiyorum.

59
00:04:03,000 --> 00:04:04,320
‫Bunu içeriğin köküne koyacağım.

60
00:04:04,320 --> 00:04:04,410
‫Dört.

61
00:04:04,410 --> 00:04:06,660
‫Şimdi daha fazla sınıfımız olduğunda biraz yeniden düzenleme yapabiliriz.

62
00:04:06,660 --> 00:04:09,810
‫Daha önce de söylediğim gibi, Blueprint sınıfını oluşturacağız.

63
00:04:09,810 --> 00:04:10,950
‫Gördüğünüz gibi, tamamen boş.

64
00:04:10,950 --> 00:04:12,720
‫Varsayılan sahne kökü var.

65
00:04:12,720 --> 00:04:14,490
‫Bunu düzeltmek isteyeceğiz.

66
00:04:14,530 --> 00:04:20,520
‫Yapmak istediğimiz şey aslında C++'da bir bileşen eklemek çünkü bu bir C++ kursu.

67
00:04:20,520 --> 00:04:24,210
‫C++'da bileşen ekleme konusunda pratik yapalım.

68
00:04:24,240 --> 00:04:29,730
‫Bu aynı zamanda, C++ kodumuzun içinden bu bileşenlere erişebileceğimiz ve kodumuzu orada değiştirip yazabileceğimiz

69
00:04:29,730 --> 00:04:30,840
‫anlamına gelir.

70
00:04:30,840 --> 00:04:36,300
‫Şimdi isteyeceğimiz kurulum, sadece bir sahne bileşeni olacak olan bir sahne kök bileşenine ve

71
00:04:36,300 --> 00:04:39,510
‫ardından bunun bir çocuğu olan bir ağa sahip olmaktır.

72
00:04:39,510 --> 00:04:40,290
‫Bunu neden istiyoruz?

73
00:04:40,290 --> 00:04:47,820
‫Çünkü tabancanın köküne göre ağın konumunu değiştirebilmek istiyoruz, böylece kolu temelde farklı

74
00:04:47,820 --> 00:04:52,200
‫ağlar için farklı konumlara yerleştirebiliriz.

75
00:04:52,200 --> 00:04:55,740
‫Dolayısıyla, farklı silahlarımız varsa, hepsinin aynı yerde bu tutamağa sahip olduğundan

76
00:04:55,740 --> 00:05:00,780
‫emin olabiliriz, böylece karakterin eline taktığımızda, karakterin elinde tutamağı ile görünecektir.

77
00:05:01,500 --> 00:05:02,610
‫Peki bunu nasıl yapacağız?

78
00:05:02,610 --> 00:05:08,760
‫Visual Studio kodumuza gideceğiz ve burada, bulacağımız farklı bileşenler için yeni

79
00:05:08,760 --> 00:05:13,290
‫özellikleri depolayacağımız özel bir bölüm oluşturacağım.

80
00:05:13,440 --> 00:05:19,530
‫Bu yüzden, bileşenlerimizin işaretçi oldukları için her yerde görünür olmalarını istediğimiz yeni bir visible anywhere özelliği

81
00:05:19,530 --> 00:05:20,670
‫oluşturacağım.

82
00:05:20,670 --> 00:05:25,110
‫İşaretçileri düzenleyebilmek istemiyoruz, ancak bu işaretçilerin özelliklerini görebilmek ve düzenleyebilmek

83
00:05:25,110 --> 00:05:26,370
‫istiyoruz.

84
00:05:26,570 --> 00:05:30,950
‫Bunlar, daha sonra işaret ettiğimiz sınıfın yetki alanı haline gelir.

85
00:05:30,980 --> 00:05:34,600
‫Bu daha sonra neyin gösterileceğine, neyin düzenlenebileceğine karar verir.

86
00:05:34,610 --> 00:05:38,420
‫Yani burada söylemek istediğimiz tek şey, düzenlenebilir olanın işaretçi olmadığıdır.

87
00:05:38,420 --> 00:05:40,210
‫Zaten bu yüzden görünür olmak için gidiyoruz.

88
00:05:40,640 --> 00:05:41,810
‫Her neyse, orada biraz revizyon var.

89
00:05:41,840 --> 00:05:48,740
‫Şimdi bunun bir siz olmasını istiyoruz çünkü bu bir bileşen, o zaman istediğimiz bir sahne bileşeni.

90
00:05:49,220 --> 00:05:54,770
‫Doğru yazabilirsem, bileşenleri gördüm ve bu ona bir işaretçi ve bu bizim kök

91
00:05:54,770 --> 00:05:56,540
‫bileşenimiz olacak.

92
00:05:57,780 --> 00:06:01,650
‫Bunun gibi ve sonra bir mülk isteyeceğiz.

93
00:06:02,370 --> 00:06:05,790
‫Yine ağımız için her yerde görülebilir.

94
00:06:07,140 --> 00:06:16,260
‫Kafes için sınıf yeni bir statik kafes bileşeni olacak çünkü bu bir iskelet kafesi değil, sert,

95
00:06:16,260 --> 00:06:19,920
‫herhangi bir iskeleti, kemiği yok.

96
00:06:19,920 --> 00:06:24,960
‫Bu yüzden bunun bir işaretçi olmasını isteyin ve bu sadece ağı bu şekilde çağıracak.

97
00:06:25,760 --> 00:06:30,200
‫Aslında, burada biraz dikkatli olmam gerektiğini düşünüyorum çünkü kök bileşenin actor için ana sınıfta

98
00:06:30,200 --> 00:06:31,790
‫zaten var olduğunu düşünüyorum.

99
00:06:31,790 --> 00:06:34,550
‫Onun yerine bu rotayı arayacağım.

100
00:06:35,120 --> 00:06:38,870
‫Ve sonra C++'da zaten bir kurucumuz var.

101
00:06:38,870 --> 00:06:42,400
‫Sadece uygun başlık dosyalarını buraya eklememiz gerekecek.

102
00:06:42,410 --> 00:06:46,220
‫Şimdi, Visual Studio kodundayken küçük bir numara, bir başlık dosyasının nerede olabileceğini bulmaktır.

103
00:06:46,220 --> 00:06:50,840
‫Control P'yi kullanıyorsunuz ve arama yapıyorsunuz.

104
00:06:50,840 --> 00:06:53,120
‫Bu durumda, statik ağı bilmek istiyoruz.

105
00:06:53,120 --> 00:07:01,970
‫Yani statik örgü bileşenleri ve statik örgü bileşenlerinin nokta h olduğunu görebiliriz, eğer devam edip açarsam ve sekmenin

106
00:07:01,970 --> 00:07:07,430
‫üzerine gelirsem, bu uzun yolun altında olduğunu görebilirsiniz.

107
00:07:07,430 --> 00:07:12,410
‫Ancak ilginç olan kısım, sınıfların altında olması ve oradan yukarı bakabilmemiz.

108
00:07:12,410 --> 00:07:15,560
‫Bileşenler, statik ağ bileşeni olacak.

109
00:07:15,560 --> 00:07:21,950
‫Bu sekmeyi kapatabilirim ve dahil ettiğimiz bileşenin hemen üstünde, aslında silahımız için dahil

110
00:07:21,950 --> 00:07:29,210
‫ettiğimiz bileşenin altında, bileşenler ve ardından statik örgü bileşeni için bir karma dahil edeceğiz.

111
00:07:29,510 --> 00:07:35,930
‫Aslında şimdi hatırladım, bir nedenden dolayı sahip olduğumuz kafesler aslında statik kafesler değil.

112
00:07:35,930 --> 00:07:38,120
‫Sanırım iskelet ağları olabilirler.

113
00:07:38,240 --> 00:07:45,020
‫Bunu varlık paketlerine girerek, bir oyun silahı ateşleyerek ve bu önlemlere bakarak öğrenebilirsiniz.

114
00:07:45,020 --> 00:07:48,680
‫Ve yeterince eminim, eğer üzerlerine gelirseniz, iskelet kafesleri olduklarını görebilirsiniz.

115
00:07:48,680 --> 00:07:49,880
‫Bana nedenini sorma.

116
00:07:49,880 --> 00:07:51,920
‫Bazı nedenlerden dolayı öyle.

117
00:07:52,220 --> 00:07:56,810
‫Bu yüzden başlık dosyasında türü iskelet ağ olarak değiştirmek isteyeceğiz.

118
00:07:56,810 --> 00:08:01,550
‫Bu yüzden statik ağ yerine iskelet ağını kullanacağız.

119
00:08:01,550 --> 00:08:06,260
‫Aynı şey iskelet için de geçerli olacak.

120
00:08:07,310 --> 00:08:09,560
‫Hatırlamak istediğimiz ağ bileşenleri.

121
00:08:09,560 --> 00:08:11,450
‫Başlık dosyalarında sen yoksun.

122
00:08:12,390 --> 00:08:15,740
‫Ve sanırım burada zaten varsayılan olarak bulunan bileşenleri görüyorlar.

123
00:08:15,750 --> 00:08:20,300
‫Bu yüzden kendi ağ bileşeninizi eklemek için bir meydan okuma zamanı.

124
00:08:20,310 --> 00:08:27,720
‫Bir kök sahne bileşeni oluşturacağız, bunu kök olarak ayarlayacağız ve sınıf için kök olarak ayarlayacağız ve bir örgü bileşeni

125
00:08:27,720 --> 00:08:33,300
‫oluşturacağız ve ikisi arasındaki bağlantıyı, örgü bileşeni bu kök dikiş bileşeninin bir çocuğu

126
00:08:33,300 --> 00:08:35,880
‫olacak şekilde ayarlayacağız.

127
00:08:35,880 --> 00:08:37,620
‫Videoyu duraklatın ve deneyin.

128
00:08:37,710 --> 00:08:38,820
‫Tamam, tekrar hoş geldin.

129
00:08:38,820 --> 00:08:41,460
‫Şimdi gidip ayarlayacağız.

130
00:08:41,460 --> 00:08:48,510
‫Her şeyden önce, kökümüz, varsayılan alt nesne türü oluşturacak.

131
00:08:48,600 --> 00:08:56,160
‫Bileşenleri gördünüz ve ardından metin makrosuyla birlikte olacak bir ad vereceğiz, buna kök diyeceğiz

132
00:08:56,160 --> 00:08:59,520
‫ve noktalı virgülle bitireceğiz.

133
00:08:59,520 --> 00:09:01,590
‫Sonra bunu kök olarak ayarlayacağız.

134
00:09:01,590 --> 00:09:06,210
‫Bu yüzden kök bileşenleri ayarlamak onu aktör için kök bileşen olarak ayarlayacaktır.

135
00:09:06,210 --> 00:09:08,160
‫Bu yüzden root'u kök bileşen olarak ayarlayın.

136
00:09:08,370 --> 00:09:09,480
‫İyi mal.

137
00:09:09,480 --> 00:09:12,420
‫Sonra ağımızı oluşturmak isteyeceğiz.

138
00:09:12,420 --> 00:09:21,480
‫Yani mesh eşittir varsayılan alt nesne oluştur ve sınıf olarak istediğimiz iskelet mesh bileşenidir ve daha sonra metin

139
00:09:21,480 --> 00:09:28,260
‫makrosu sadece mesh olarak adlandırılacak ve sonuna noktalı virgül eklenecektir.

140
00:09:28,260 --> 00:09:30,090
‫Daha sonra eklentiyi kurmak istiyoruz.

141
00:09:30,090 --> 00:09:34,380
‫Yani örgü ok kurulumu olacak.

142
00:09:35,150 --> 00:09:42,920
‫Eki ayarlayın ve çok havalı şeyler gibi köke eklemek isteyeceğiz, böylece devam edip bunu

143
00:09:42,920 --> 00:09:50,480
‫kaydedebilir ve umarım derleyip oluşturabiliriz ve Unreal'a gidip alt sınıfımıza bir

144
00:09:50,480 --> 00:09:51,740
‫göz atacağız.

145
00:09:51,740 --> 00:09:56,960
‫Ve elbette, burada kendimize ait bir kökümüz var, alt ağımız var, ayrıca etrafta asılı duran bu varsayılan

146
00:09:56,960 --> 00:10:02,540
‫sahne kökümüz var, bence editörü yeniden başlatalım ve bunun ortadan kalkıp kalkmadığını görelim.

147
00:10:02,750 --> 00:10:07,280
‫Bazen bileşen eklerken, bazı şeyler bu şekilde oyalanabilir ve önbelleğe alınabilir.

148
00:10:07,280 --> 00:10:12,500
‫BP tabancasının planlarını tekrar açarsak, sadece bu iki bileşene sahip olduğumuzu görebilirsiniz.

149
00:10:12,500 --> 00:10:18,590
‫Kökü ve ağı ekledik ve muhtemelen devam edip ağı shooter oyununun varlık paketlerindeki iskelet

150
00:10:18,590 --> 00:10:21,710
‫ağlarından biriyle değiştirmek istiyoruz.

151
00:10:21,860 --> 00:10:23,240
‫Tüfeğimiz var, fırlatıcımız var.

152
00:10:23,240 --> 00:10:25,910
‫Tüfek olarak bunu seçeceğim.

153
00:10:25,910 --> 00:10:30,290
‫Yani aslında buna BP silahı demek biraz samimiyetsizlik olur.

154
00:10:30,290 --> 00:10:32,840
‫Bu muhtemelen BP tüfeği olmalı.

155
00:10:32,840 --> 00:10:40,190
‫Şimdi bunu yeniden adlandıralım, içerik tarayıcısına gidelim ve BP Rifle veya BP Gun, alt çizgi tüfek olarak yeniden

156
00:10:40,190 --> 00:10:41,630
‫adlandıralım.

157
00:10:41,630 --> 00:10:43,760
‫Şimdi doğrudan BP tüfeği deyin.

158
00:10:44,330 --> 00:10:44,960
‫Al bakalım.

159
00:10:44,960 --> 00:10:47,660
‫Ve bu bize bir silah verdi.

160
00:10:47,660 --> 00:10:54,410
‫Açıkçası, şimdi bu, C++'da yeni özellikler oluşturarak bu aktöre karşı silahın gücü,

161
00:10:54,410 --> 00:11:00,980
‫menzili ve benzeri gibi her türlü özelliğe sahip olabileceğimiz anlamına geliyor.

162
00:11:00,980 --> 00:11:08,060
‫Bu mimariye sahip olmanın en güçlü yanı da silahların biraz daha farklı olabilmesidir.

163
00:11:08,060 --> 00:11:15,890
‫Tüfeklere karşı keskin nişancılara karşı RPG'lere karşı farklı atış mekaniklerine sahip olabiliriz, bunun gibi şeyler.

164
00:11:15,890 --> 00:11:17,450
‫Yani bu harika.

165
00:11:17,450 --> 00:11:21,980
‫Ayrıca farklı istatistiklere sahip olabiliriz, böylece farklı plan alt sınıflarına bağlı olarak güçlü bir tüfeğe

166
00:11:21,980 --> 00:11:23,720
‫ve zayıf bir tüfeğe sahip olabiliriz.

167
00:11:23,750 --> 00:11:24,380
‫Harika şeyler.

168
00:11:24,380 --> 00:11:30,020
‫Şimdi bir sonraki derste, bu silahı mevcut karakterimizin bir çocuğu olarak nasıl

169
00:11:30,020 --> 00:11:32,660
‫ortaya çıkaracağımıza bakacağız.

170
00:11:32,690 --> 00:11:33,530
‫Orada görüşürüz.

