﻿1
00:00:04,080 --> 00:00:05,890
‫Merhaba ve tekrar hoş geldiniz.

2
00:00:05,910 --> 00:00:11,990
‫Şimdi tankımızı ileri ve geri hareket ettiriyoruz, ancak tankı gerçekten yönlendirmenin bir yolu yok.

3
00:00:12,000 --> 00:00:18,260
‫Bu videoda, yerel rotasyon adı verilen bir şey kullanarak tankı gerçekten döndürme üzerinde çalışacağız.

4
00:00:18,270 --> 00:00:23,040
‫Bu, aktör yerel ofseti eklemenin rotasyonel analogudur.

5
00:00:23,070 --> 00:00:29,850
‫Şimdi aktör yerel ofsetinin birden fazla giriş parametresi vardı ve diğer üçü isteğe bağlı olduğu için yalnızca

6
00:00:29,850 --> 00:00:31,470
‫ilkini geçirdik.

7
00:00:31,650 --> 00:00:35,010
‫Ancak diğer üçünden biri süpürmeyle ilgiliydi.

8
00:00:35,010 --> 00:00:41,190
‫Rotasyon uygulamasına devam etmeden önce süpürme hakkında biraz tartışacağız.

9
00:00:41,190 --> 00:00:45,660
‫Bu yüzden ADD Actor Local Offset için belgelere geri döndüm.

10
00:00:45,660 --> 00:00:48,720
‫Şimdi bu giriş parametrelerine bir kez daha göz atalım.

11
00:00:48,750 --> 00:00:52,770
‫İkincisi B Sweep olarak adlandırılır ve bir Boolean'dır.

12
00:00:53,160 --> 00:00:59,790
‫Şimdi, biraz daha aşağı kaydırır ve B süpürme için buradaki bilgileri okursak, yol boyunca çakışmaları

13
00:00:59,790 --> 00:01:07,140
‫tetikleyerek ve bir şey tarafından engellenirse hedefin yakınında durarak hedef konuma süpürüp süpürmeyeceğimizi

14
00:01:07,140 --> 00:01:08,820
‫söylüyor.

15
00:01:09,180 --> 00:01:14,790
‫Ayrıca, yalnızca kök bileşenin süpürüldüğünü ve çarpışmayı engelleme açısından kontrol edildiğini de belirtmektedir.

16
00:01:14,790 --> 00:01:17,430
‫Çocuk bileşenler süpürülmeden hareket eder.

17
00:01:17,700 --> 00:01:20,820
‫Çarpışma kapalıysa, bunun bir etkisi yoktur.

18
00:01:21,060 --> 00:01:28,440
‫Şimdi bunun oyun programlamada ne anlama geldiğinden bahsedelim, süpürme etkinleştirildiği sürece süpürme motor tarafından

19
00:01:28,440 --> 00:01:30,390
‫yapılan bir tekniktir.

20
00:01:30,570 --> 00:01:38,370
‫Bu daire ile temsil edilen küre gibi hareketli bir nesnemiz varsa, bu küre hareket ederken her karede

21
00:01:38,370 --> 00:01:42,090
‫motor tarama kontrolleri gerçekleştirir.

22
00:01:42,090 --> 00:01:49,740
‫Bu, bu belirli kare için bu hareketin iki nesne arasında bir çakışmaya neden olup olmayacağını kontrol ettiği

23
00:01:49,740 --> 00:01:51,420
‫anlamına gelir.

24
00:01:51,630 --> 00:01:55,560
‫Burada bu dikdörtgenle temsil edilen bir blok var.

25
00:01:56,010 --> 00:01:59,580
‫Şimdi bunların dünyadaki tek iki nesne olduğunu düşünelim.

26
00:01:59,580 --> 00:02:06,600
‫Bu nedenle, küre nesneye doğru hareket ederken süpürme etkinleştirildiğinde, motor bu iki nesnenin üst

27
00:02:06,600 --> 00:02:09,330
‫üste gelip gelmediğini kontrol ediyor.

28
00:02:09,570 --> 00:02:16,410
‫Şimdi, küre hareket etmeye devam ederken, diyelim ki bu karelerden biri sırasında küre diğer nesnenin

29
00:02:16,410 --> 00:02:19,500
‫üzerine binecek şekilde hareket etmiş olsun.

30
00:02:19,500 --> 00:02:26,760
‫Şimdi, süpürme özelliğinin etkinleştirilmesinin yaptığı şey, motorun bu çakışmayı algılaması ve o belirli

31
00:02:26,790 --> 00:02:31,920
‫kare için o küreyi geri taşımasıdır, böylece aslında nesneye asla girmez.

32
00:02:31,950 --> 00:02:35,460
‫Şimdi kürenin nesnenin içine girdiğini asla göremiyoruz.

33
00:02:35,490 --> 00:02:40,530
‫Motor, hareket gerçekten uygulanmadan önce bu çakışmayı yakalar.

34
00:02:40,530 --> 00:02:46,020
‫Sonuç olarak kürenin üst üste binmeden hemen önce durduğunu görüyoruz.

35
00:02:46,020 --> 00:02:52,710
‫Örneğin bu dikdörtgen bir duvar olsaydı, küre duvarın yüzeyinde duracaktı.

36
00:02:52,710 --> 00:02:55,170
‫Süpürmenin bizim için başardığı şey budur.

37
00:02:55,170 --> 00:03:00,030
‫Belgeler, çarpışma kapalıysa bunun bir etkisi olmadığını söylüyor.

38
00:03:00,030 --> 00:03:04,590
‫Bu yüzden süpürmenin çalışması için çarpışmanın etkinleştirilmesi gerekir.

39
00:03:04,740 --> 00:03:12,090
‫Burada, move fonksiyonundaki tank CP'de, aktör yerel ofsetini eklemek için çağrımız var ve eğer istersek

40
00:03:12,120 --> 00:03:19,110
‫buraya başka bir girdi parametresi girebiliriz, ikincisi süpürme boolean'ıdır, bu yüzden buraya true

41
00:03:19,110 --> 00:03:20,310
‫girebiliriz.

42
00:03:20,310 --> 00:03:24,540
‫Şimdi bunu derleyelim ve süpürmeyi etkinleştirmenin etkisini görelim.

43
00:03:24,540 --> 00:03:30,720
‫Şimdi oynat tuşuna basıp örneğin bir duvarın içinden geçmeye çalışırsak, duvarın içinden geçtiğimizi

44
00:03:30,720 --> 00:03:31,560
‫göreceğiz.

45
00:03:31,560 --> 00:03:34,020
‫Yani burada bir şeyler yolunda gitmiyor.

46
00:03:34,020 --> 00:03:38,280
‫Şimdi BP gölet tankı için rota bileşeninin ne olduğuna bakalım.

47
00:03:38,280 --> 00:03:41,730
‫Rota için kapsül bileşenini kullandığımızı hatırlayın.

48
00:03:41,730 --> 00:03:45,570
‫Yani BP havuz tankında seçilen kapsül bileşenleri ile.

49
00:03:45,570 --> 00:03:51,690
‫Ayrıntılar paneline gidelim ve aşağı kaydıralım; burada Çarpışma adlı bir bölüm göreceğiz.

50
00:03:51,690 --> 00:03:55,860
‫Ve burada Çarpışma Ön Ayarlarını görüyoruz ve bir açılır menü var.

51
00:03:55,860 --> 00:03:57,420
‫O zaman bunu genişletelim.

52
00:03:57,420 --> 00:04:05,010
‫Şimdi, Çarpışma Ön Ayarları herhangi bir sayıda seçeneğe ayarlanabilir ve varsayılan olarak tüm dinamiklerin üst üste geldiğini görürüz.

53
00:04:05,010 --> 00:04:08,280
‫Şimdi, kullandığınız Unreal Engine sürümüne bağlı olarak.

54
00:04:08,280 --> 00:04:11,580
‫Burada başka bir şey görebilirsiniz ama bunu değiştirebiliriz.

55
00:04:11,580 --> 00:04:18,750
‫Açılır menüyü seçer ve tüm dinamikleri engelle seçeneğini belirlersek, aşağıdaki gri seçenekler değişir.

56
00:04:18,750 --> 00:04:25,470
‫Tüm dinamiklerin üst üste bindiğini ve burada üç sütun onay kutusu gördüğümüzü hatırlayın.

57
00:04:25,590 --> 00:04:33,240
‫Bunlar çarpışma yanıtlarıdır ve soldaki sütun çarpışma nesnesi türlerinin bir listesini gösterir.

58
00:04:33,240 --> 00:04:37,860
‫Yani herhangi bir bileşenin kendi çarpışma nesnesi türü vardır.

59
00:04:37,860 --> 00:04:42,840
‫Kapsül için nesne türünün dünya dinamiği olarak ayarlandığını görebiliyoruz.

60
00:04:42,840 --> 00:04:48,600
‫Çarpışma ön ayarlarını tüm dinamikleri engelleyecek şekilde değiştirdiğimizde, çarpışma yanıtlarının

61
00:04:48,600 --> 00:04:54,450
‫tüm diğer çarpışma nesnesi türlerine yanıt olarak engellenmek üzere kontrol edildiğini göreceksiniz.

62
00:04:54,450 --> 00:04:59,160
‫Şimdi oyuna basalım ve bir şeylerin içinden geçmeye çalıştığımızda ne olduğunu görelim.

63
00:04:59,160 --> 00:05:03,630
‫Göreceksiniz ki, örtüşmenin hemen dışında duruyoruz.

64
00:05:03,710 --> 00:05:04,860
‫Diğer göletler.

65
00:05:04,880 --> 00:05:14,340
‫Şimdi, tankı duvarla örtüşecek ve diğer havuzların etrafından dolaşacak şekilde hareket ettirirsem.

66
00:05:14,360 --> 00:05:17,900
‫Şimdi, oynat tuşuna bastığımda duvarı da bloke ediyorum.

67
00:05:17,900 --> 00:05:26,330
‫Yani bu çarpışma ön ayar bloğu, tüm dinamik çarpışma tepkisini diğer tüm nesne türlerini engelleyecek şekilde ayarlar.

68
00:05:26,330 --> 00:05:32,900
‫Ve belirli bir bileşenin çarpışma nesnesi türünü her zaman bileşenler panelinde seçip ayrıntılar

69
00:05:32,900 --> 00:05:40,790
‫panelindeki çarpışma bölümüne kaydırarak ve Çarpışma Ön Ayarları için açılır menüyü açarak görebilirsiniz.

70
00:05:40,790 --> 00:05:47,540
‫Temel ağ seçili ve nesne türü dünya dinamiği ve tümünü engelle olarak ayarlanmış.

71
00:05:47,540 --> 00:05:54,350
‫Şimdi kapsül comp için çarpışma ön ayarlarımızı tüm dinamikleri engelleyecek şekilde ayarladığımızdan süpürmenin çalıştığını

72
00:05:54,350 --> 00:05:55,490
‫görüyoruz.

73
00:05:55,490 --> 00:06:02,720
‫Ve belgelerde sadece kök bileşenin süpürüldüğünü ve çarpışmayı engellemek için kontrol edildiğini gördük.

74
00:06:02,720 --> 00:06:06,140
‫Bu yüzden diğer bileşenlerin neye ayarlandığı gerçekten önemli değildir.

75
00:06:06,170 --> 00:06:10,790
‫Sadece kök bileşenin bir şeyi engelleyip engellemediğini kontrol ediyoruz.

76
00:06:10,790 --> 00:06:15,800
‫Şimdi, bazı öğrencilerin takıldığı bir konu, kapsülü tüm dinamikleri engelleyecek şekilde ayarladıkları

77
00:06:15,800 --> 00:06:17,510
‫anda hareket edememeleridir.

78
00:06:17,810 --> 00:06:23,750
‫Bunun bir nedeni kapsülünüzün zeminle örtüşüyor olması olabilir.

79
00:06:23,780 --> 00:06:28,820
‫Kapsül zeminle örtüşüyorsa, hareket edemezsiniz çünkü kapsül bileşeni engellemek

80
00:06:28,820 --> 00:06:35,390
‫üzere ayarlandığı bir şeyle örtüşüyorsa motor tankınızın hareket etmesine izin vermez.

81
00:06:35,390 --> 00:06:41,240
‫Bunun için kolay bir çözüm, kapsülünüzün zeminle örtüşmediğinden emin olmak olacaktır.

82
00:06:41,720 --> 00:06:49,370
‫Şimdi, BP -- tankınıza girebilir ve kapsülünüzün buradaki tekerleklerin hemen üzerinde olduğundan emin olabilirsiniz.

83
00:06:49,370 --> 00:06:52,640
‫Ortografik görünüme geçeceğim.

84
00:06:53,720 --> 00:06:56,840
‫Ve temel ağımı seçip aşağı indirin.

85
00:06:56,840 --> 00:07:00,980
‫Yani tekerlekler kapsül bileşeninin hemen altındadır.

86
00:07:01,190 --> 00:07:06,470
‫Şimdi eğer ağınız zemindeyse ve kapsül de ağın hemen üzerindeyse.

87
00:07:06,680 --> 00:07:09,010
‫Hareket edebilmelisin.

88
00:07:09,020 --> 00:07:12,110
‫Şimdi oynat tuşuna basacağım ve işte başlıyoruz.

89
00:07:12,740 --> 00:07:17,620
‫Artık süpürme işlemini aradan çıkardığımıza göre, rotasyonu uygulamaya başlamanın zamanı geldi.

90
00:07:17,630 --> 00:07:19,520
‫Proje ayarlarımıza geri dönelim.

91
00:07:19,520 --> 00:07:29,060
‫Bu yüzden proje ayarlarını düzenlemeye gidiyoruz, giriş bölümüne ilerliyoruz ve giriş bölümünde eksen eşlemelerimiz var.

92
00:07:29,060 --> 00:07:30,710
‫Şimdi zaten hallettik.

93
00:07:30,710 --> 00:07:31,790
‫İlerleyin.

94
00:07:31,790 --> 00:07:40,220
‫Sıradaki Turn (Dönüş) ile ilgilenmenin zamanı geldi ve Turn'e D ve A atanmıştır; D'nin ölçeği

95
00:07:40,220 --> 00:07:44,060
‫bir ve A'nın ölçeği negatif birdir.

96
00:07:44,060 --> 00:07:48,080
‫Tankı döndürmek için D ve AX'i kullanmak istiyoruz.

97
00:07:48,170 --> 00:07:54,470
‫Dolayısıyla, bir işlevi dönüş ekseni eşlemesine bağlamak için bağlanacak bir işleve ihtiyacımız vardır.

98
00:07:54,470 --> 00:08:02,330
‫V'nin koduna geri döndük ve tank dosyasına gireceğim, böylece dönüş ekseni eşlemesine bağlanmak için bir işlev

99
00:08:02,330 --> 00:08:04,100
‫oluşturabiliriz.

100
00:08:04,100 --> 00:08:08,630
‫Şimdi bu boş fonksiyonu turn olarak adlandıracağım ve tıpkı move gibi.

101
00:08:08,660 --> 00:08:12,560
‫Bir float giriş parametresine ihtiyaç duyar ve biz bu değeri çağıracağız.

102
00:08:12,560 --> 00:08:18,530
‫Bu fonksiyonu tanımladık, hadi tanımlayalım ve CP'yi tanklayalım ve ben bunu move fonksiyonunun hemen

103
00:08:18,530 --> 00:08:19,790
‫altına koyacağım.

104
00:08:19,790 --> 00:08:26,600
‫Bu yüzden ona bir fonksiyon gövdesi verdim ve fonksiyon adından hemen önce çift iki nokta üst üste ile birlikte sınıf adına

105
00:08:26,600 --> 00:08:27,590
‫ihtiyacım var.

106
00:08:27,590 --> 00:08:29,270
‫Şimdi düzgün bir işlevimiz var.

107
00:08:29,270 --> 00:08:31,400
‫Yapmamız gereken tek şey bu değil.

108
00:08:31,430 --> 00:08:36,590
‫Bu fonksiyonun turn adı verilen eksen eşlemesine bağlı olduğundan emin olmamız gerekir.

109
00:08:36,590 --> 00:08:44,000
‫Bunu oyuncu giriş bileşeni kurulumunda yaparız ve tıpkı ileri hareket ekseni eşlemesinde yaptığımız gibi yaparız.

110
00:08:44,000 --> 00:08:51,290
‫Bu yüzden oyuncu giriş bileşeni diyeceğiz, ok operatörünü kullanacağız ve ekseni bağlayacağız.

111
00:08:52,100 --> 00:08:58,250
‫Şimdi ilk parametre, bir metin makrosuna sarılmış eksen eşleme adı olacaktır.

112
00:08:58,340 --> 00:09:02,420
‫Bu yüzden, eksen eşleme adı bu olduğu için dönüş diyeceğiz.

113
00:09:02,420 --> 00:09:05,180
‫Sırada fonksiyonu bağlayacağımız nesne var.

114
00:09:05,180 --> 00:09:10,100
‫Bunu aktarabiliriz ve son olarak tekrar bağlamak istediğimiz fonksiyonu aktarırız.

115
00:09:10,100 --> 00:09:14,600
‫Operatörün adresine ihtiyacımız var ve bu bir tank dönüşü olacak.

116
00:09:14,600 --> 00:09:16,550
‫Yani bu kadar kolay.

117
00:09:16,580 --> 00:09:21,200
‫Dönüş fonksiyonunu dönüş ekseni eşlemesine bağladık.

118
00:09:21,500 --> 00:09:26,330
‫Geriye kalan tek şey dönüş işlevinde gerçekten bir şeyler yapmaktır.

119
00:09:26,330 --> 00:09:32,390
‫Şimdi, ADD aktör yerel ofsetine sahip olduğumuzu gördük, ancak bu işlevin rotasyonel bir benzeri

120
00:09:32,390 --> 00:09:35,240
‫var ve buna ADD Aktör yerel rotasyonu deniyor.

121
00:09:35,240 --> 00:09:41,600
‫Bunun yaptığı şey, adından da anlaşılacağı gibi aktöre yerel bir rotasyon eklemektir ve fonksiyonun

122
00:09:41,600 --> 00:09:47,330
‫iki farklı versiyonu olduğunu göreceksiniz, biri F rotator alan ve diğeri F quad denilen

123
00:09:47,330 --> 00:09:48,530
‫bir şey alan.

124
00:09:48,530 --> 00:09:51,140
‫Bir F döndürücü alan versiyonu kullanacağız.

125
00:09:51,140 --> 00:09:53,480
‫Buna Delta rotasyonu deniyor.

126
00:09:53,480 --> 00:10:00,800
‫Ve tıpkı ADD Actor Local offset gibi, bir sweep parametresi ve add actor local offset ile aynı diğer iki giriş

127
00:10:00,800 --> 00:10:03,170
‫parametresini de alabilir.

128
00:10:03,170 --> 00:10:08,720
‫Ve bu son üç girdi parametresi, tıpkı aktör yerel ofseti eklemek gibi isteğe bağlıdır.

129
00:10:08,720 --> 00:10:13,060
‫Yani bir F vektörü yerine, bir F döndürücü geçireceğiz.

130
00:10:13,070 --> 00:10:20,210
‫Şimdi burada dönüş fonksiyonuna geri dönersek, bir F rotator oluşturur ve bunu Delta rotation olarak adlandırırsak,

131
00:10:20,210 --> 00:10:26,960
‫F rotator'a sağ tıklayıp tanıma gidersek, rotator'a yönlendirildiğimizi ve burada float türünde üç ortak

132
00:10:26,960 --> 00:10:30,410
‫üye değişken göreceğimizi göreceğiz.

133
00:10:30,410 --> 00:10:37,250
‫Şimdi tıpkı F vektörü gibi F döndürücü de bu üç bileşene sahiptir, sadece X, Y ve Z yerine yunuslama sapması

134
00:10:37,250 --> 00:10:39,140
‫ve yuvarlanma vardır.

135
00:10:39,140 --> 00:10:42,050
‫Şimdi, ilgilendiğimiz bileşen sapmadır.

136
00:10:42,050 --> 00:10:46,940
‫Z ekseni etrafında parantez içinde yukarı eksen etrafında dönüş yazıyor.

137
00:10:46,940 --> 00:10:52,370
‫Ve bu, Z ekseni etrafında dönmeyi önemsediğimiz tek döndürme türüdür.

138
00:10:52,370 --> 00:10:54,500
‫Tankımızı bu şekilde yönlendirebiliriz.

139
00:10:54,500 --> 00:11:00,860
‫Şimdi, size F döndürücü için de birden fazla kurucu olduğunu ve varsayılanın yine

140
00:11:00,860 --> 00:11:06,110
‫F vektöründe olduğu gibi başlatma olmadığını belirteceğim.

141
00:11:06,110 --> 00:11:13,190
‫Bu yüzden tek bir float alanını kullanabiliriz ve tüm bileşenler bu float değerine başlatılır.

142
00:11:13,220 --> 00:11:18,560
‫Üç kayan değerli bir tane var ve diğerlerinden bazılarına göz atıp görebilirsiniz.

143
00:11:18,560 --> 00:11:25,820
‫Şimdi, bir sıfır döndürücü olduğunu ve bu arada bunun statik bir sıfır döndürücü olduğunu da belirteceğim.

144
00:11:25,820 --> 00:11:34,880
‫Bu nedenle tank CP'ye geri dönebilir ve equals F rotator zero rotator zero rotator gibi bir şeyin statik bir üye değişken olduğunu söyleyebiliriz

145
00:11:34,880 --> 00:11:42,170
‫ve kapsam çözümleme operatörü ile sınıf adını belirterek ve bu statik değişkene veya işleve adıyla referans

146
00:11:42,170 --> 00:11:48,440
‫vererek statik üye işlevlere ve değişkenlere bu şekilde erişebilirsiniz.

147
00:11:48,440 --> 00:11:50,180
‫Biz de burada sizinle birlikte bunu yapıyoruz.

148
00:11:50,180 --> 00:11:53,060
‫Oynanış istatistikleri dünya delta saniyelerini statik olarak alır.

149
00:11:53,310 --> 00:11:59,670
‫Fonksiyon, yani bu statik fonksiyona erişebilmemiz için game gameplay statics sınıfının gerçek bir örneğinin

150
00:11:59,670 --> 00:12:02,230
‫var olmasına ihtiyacımız yok.

151
00:12:02,250 --> 00:12:04,160
‫Zaten var.

152
00:12:04,170 --> 00:12:06,930
‫Sıfır döndürücü ve sıfır vektör ile aynı.

153
00:12:07,080 --> 00:12:14,700
‫Bu yüzden rotator h'yi kapatacağım ve bu delta rotasyonumuz var ve sıfır rotator olarak başlatıldı.

154
00:12:14,730 --> 00:12:20,280
‫Şimdi, tıpkı X, Y ve Z'nin F vektörü için sıfırlandığı gibi, eğiminiz ve rolünüz de sıfırlanır.

155
00:12:20,280 --> 00:12:22,920
‫Bu yüzden bileşeninizi değiştirmemiz gerekecek.

156
00:12:22,920 --> 00:12:30,120
‫Tıpkı MOV işlevindeki delta konumumuzda yaptığım gibi, delta dönüşleri için de bir sözde kod oluşturalım.

157
00:12:30,120 --> 00:12:36,690
‫Ya, hepinizin Delta zamanına göre ölçeklendirilmiş değere ayarlanmasını isteyeceğiz, çünkü bu dönüşün kare hızından

158
00:12:36,690 --> 00:12:42,570
‫bağımsız olmasını istiyoruz, ancak bu dönüş hızı olarak adlandırabileceğimiz bir tür dönüş hızına da ihtiyacımız

159
00:12:42,570 --> 00:12:43,560
‫var.

160
00:12:43,560 --> 00:12:49,890
‫Bunu ayarladıktan sonra, evet, aktörü her karede F döndürücüye göre döndürecek olan yerel döndürmeyi

161
00:12:49,890 --> 00:12:54,630
‫ekleyebiliriz ve bu ya değere göre ölçeklendirilecektir.

162
00:12:54,630 --> 00:12:59,640
‫Yani herhangi bir tuşa basmıyorsak sıfır olacak ve DX ve ax tuşlarına basıyorsak bir değere sahip

163
00:12:59,640 --> 00:13:00,320
‫olacaktır.

164
00:13:00,330 --> 00:13:02,190
‫Şimdi bir meydan okumayla karşı karşıyasınız.

165
00:13:02,190 --> 00:13:06,090
‫Bu tıpkı aktör yerel ofsetini eklemek gibi çalışacaktır.

166
00:13:06,120 --> 00:13:09,000
‫Tek fark, artık aktörleri değiştiriyoruz.

167
00:13:09,000 --> 00:13:14,820
‫Aktörü döndürmek için bir tür dönüş hızına ihtiyacımız olduğundan, bir dönüş hızı değişkeni oluşturacak,

168
00:13:14,820 --> 00:13:20,550
‫bunu bir float yapacak ve hız değişkeninin hemen yanındaki özel bölüme koyacaksınız.

169
00:13:20,550 --> 00:13:25,560
‫Bu değişkeni özelliğinizle gösterin ve uygun yeni özellik belirticilerini seçin.

170
00:13:25,560 --> 00:13:32,490
‫Şimdi dönüş fonksiyonunda özellikle Delta rotasyonunu ayarlayacaksınız, bileşeninizi önemsiyoruz

171
00:13:32,490 --> 00:13:41,280
‫değeri dönüş hızı değişkenimizin çarpımına eşit olarak ayarlayın ve ayrıca delta zamanı ile çarpın ve ardından bu f rotator'ı

172
00:13:41,280 --> 00:13:48,780
‫geçerek aktör yerel rotasyonu ekle demeye hazırsınız şimdi ikinci parametre için devam edin ve dönerken

173
00:13:48,780 --> 00:13:56,880
‫süpürmek istediğimizden B süpürme girişi için true değerini geçin, videoyu duraklatın ve şimdi tank için rotasyonu

174
00:13:56,880 --> 00:13:59,190
‫uygulayın.

175
00:14:02,110 --> 00:14:02,500
‫Tamam.

176
00:14:02,500 --> 00:14:04,630
‫Yani bu oldukça basit olacak.

177
00:14:04,630 --> 00:14:07,360
‫Sadece bir dönüş hızı değişkenine ihtiyacımız var.

178
00:14:07,390 --> 00:14:14,440
‫Şimdi hızın hemen altındaki tanka gireceğim ve şamandıra dönüş hızı oluşturacağım.

179
00:14:14,590 --> 00:14:18,640
‫Şimdi muhtemelen bunu bir değere başlatıyorsunuz ve bu sorun değil.

180
00:14:18,640 --> 00:14:24,040
‫Eğer benim seçtiğimden farklıysa, 45 F ile devam edeceğim ve nasıl çalıştığını göreceğim.

181
00:14:24,040 --> 00:14:29,150
‫Ancak bunu planlara açık hale getireceğiz, böylece geliştirirken değiştirebileceğiz.

182
00:14:29,170 --> 00:14:35,620
‫Şimdi bunun her yerde düzenlenebilmesini istiyorum ve bunu hız ile aynı hareket kategorisine koyacağım.

183
00:14:35,620 --> 00:14:42,180
‫Bu yüzden devam edeceğim ve bu mülkünüzü çalacağım ve herhangi bir yere ayarlamak için sağa dönün üzerine buraya yapıştıracağım.

184
00:14:42,190 --> 00:14:45,280
‫Kategori hareketi şimdi ve tank CP.

185
00:14:45,310 --> 00:14:48,190
‫Delta rotasyonu için maya ayarlamaya hazırım.

186
00:14:48,190 --> 00:14:50,320
‫Bu yüzden Delta rotasyonu diyeceğiz.

187
00:14:50,650 --> 00:14:51,400
‫Evet.

188
00:14:51,790 --> 00:14:57,060
‫Ve bunu değer zamanlarına, dönüş hızı zamanlarına, delta zamanına eşit olarak ayarlayacağız.

189
00:14:57,070 --> 00:15:04,120
‫Ve tabii ki U oyun statiği ile Delta zamanı elde edebiliriz, bunu dünya bağlamı nesnesi olarak geçirerek dünya

190
00:15:04,120 --> 00:15:06,340
‫delta saniyelerini alabiliriz.

191
00:15:06,460 --> 00:15:08,350
‫O yüzden bunu şuraya yapıştıracağım.

192
00:15:08,470 --> 00:15:12,220
‫Şimdi sözde kodumun tam olarak uyuşmadığını biliyorum.

193
00:15:12,220 --> 00:15:13,270
‫Yanlış sırada.

194
00:15:13,270 --> 00:15:14,830
‫Delta zamanı burada ortadadır.

195
00:15:14,830 --> 00:15:20,440
‫Bu önemli değildir çünkü üç değeri birlikte çarparken, bunları herhangi bir sırada çarpabilir ve yine de aynı

196
00:15:20,440 --> 00:15:21,940
‫sonucu elde edebilirsiniz.

197
00:15:21,940 --> 00:15:27,460
‫Bunu merak ediyorsanız diye söylüyorum, bu üç değeri farklı bir sırayla çarparsanız matematik

198
00:15:27,460 --> 00:15:29,350
‫yine aynı çıkacaktır.

199
00:15:29,350 --> 00:15:30,910
‫O yüzden bu konuda fazla endişelenmeyin.

200
00:15:30,910 --> 00:15:32,830
‫Şimdi delta rotasyonumuz var.

201
00:15:32,830 --> 00:15:41,860
‫Geriye kalan tek şey add actor local rotation'ı çağırmak ve Delta rotation'ı geçiyoruz ve ikinci girdi için

202
00:15:41,950 --> 00:15:47,290
‫dönerken süpürmeyi etkinleştirmek için true'yu geçeceğiz.

203
00:15:47,290 --> 00:15:48,670
‫Bunu derleyelim.

204
00:15:48,820 --> 00:15:50,740
‫Pekala, şimdi derlendik.

205
00:15:50,740 --> 00:15:57,700
‫Sonraki birkaç videoda sıfır vektör ve sıfır döndürücünün bu satırlarda eksik olduğunu fark edebilirsiniz.

206
00:15:57,700 --> 00:16:03,010
‫Çünkü bunları ilk değerleriyle başlattım ve daha sonra bunların muhtemelen en azından sıfır değerleriyle

207
00:16:03,010 --> 00:16:05,890
‫başlatılması gerektiğini fark ettim.

208
00:16:05,890 --> 00:16:12,070
‫Bu nedenle, bu satırların daha sonra başlatıldığında böyle göründüğünü görürseniz endişelenmeyin, sıfır vektörünüzü ve sıfır

209
00:16:12,070 --> 00:16:16,690
‫döndürücünüzü koruyun ve bunu yakın gelecekteki bir videoda yakaladığımı göreceksiniz.

210
00:16:16,690 --> 00:16:17,770
‫O yüzden endişelenme.

211
00:16:17,770 --> 00:16:21,430
‫Bu başlatma işlemlerini görmüyorsanız, orada olmaları gerekir.

212
00:16:21,430 --> 00:16:23,050
‫Ve editöre geri döndük.

213
00:16:23,050 --> 00:16:30,970
‫Play tuşuna basalım ve D tuşunu kullanacağım ve dönüyoruz ve A tuşu beni diğer yöne döndürüyor ve ayrıca ileri

214
00:16:30,970 --> 00:16:33,790
‫ve geri hareket edebiliyoruz.

215
00:16:33,790 --> 00:16:39,570
‫Artık dönebildiğimize ve ilerleyebildiğimize göre, dünya çapında hareket etme kabiliyetine sahibiz.

216
00:16:39,580 --> 00:16:41,890
‫Bu büyük bir dönüm noktası.

217
00:16:41,890 --> 00:16:47,620
‫Şimdi oldukça yavaş hareket ediyorum, ama sorun değil çünkü tankımı seçebilir ve hareket kategorisini

218
00:16:47,620 --> 00:16:53,230
‫arayabilir ve dönüş hızını 90 gibi daha yüksek bir değere değiştirebilirim.

219
00:16:53,230 --> 00:16:54,760
‫O zaman devam edelim ve oynat tuşuna basalım.

220
00:16:55,460 --> 00:16:57,630
‫Ve bu biraz daha hızlı.

221
00:16:57,650 --> 00:17:00,110
‫Şimdi, eğer bunun hala biraz yavaş olduğunu düşünüyorsanız.

222
00:17:00,140 --> 00:17:02,330
‫Elbette bunları ayarlayabilirsiniz.

223
00:17:02,330 --> 00:17:05,570
‫Bu yüzden tekrar -- tankını seçeceğim.

224
00:17:05,570 --> 00:17:08,090
‫Ve 400 yerine, 800 yapalım.

225
00:17:08,090 --> 00:17:08,720
‫Neden olmasın?

226
00:17:08,750 --> 00:17:11,840
‫90 yerine 120 diyelim.

227
00:17:12,260 --> 00:17:16,160
‫Şimdi, eğer oynat tuşuna basarsam, biraz daha hızlıyım.

228
00:17:16,160 --> 00:17:18,800
‫Bu gerçekten çok iyi görünüyor.

229
00:17:18,800 --> 00:17:23,390
‫Bölüm planına dönecek olursak, artık dünya çapında hareket edebilen bir tankımız var.

230
00:17:23,390 --> 00:17:29,300
‫İlk madde kesinlikle işaretlendi ve WASD hareketini ele alıyoruz.

231
00:17:29,300 --> 00:17:32,510
‫Henüz fare girişini ele almıyoruz, ancak buna da geleceğiz.

232
00:17:32,510 --> 00:17:35,870
‫Ama bu oyunu tamamlamaya bir adım daha yaklaştık.

233
00:17:35,870 --> 00:17:42,170
‫Özet olarak, süpürmenin ne olduğunu ve nesnelerimizin birbirinin içinden geçmemesi için bunu nasıl etkinleştirebileceğimizi

234
00:17:42,170 --> 00:17:43,130
‫öğrendik.

235
00:17:43,130 --> 00:17:50,210
‫Bir aktör yerel rotasyonu ekledik ve bunu ayrıntılarda ayarlayabileceğimiz bir dönüş hızı uygulayarak yaptık.

236
00:17:50,210 --> 00:17:53,750
‫Geliştirmeyi biraz daha kolaylaştırmak için editördeki panel.

237
00:17:53,750 --> 00:17:54,500
‫İyi işti.

238
00:17:54,500 --> 00:17:56,480
‫Şimdi tankı dünyanın dört bir yanına taşıyoruz.

239
00:17:56,480 --> 00:17:57,770
‫Bir sonraki videoda görüşürüz.

