﻿1
00:00:04,830 --> 00:00:05,820
‫Merhaba ve hoş geldiniz.

2
00:00:05,820 --> 00:00:12,150
‫Bu derste, nesneler hakkında bilgi edineceğiz ve ilginç programlar oluşturmaya başlamak için nesneler ve verileri

3
00:00:12,150 --> 00:00:16,170
‫üzerindeki işlevselliği nasıl kullanabileceğimizi öğreneceğiz.

4
00:00:16,170 --> 00:00:17,700
‫Hadi içeri dalalım.

5
00:00:18,910 --> 00:00:24,430
‫Öyleyse bu derse yeni bir kavramı, nesne kavramını tanıtarak başlayalım.

6
00:00:24,430 --> 00:00:27,670
‫Birçok programlama dili için kesinlikle hayati önem taşır.

7
00:00:27,940 --> 00:00:35,560
‫Yani bir nesne aslında bir şeyi temsil etmek istediğiniz bir şeydir, örneğin bir oyunda bir maceracınız

8
00:00:35,560 --> 00:00:37,120
‫olabilir.

9
00:00:37,120 --> 00:00:46,600
‫O, dünyanızdaki bir nesnedir ve ne olduğunu temsil eden bazı verilere sahip olabilir, örneğin deneyim puanları gibi şeyler

10
00:00:46,600 --> 00:00:51,490
‫veya belki de seviyesi ikinci seviye bir maceracıdır.

11
00:00:51,490 --> 00:00:57,520
‫Bunun gibi şeyler bir maceracıyı oluşturan verilerdir, ancak bir maceracı bundan ibaret değildir.

12
00:00:57,520 --> 00:01:05,050
‫Bir maceracı aynı zamanda ok atabilme, zıplayabilme gibi bazı işlevlere

13
00:01:05,050 --> 00:01:06,670
‫de sahiptir.

14
00:01:07,210 --> 00:01:09,130
‫Nesne olabilecek başka şeyler de vardır.

15
00:01:09,130 --> 00:01:15,310
‫Örneğin, gerçek dünyada, bilgisayarda oyuncu gibi şeyleri temsil edebiliriz ve oyuncuyla

16
00:01:15,310 --> 00:01:21,040
‫ilgili özellikleri saklayabiliriz, örneğin oyuncu bir kontrolör kullanıyor mu, oyuncu

17
00:01:21,400 --> 00:01:23,980
‫bir numara mı yoksa iki numara mı?

18
00:01:24,010 --> 00:01:29,680
‫Bu tür veri parçaları ve mevcut girdilerini almak gibi ilgili işlevler.

19
00:01:29,890 --> 00:01:35,380
‫Örneğin, boşluk çubuğunu basılı tutuyorlar mı, oyuncunun beceri seviyesini alın ve ardından tamamen

20
00:01:35,380 --> 00:01:38,650
‫soyut nesnelere, liste gibi şeylere sahip olabilirsiniz.

21
00:01:38,650 --> 00:01:43,210
‫Yani içinde bir, iki, üç, dört öğe olan bir listeniz olabilir ya da içinde istediğiniz herhangi

22
00:01:43,210 --> 00:01:44,470
‫bir öğe olabilir.

23
00:01:44,470 --> 00:01:50,590
‫Veriler değişebilir, ancak listeden son öğeyi kaldırmak veya listenin sonuna eklemek gibi bazı

24
00:01:50,590 --> 00:01:52,630
‫işlevlere de sahip olabilir.

25
00:01:52,630 --> 00:01:55,180
‫Yani nesnelerin çok ama çok esnek olduğunu görebilirsiniz.

26
00:01:55,180 --> 00:01:58,660
‫Sayısız farklı şeyi temsil etmek için kullanılabilirler.

27
00:01:58,660 --> 00:02:05,260
‫Ve bu nesnelerin altındaki işlevselliğin aslında bu düğümlerin ne olduğunu veya Blueprint'teki

28
00:02:05,260 --> 00:02:08,410
‫birçok düğümün ne olduğunu fark edeceksiniz.

29
00:02:08,410 --> 00:02:15,100
‫Böylece nesneler ve işlevsellik arasında biraz eşleme yapmaya başlarlar.

30
00:02:15,490 --> 00:02:15,760
‫Tamam.

31
00:02:15,760 --> 00:02:17,950
‫Bu yüzden orada bir dizi yeni kavram tanıttık.

32
00:02:17,950 --> 00:02:19,810
‫Biraz özet geçelim.

33
00:02:19,810 --> 00:02:24,550
‫Nesnelerin veri ve işlevsellik koleksiyonları olduğunu söylemiştik.

34
00:02:24,940 --> 00:02:28,930
‫Fark etmemiş olabileceğimiz şey, aktörlerin aslında birer nesne olduğudur.

35
00:02:28,930 --> 00:02:31,930
‫Aktörler bir seviyeye girebilen nesnelerdir.

36
00:02:31,930 --> 00:02:36,790
‫Seviyenize girip küpü seçerseniz, ayrıntılar bölmesinde bir

37
00:02:36,790 --> 00:02:39,820
‫sürü veri olduğunu görebilirsiniz.

38
00:02:39,820 --> 00:02:45,370
‫Ve birazdan göreceğimiz gibi, blueprint'teki düğüm formunda da bir sürü işlevsellik var.

39
00:02:46,090 --> 00:02:47,380
‫Bir de bileşenler var.

40
00:02:47,380 --> 00:02:50,800
‫Daha önce ayrıntılarına girmediğimiz bileşenler işte burada.

41
00:02:51,070 --> 00:02:57,040
‫Bunlar bir aktörün üzerinde gidebilen nesnelerdir, oysa aktörler seviyeye, bileşenler ise aktörün kendisine

42
00:02:57,040 --> 00:02:57,610
‫gider.

43
00:02:57,610 --> 00:03:04,180
‫Küp seçiliyken, ayrıntılar bölmesinin üst kısmında bu statik ağ bileşeninin olduğunu görebilirsiniz.

44
00:03:04,540 --> 00:03:11,080
‫Gerçekten buna tıklarsanız, ayrıntılar bölmesinin kısıtlı bir dizi ayrıntı aldığını göreceksiniz.

45
00:03:11,080 --> 00:03:19,240
‫Size Küp aktöründe mevcut olan tüm özellikleri değil, yalnızca statik örgü bileşenine ait olan özelliklerin

46
00:03:19,240 --> 00:03:25,840
‫alt kümesini gösterir; bu bileşen temelde bize bir küpün nasıl çizileceğini söylemekten

47
00:03:25,840 --> 00:03:28,090
‫sorumludur.

48
00:03:28,360 --> 00:03:34,330
‫Şimdi, bu nesneler genellikle bundan çok daha fazla veriye sahip olabilir ve bu, bilgisayarınız tarafından manipüle edilmeleri

49
00:03:34,330 --> 00:03:40,600
‫ve özellikle de bu nesneleri etrafta kopyalaması gerektiğinde oldukça ağır hale gelebilecekleri anlamına gelir.

50
00:03:40,720 --> 00:03:47,080
‫Bunu yapmak yerine, referans adı verilen ve aslında sadece bir adres olan akıllı bir yapı kullanırız

51
00:03:47,080 --> 00:03:53,860
‫veya bu nesneyi bilgisayarın belleğinde bulmak için nereye gideceğim, böylece nesneyi sürekli hareket

52
00:03:53,860 --> 00:03:55,690
‫ettirmek zorunda kalmam?

53
00:03:55,690 --> 00:04:01,810
‫C++'a geldiğimizde bunun bellekte nasıl çalıştığını biraz daha ele alacağız, ancak şimdilik bunun sadece

54
00:04:01,810 --> 00:04:04,150
‫bir adres olduğunu bilmek yeterli.

55
00:04:04,720 --> 00:04:09,730
‫Peki ne yapabiliriz, örneğin, Unreal'e dalalım.

56
00:04:09,730 --> 00:04:17,110
‫Ana seviyemizde olsaydık ve küpümüzde bazı işlevler kullanmak isteseydik, o zaman yapabileceğim şey sahnede

57
00:04:17,110 --> 00:04:22,300
‫küpü seçmek ve ardından seviye planıma gidip sağ tıklamak ve ardından Küp için

58
00:04:22,300 --> 00:04:27,790
‫bir referans oluştur'a tıklamak ve bu yeni bir düğüm oluşturmaktır.

59
00:04:27,850 --> 00:04:29,230
‫Şimdi bu ne yapıyor?

60
00:04:29,230 --> 00:04:33,010
‫Bu bize temel olarak buranın Cube'un adresi olduğunu söylüyor.

61
00:04:33,010 --> 00:04:35,980
‫Küple bir şey yapmak istiyorsanız, onu bulacağınız yer burasıdır.

62
00:04:36,220 --> 00:04:41,260
‫Oyunu çalıştırdığınızda Blueprint'te olan şey, gidip o küpü bulmasıdır.

63
00:04:41,260 --> 00:04:47,110
‫Ve sonra sorular sorabilir veya küp üzerindeki işlevselliği kullanabilirsiniz, örneğin, Hey, statik örgü

64
00:04:47,110 --> 00:04:48,760
‫bileşeniniz nerede yaşıyor?

65
00:04:48,760 --> 00:04:51,280
‫Ve şöyle diyor: Tamam, statik ağ bileşenleri şurada.

66
00:04:51,280 --> 00:04:56,530
‫Böylece gidip statik ağ bileşenini buluyoruz ve sonra ona sorular sorabiliyoruz ve o da bize "Hey, adın ne?"

67
00:04:56,530 --> 00:04:57,370
‫diyebiliyor.

68
00:04:57,370 --> 00:04:58,600
‫Statik ağ bileşeni.

69
00:04:58,600 --> 00:05:01,540
‫Ve statik ağ bileşeni şöyle diyebilir: Hey, benim adım Bob.

70
00:05:01,540 --> 00:05:07,720
‫İşte bu şekilde, gitmek istediğimiz yere ulaşmak için bu referansları ve birden fazla farklı nesnenin işlevselliğini

71
00:05:07,720 --> 00:05:09,610
‫kullanabiliriz.

72
00:05:09,610 --> 00:05:16,000
‫Bir referansın bir nesnenin bulunacağı yer olduğunu söyledik ve şimdi de dikkat çekilmesi gereken başka

73
00:05:16,000 --> 00:05:17,770
‫bir şey de bir veri iğnesi.

74
00:05:17,770 --> 00:05:18,250
‫Nedir bu?

75
00:05:18,590 --> 00:05:21,320
‫Pinn Bu küp referansında aslında bir tane var.

76
00:05:21,320 --> 00:05:26,650
‫Sağ tarafındaki bu küçük mavi yuvarlak şey bir veri pimidir.

77
00:05:26,660 --> 00:05:30,530
‫Aslında bunları daha önce sol taraftaki baskı dizisi düğümlerinde görmüştük ve mor

78
00:05:30,530 --> 00:05:31,220
‫renkteler.

79
00:05:31,370 --> 00:05:37,430
‫Peki bunların gördüğümüz diğer iğne türlerinden, bu beyaz iğnelerden farkı nedir?

80
00:05:37,580 --> 00:05:42,680
‫Veri pini, bir düğüm için veri girişi veya çıkışıdır.

81
00:05:42,680 --> 00:05:47,840
‫Yani bir düğüm, sol taraftaysa, girdidir, düğümün çalışabileceği veridir.

82
00:05:47,870 --> 00:05:52,100
‫Sağ taraftaysa, Node'un ürettiği verilerdir.

83
00:05:52,100 --> 00:06:00,650
‫Yani küp durumunda, bu düğüm küp aktörüne bir referans üretir, ardından yürütme pimleri.

84
00:06:00,650 --> 00:06:06,530
‫Bunlar aslında veri pinlerinden ayırt etmek için beyaz pinler olarak adlandırılır ve

85
00:06:06,530 --> 00:06:09,710
‫düğümü çalıştırmak için hala kullanılırlar.

86
00:06:09,710 --> 00:06:12,440
‫Yani veri pinleri düğümün ne ile çalıştırılacağıdır.

87
00:06:12,440 --> 00:06:14,840
‫Yürütme pimleri ne zaman çalıştırılacağıdır.

88
00:06:14,840 --> 00:06:21,470
‫Tüm bu bilgilerle birlikte, bu nesnelerin işlevselliğini biraz kullanalım.

89
00:06:21,470 --> 00:06:23,360
‫Böylece küp referansımızı elde ettik.

90
00:06:23,360 --> 00:06:30,290
‫Küp referans piminden sürüklersek, küpün sahip olduğu tüm işlevleri kullanabilirsiniz.

91
00:06:30,290 --> 00:06:36,290
‫Dediğim gibi, küp üzerinde statik örgü bileşeni adında bir bileşenimiz var ve devam edip buna

92
00:06:36,290 --> 00:06:38,390
‫bir referans almak istiyorum.

93
00:06:38,390 --> 00:06:47,030
‫Bu yüzden get static mesh component'e bakacağız ve benim için en alttaki öğe get static mesh component.

94
00:06:47,030 --> 00:06:48,050
‫Ona tıklayabilirim.

95
00:06:48,050 --> 00:06:55,460
‫Girdisi bir küp referansı olan ve çıktısı statik ağ bileşenine bir referans olan yeni bir düğüm

96
00:06:55,460 --> 00:06:56,480
‫elde ederiz.

97
00:06:56,480 --> 00:07:01,700
‫Dolayısıyla, bundan sürüklersek, get display name gibi statik örgü bileşenlerinin

98
00:07:01,700 --> 00:07:11,330
‫işlevselliğini isteyebiliriz ve bu bize statik örgü bileşeni referansının girdisini alır ve get display name işlevselliğini kullanır

99
00:07:11,330 --> 00:07:20,330
‫ve ardından print string düğümünü kullanarak yazdırabileceğimiz bir dize veya metin değeri döndürür.

100
00:07:20,330 --> 00:07:26,270
‫Bu nedenle, bunun üzerinden sürükleyip print string yazabilir ve ardından yürütme düğümlerini bağlayabiliriz,

101
00:07:26,270 --> 00:07:30,680
‫böylece bu, oynatmaya başlarken diğer iki print string'den sonra çalışır.

102
00:07:31,010 --> 00:07:33,710
‫Bu düğümlerden bazılarının yürütme pinlerine sahip olmadığını fark edeceksiniz.

103
00:07:33,710 --> 00:07:34,730
‫Bu kafa karıştırıcı olabilir.

104
00:07:34,730 --> 00:07:35,870
‫Ne zaman çalıştırılacaklar?

105
00:07:35,870 --> 00:07:42,500
‫Planlar ne zaman uygun olduğunu düşünürse, esasen bir yürütme pinine sahip bir düğüm tarafından ihtiyaç

106
00:07:42,500 --> 00:07:45,050
‫duyulduğunda çalıştırılırlar.

107
00:07:45,050 --> 00:07:50,090
‫Devam edip oynat düğmesine basarsak, küp statik örgü bileşeni sıfır veya buna benzer bir adla açıldığını

108
00:07:50,090 --> 00:07:51,170
‫görebilirsiniz.

109
00:07:51,170 --> 00:07:52,400
‫Bu biraz programlama ağacı.

110
00:07:52,430 --> 00:07:56,210
‫Değil, Bob değil. Bundan biraz daha karmaşık.

111
00:07:56,210 --> 00:08:02,240
‫Ancak slaytımda yer verdiğim soru zincirini esasen kodladığımızı görebilirsiniz.

112
00:08:02,390 --> 00:08:09,200
‫Bu yüzden sizi statik örgü bileşenimizin kütlesini bulmaya davet ediyorum.

113
00:08:09,200 --> 00:08:11,270
‫Geçmişte yapılandırmıştık.

114
00:08:11,270 --> 00:08:15,950
‫Seviyeye girip ayrıntılar bölmesine bakarsanız, fizik özelliklerinden birinin kütle olduğunu

115
00:08:15,950 --> 00:08:20,540
‫ve bunu statik örgü bileşeninde bir veri parçası olarak yapılandırdığımızı görebilirsiniz.

116
00:08:20,660 --> 00:08:26,540
‫Eğer get display name düğümünü silerseniz ve statik örgü bileşenini sürüklerseniz, get mass

117
00:08:26,540 --> 00:08:33,470
‫için arama yapabilmelisiniz ve bu size statik örgü bileşenindeki veri parçasını getirmeli ve print string düğümü

118
00:08:33,470 --> 00:08:39,920
‫duraklatma videomuzu kullanarak bu değeri yazdırıp yazdıramayacağınızı görmelisiniz.

119
00:08:43,330 --> 00:08:43,930
‫Tamam.

120
00:08:43,930 --> 00:08:44,800
‫Tekrar hoş geldiniz.

121
00:08:44,830 --> 00:08:51,640
‫Dolayısıyla, plana geri dönersek, görünen adımızı silmemiz, statik ağ bileşenini sürüklememiz ve kütle al seçeneğini

122
00:08:51,640 --> 00:08:53,680
‫aramamız yeterlidir.

123
00:08:53,890 --> 00:08:55,990
‫Sonra o düğümü çekebiliriz.

124
00:08:55,990 --> 00:09:00,640
‫Burada bir dönüş değerimiz var ve bu bizim kütle değerimiz olacak.

125
00:09:00,640 --> 00:09:05,350
‫Üzerine geldiğinizde, bu bileşenin kütlesini kilogram cinsinden verdiğini görebilirsiniz.

126
00:09:05,350 --> 00:09:08,470
‫Ve bu arada, geri dönüş değeri sadece çıktı verisi anlamına gelir.

127
00:09:08,530 --> 00:09:14,590
‫Ve sonra bu düğümü yazdırma dizesi için giriş dizemize sürükleyebiliriz.

128
00:09:14,590 --> 00:09:17,800
‫Ve bunun küçük bir dönüşüm düğümü yarattığını görüyorsunuz.

129
00:09:17,800 --> 00:09:22,900
‫Bu değer ne olursa olsun, yazdırma dizesinin kabul edeceği bir değere dönüştürülür.

130
00:09:22,900 --> 00:09:29,050
‫Devam edip oynat düğmesine basabiliriz ve 1000 değerini elde ettiğimizi görürsünüz; bu değerin yapılandırdığımız kütle ya da gerçekte yapılandırdığınız

131
00:09:29,050 --> 00:09:30,970
‫şey olduğunu biliyoruz.

132
00:09:30,970 --> 00:09:34,810
‫Bunu değiştirebilir ve bu değerin de değişeceğini görebilirsiniz.

133
00:09:34,810 --> 00:09:36,220
‫Bu ders için bu kadar.

134
00:09:36,220 --> 00:09:43,090
‫Nesneler ve referansları hakkında bilgi edindik ve blueprint'te işlevsellik düğümlerini nasıl kullanacağımızı öğrendik.

