﻿1
00:00:04,590 --> 00:00:05,580
‫Merhaba ve hoş geldiniz.

2
00:00:05,580 --> 00:00:12,240
‫Bu derste, kör alanımızın açısını belirleyecek ve bunu oyunumuza bağlayacağız.

3
00:00:12,240 --> 00:00:17,550
‫Ve bu süreçte çok fazla matematik, çok fazla dönüşüm ve vektör öğrenmemiz gerekecek.

4
00:00:17,550 --> 00:00:20,610
‫Şimdi bu işin nasıl yürüdüğünü anlamaya çalışalım.

5
00:00:22,870 --> 00:00:27,280
‫Bu yüzden hareket etmemiz gereken açıyı elde edebilmek istiyoruz.

6
00:00:27,730 --> 00:00:34,690
‫Ancak bunu yapmadan önce biraz matematik yapmamız gerekiyor çünkü oyuncuya yerel olan bu açıyı nasıl

7
00:00:34,690 --> 00:00:38,020
‫elde edebileceğimizi anlamak istiyoruz.

8
00:00:38,440 --> 00:00:45,070
‫Yerel ve küresel derken neyi kastettiğimi ve bunu küresel bir hızdan nasıl elde edebileceğimizi ve bu terimlerin ne anlama

9
00:00:45,070 --> 00:00:46,870
‫geldiğini açıklayacağım.

10
00:00:47,080 --> 00:00:48,070
‫Bir bakalım.

11
00:00:48,070 --> 00:00:53,770
‫Her şeyden önce, dönüşümler ve dönüşümlerin ne olduğu konusunda biraz temel bir başlangıç yapmamız gerekiyor,

12
00:00:53,770 --> 00:00:56,560
‫bunları daha önce gördük ya da siz biraz gördünüz.

13
00:00:56,710 --> 00:01:00,850
‫Sahne bileşenlerinden herhangi birine baktığınızda, hiyerarşide bunlar vardır.

14
00:01:01,270 --> 00:01:02,890
‫Burada bir dönüşüm geçirdiklerini görebilirsiniz.

15
00:01:02,890 --> 00:01:07,660
‫Yani konum, döndürme, ölçek özellikleri, temelde bir dönüşümün ne olduğu.

16
00:01:08,050 --> 00:01:13,000
‫Ancak burada göremediğiniz bir şey, bu dönüşümün bir parçasının da aynı bileşenlerin

17
00:01:13,000 --> 00:01:19,450
‫bir hiyerarşi içinde olması, yani dönüştürücülerinin de bir ebeveyni olması veya bilirsiniz, temelde hiyerarşik

18
00:01:19,660 --> 00:01:21,010
‫olmasıdır.

19
00:01:21,460 --> 00:01:23,380
‫Peki bu nasıl oluyor?

20
00:01:23,380 --> 00:01:26,440
‫İşte size bir tür oyuncak örneği.

21
00:01:26,440 --> 00:01:31,030
‫Burada üssümüz olduğunu söylediğimiz bir küpümüz var, dünyamızın merkezi gibi bir şey.

22
00:01:31,450 --> 00:01:33,730
‫Yani bu bizim dünya alanımız olacak.

23
00:01:33,940 --> 00:01:39,910
‫Burada küçük gülen suratlı bir karakterimiz var ve ana üssüne göre dünyada

24
00:01:39,910 --> 00:01:41,590
‫bir konumu var.

25
00:01:42,040 --> 00:01:47,710
‫Ve sonra bu karakterin bir silahı var ve silahın karaktere göre bir konumu var.

26
00:01:47,710 --> 00:01:53,800
‫Yani bu hiyerarşinin işleyiş şekli, silahın ebeveyninin karakter, ebeveynin ya da karakterin

27
00:01:53,800 --> 00:01:56,620
‫ana üssü ya da dünya olmasıdır.

28
00:01:57,610 --> 00:02:01,780
‫Ve sonra bunların içinde bazı yerel koordinat sistemlerimiz var.

29
00:02:01,780 --> 00:02:06,610
‫Yani dünyanın koordinat sistemi, dünya sistemi, küresel sistemdir.

30
00:02:06,970 --> 00:02:12,430
‫Daha sonra karakterimizin koordinatları onun konumuna göre yerel olur.

31
00:02:12,430 --> 00:02:15,910
‫Yani silah karakterine göre konumlandırılmıştır.

32
00:02:15,910 --> 00:02:16,870
‫Bu ne anlama geliyor?

33
00:02:16,870 --> 00:02:22,720
‫Bu, karakter küçük bir kaçamak yapmaya karar verirse, silahın da onunla birlikte hareket edeceği

34
00:02:22,720 --> 00:02:28,120
‫anlamına gelir, çünkü silahın karaktere göre konumu aynı kalmıştır, ancak karakter hareket

35
00:02:28,120 --> 00:02:31,120
‫ettiği için dünyadaki konumu da değişmiştir.

36
00:02:31,810 --> 00:02:33,790
‫Aynı şey rotasyonda da olur.

37
00:02:33,790 --> 00:02:37,690
‫Karakter arkasını dönerse, silah da arkasını dönmelidir.

38
00:02:38,170 --> 00:02:42,340
‫Transformers'ın çalışma şekli de aslında bu şekilde ölçeklendirilmiştir, ancak biz ölçeğe bakmayacağız.

39
00:02:42,340 --> 00:02:46,870
‫Aynı şey, ama bu sadece işleri karmaşıklaştırıyor ve bunu yapmamıza gerek yok.

40
00:02:46,870 --> 00:02:47,560
‫Şuna bir bak.

41
00:02:47,560 --> 00:02:49,000
‫Bizimle bir ilgisi yok.

42
00:02:49,870 --> 00:02:52,300
‫Şimdi buna bir göz atalım, farklı bir gözle bakalım.

43
00:02:52,300 --> 00:02:54,730
‫Küresel alanımız ve yerel alanımız var.

44
00:02:54,730 --> 00:03:03,160
‫Yani küresel alanda üs dünyanın merkezindedir ve karakter sağa doğru gitmiştir.

45
00:03:03,460 --> 00:03:07,000
‫Öte yandan yerel alan, olayları tam tersi bir ışık altında görür.

46
00:03:07,000 --> 00:03:14,740
‫Karakterin dünyanın merkezi olduğunu ve tabanın sola doğru gittiğini geriye doğru gittiğini söylüyor.

47
00:03:14,740 --> 00:03:17,260
‫Bilirsiniz, küresel ve yerel arasındaki fark budur.

48
00:03:17,260 --> 00:03:19,240
‫Her şey sizin bakış açınıza bağlı.

49
00:03:19,240 --> 00:03:20,590
‫Her şey görecelidir.

50
00:03:20,590 --> 00:03:29,290
‫Yani küresel ve yerel alan arasında dönüşümden bahsederken kastettiğimiz şey bu ve biz hangisiyle ilgileniyoruz?

51
00:03:29,290 --> 00:03:35,020
‫Açımız için, oyuncunun baktığı yere göre yerel bir açıyla ilgileniyoruz.

52
00:03:35,020 --> 00:03:38,770
‫Diyoruz ki, bilirsiniz, sağa doğru ilerliyor muyuz?

53
00:03:38,770 --> 00:03:42,190
‫Küresel olarak değil ama yerel olarak bunu söylüyoruz.

54
00:03:42,190 --> 00:03:45,340
‫Oyuncumuz için yerel olarak doğru yere mi gidiyoruz?

55
00:03:45,340 --> 00:03:50,530
‫Çünkü oyuncularımız 180 derece döndüyse, sırf döndü diye sol animasyon

56
00:03:50,530 --> 00:03:51,550
‫oynamamalı.

57
00:03:51,970 --> 00:03:59,320
‫Dolayısıyla, bir diğer önemli ayrım, farklı türdeki vektörler için nasıl dönüşümler yaptığımızdır.

58
00:03:59,770 --> 00:04:04,390
‫Bakmak istediğim ilk örnek bir konum vektörü.

59
00:04:04,600 --> 00:04:13,090
‫Yani bir konum vektörü temel olarak bize mevcut konum veya koordinat sistemimizdeki sıfır noktası arasındaki farkı

60
00:04:13,210 --> 00:04:19,750
‫veren bir vektördür, ki bu karaktere odaklandığımızda karakterin kendisidir ve sonra

61
00:04:19,750 --> 00:04:24,850
‫bize bir şeyin nerede olması gerektiğini gösteren bir ok verir.

62
00:04:24,850 --> 00:04:28,600
‫Yani bu durumda, silahın konum vektörüdür.

63
00:04:28,870 --> 00:04:34,180
‫Şimdi, bunu dünya uzayımıza dönüştürürsek, şöyle bir şey olur.

64
00:04:34,180 --> 00:04:40,570
‫Ok şimdi yeni dünyamızın, küresel alanın merkezinden çıkıyor ve silahı gösteriyor.

65
00:04:41,050 --> 00:04:45,100
‫Yani bir konum vektörünü dönüştürürseniz böyle olur.

66
00:04:45,310 --> 00:04:49,480
‫Şimdi, bir yön vektörü yaparsanız, işler biraz farklı görünür.

67
00:04:49,480 --> 00:04:57,460
‫Bir yön vektörü, bir şeyin nerede olduğunu değil, bu şekilde işaret etmem gerektiğini söyleyen bir vektördür

68
00:04:58,060 --> 00:05:06,340
‫ve bu oldukça farklı bir şekilde dönüşür çünkü artık aynı konumu işaret etmesiyle ilgilenmiyoruz.

69
00:05:06,340 --> 00:05:10,060
‫Yani o pozisyon gerçekten güncellenmiyor.

70
00:05:10,060 --> 00:05:18,220
‫Bunun yerine bir vektör döndürülür ve ölçeklendirilir ya da her neyse ve sonunda biraz buna benzer bir görünüm

71
00:05:18,220 --> 00:05:19,360
‫elde ederiz.

72
00:05:19,690 --> 00:05:21,730
‫Yani bu aslında bir tür dönüşüm.

73
00:05:21,770 --> 00:05:27,470
‫Yapmak istediğimiz ulus, çünkü bir konum vektöründen ziyade bir yön vektörü olan bir hız ile uğraşıyoruz

74
00:05:27,470 --> 00:05:31,400
‫veya hız bize nerede olmamız gerektiği hakkında hiçbir şey söylemiyor.

75
00:05:31,400 --> 00:05:36,740
‫Bize hangi yöne gitmemiz gerektiğini ve bu yönde ne kadar hızlı ilerlememiz gerektiğini söyler.

76
00:05:38,540 --> 00:05:45,320
‫Bu teoriyi aradan çıkardıktan sonra, devam edelim ve bu hızdan yönümüzü hesaplayalım.

77
00:05:45,320 --> 00:05:52,110
‫Yani hızın küresel uzayda olduğunu biliyoruz ve bunu yerel uzaya dönüştürmek istiyoruz.

78
00:05:52,130 --> 00:05:58,010
‫Şimdi bu, genel olarak konuşursak, her zaman işleri tersinden yapmaya çalıştığımız anlamına geliyor, çünkü genellikle

79
00:05:58,010 --> 00:06:02,870
‫diyoruz ki, bir pozisyonumuz var, bir silahın yerel pozisyonu, yerel dönüşüm.

80
00:06:02,870 --> 00:06:10,220
‫Dünya uzayında ne olduğunu bulmak istiyoruz, böylece onu diğer her şeye göre oluşturabiliriz.

81
00:06:10,430 --> 00:06:12,650
‫Şimdi, burada yapmaya çalıştığımız şey bu değil.

82
00:06:12,650 --> 00:06:13,880
‫Biz tam tersini yapmaya çalışıyoruz.

83
00:06:13,880 --> 00:06:17,330
‫Yani aslında istediğimiz şey ters dönüşüm olarak adlandırılır.

84
00:06:17,330 --> 00:06:20,090
‫Dönüşüm yerelden küresele doğru bu şekilde ilerler.

85
00:06:20,120 --> 00:06:23,090
‫Ters dönüşüm küreselden yerele gider.

86
00:06:23,600 --> 00:06:27,980
‫Bu küresel hıza sahip olduğumuz için, ters dönüşüm yapmak istiyoruz.

87
00:06:27,980 --> 00:06:32,270
‫O halde buradan çıkalım ve ters dönüşümü arayalım.

88
00:06:32,270 --> 00:06:34,880
‫Ve bu iki seçeneğimiz olduğunu görebilirsiniz.

89
00:06:34,880 --> 00:06:36,830
‫Bu matrisler umurumuzda değil.

90
00:06:36,830 --> 00:06:39,980
‫Yön ve konum için iki seçeneğimiz var.

91
00:06:39,980 --> 00:06:45,050
‫Ve dediğim gibi, aradaki fark, bir konumun bu konumu hareket ettirecek olmasıdır.

92
00:06:45,050 --> 00:06:49,610
‫Yön sadece döndürmeyi ve ölçeklendirmeyi uygulayacaktır.

93
00:06:49,610 --> 00:06:51,200
‫Bu yüzden yönlendirme istiyoruz.

94
00:06:51,870 --> 00:06:54,030
‫Döndürmek için bir dönüşüme ihtiyacımız var.

95
00:06:54,030 --> 00:06:57,900
‫Bu dönüşümü piyonun kendisinden, karakterden almamız gerekecek.

96
00:06:57,900 --> 00:07:00,000
‫Bu nerede? Dünyanın neresinde?

97
00:07:00,120 --> 00:07:05,040
‫Öyleyse devam edelim ve -- sahibini yakalayalım ve dönüşümü arayalım.

98
00:07:06,120 --> 00:07:08,070
‫Özellik get actor transform.

99
00:07:08,070 --> 00:07:09,090
‫Bu o olmalı.

100
00:07:09,270 --> 00:07:16,440
‫Bunu ters dönüşüm yönümüze aktaracağız ve buradan kendimize yeni bir vektör elde edeceğiz.

101
00:07:17,790 --> 00:07:22,110
‫Dolayısıyla bir sonraki adım bu vektörün rotasyonunu elde etmek olacaktır.

102
00:07:22,110 --> 00:07:25,420
‫Bu yüzden rotasyona bakacağız.

103
00:07:25,440 --> 00:07:27,030
‫Bakalım ne bulabileceğiz.

104
00:07:27,330 --> 00:07:31,530
‫Bakma rotasyonunu bulmalıyız, eksenlerden kotanjanta rotasyon yapmalıyız.

105
00:07:31,560 --> 00:07:35,340
‫Şimdi, X vektöründen döndürmeye bir göz atalım.

106
00:07:36,340 --> 00:07:42,670
‫Buradaki belgeleri okursanız, bu vektörden sizin ve eğiminizi ayarlayacağını ancak rolü ayarlamayacağını çünkü

107
00:07:42,670 --> 00:07:45,790
‫bu bilgiyi bir vektörden alamayacağını söylüyor.

108
00:07:45,820 --> 00:07:46,590
‫Sorun değil.

109
00:07:46,600 --> 00:07:48,700
‫Bu davadaki rolü umursamıyoruz.

110
00:07:48,700 --> 00:07:53,200
‫Tek önemsediğimiz şey kullanıcı çünkü ne kadar sağa veya sola döndüğümüzü görmek istiyoruz.

111
00:07:53,200 --> 00:07:59,080
‫Bu yüzden X vektöründen döndürme, istediğimiz şey bize bir döndürücü döndürecektir.

112
00:07:59,500 --> 00:08:05,980
‫Ve bu döndürücüden sadece kullanıcıyı almak için, pime sağ tıklayıp split struct pin'e

113
00:08:05,980 --> 00:08:10,870
‫basacağız, bu da ilerleyip bu yapıyı roll pitch'e bölecektir.

114
00:08:10,870 --> 00:08:12,750
‫Ve bunu bir vektör üzerinde de yapabilirsiniz.

115
00:08:12,760 --> 00:08:18,220
‫Bu arada, sanırım sağ tıklayıp görebilirsiniz, sanırım bunu yapmak için bağlantıyı kırmam gerekecek.

116
00:08:18,220 --> 00:08:19,150
‫O yüzden sana göstermeyeceğim.

117
00:08:19,510 --> 00:08:23,200
‫Ancak temel olarak burada bir kullanıcımız var ve ayarlamak istediğimiz şey de bu.

118
00:08:23,200 --> 00:08:28,090
‫Bu yüzden yine birçok zorluk, kullanıcıyı açı olarak ayarlar ve test eder.

119
00:08:28,920 --> 00:08:36,240
‫Bu nedenle, yine mini meydan okuma, harman alanına giren yıllık bir değişken olacak şekilde yılı ayarlayın ve bunu test edin, oyunda

120
00:08:36,240 --> 00:08:40,080
‫deneyin ve başarılı bir şekilde koşup koşamayacağınızı görün.

121
00:08:41,250 --> 00:08:41,430
‫Tamam.

122
00:08:41,430 --> 00:08:41,900
‫Tekrar hoş geldiniz.

123
00:08:41,910 --> 00:08:48,750
‫Bu yüzden tekrar açıyı sürükleyeceğiz, değişken ayarlı açı, açıyı sapmadan ayarlayacağız ve yürütme

124
00:08:48,750 --> 00:08:51,540
‫pimini hızın sonundan alacağız.

125
00:08:51,900 --> 00:08:56,820
‫Bunu derleyip kaydedeceğim ve kum havuzuna gidip oynat düğmesine basacağız.

126
00:08:58,160 --> 00:08:59,780
‫Şimdi de hareket etmeyi deneyelim.

127
00:08:59,780 --> 00:09:05,270
‫Farklı eğimleri ve nüansları test edebilmeniz için bir kontrolör ideal olacaktır.

128
00:09:05,270 --> 00:09:10,280
‫Ve emin olun, şimdi hareket etmeye başladığımda görebilirsiniz, geriye doğru hareket edebiliyorum, ileriye

129
00:09:10,280 --> 00:09:14,840
‫doğru hareket edebiliyorum, sprint atabiliyorum, yanlara ve 45 derece dönebiliyorum.

130
00:09:14,840 --> 00:09:20,510
‫Tüm bunlar, açımızı hesaplamak için hesapladığımız matematiğe dayalı olarak çalışır.

131
00:09:21,640 --> 00:09:22,120
‫Harika bir şey.

132
00:09:22,120 --> 00:09:28,930
‫Böylece dönüşümler ve vektörler hakkında çok şey öğrendik ve hem ters hem de ileri dönüşümle vektörleri nasıl dönüştürebileceğimizi

133
00:09:28,930 --> 00:09:30,400
‫öğrendik.

134
00:09:30,490 --> 00:09:36,680
‫Bir sonraki derste, burada gördüğümüz ayak kaymasını düzeltmeye bakacağız.

135
00:09:36,700 --> 00:09:37,690
‫Orada görüşürüz.

