﻿1
00:00:04,500 --> 00:00:05,730
‫Merhaba ve bu konferansa hoş geldiniz.

2
00:00:05,730 --> 00:00:11,310
‫Ağımızın kollarını yukarı ve aşağı hareket ettirmesini sağlayacak AIM ofsetleri ile oynayacağız.

3
00:00:11,310 --> 00:00:15,360
‫Yukarı ve aşağı nişan alırken, hadi içeri dalalım ve bunun neyle ilgili olduğunu görelim.

4
00:00:16,170 --> 00:00:20,940
‫Yani şu anda, yukarı ve aşağı nişan alırsak, karakterimizin kollarının aslında hiçbir şey

5
00:00:20,940 --> 00:00:26,370
‫yapmadığını ve silahın gerçekten yukarı bakıp ateş etmesi ve aslında vurduğumuz yeri vurması gerektiği

6
00:00:26,370 --> 00:00:28,440
‫gibi görünmediğini görebilirsiniz.

7
00:00:28,710 --> 00:00:30,930
‫Peki bunu nasıl değiştirebiliriz?

8
00:00:30,930 --> 00:00:33,450
‫Bu animasyon planımızda bir değişiklik.

9
00:00:33,450 --> 00:00:38,700
‫Öyleyse devam edelim ve başlangıç noktası olarak animasyon planını açalım ve ana penceremize yerleştirelim.

10
00:00:39,120 --> 00:00:44,250
‫Ve sonra sizi daha önce görmediğimiz yeni bir animasyon varlığıyla tanıştırmak istiyorum.

11
00:00:44,250 --> 00:00:46,680
‫Karışım alanları gördük, animasyonlar gördük.

12
00:00:46,680 --> 00:00:53,160
‫Size göstermek istediğim bir sonraki şey animasyon ofseti ve özellikle de hedef ofseti olarak adlandırılan bir

13
00:00:53,160 --> 00:00:53,700
‫şeydir.

14
00:00:53,700 --> 00:01:00,060
‫Dolayısıyla, animasyonlarımızda ayo anahtar kelimesini ararsak, aim ofsetleri adı verilen küçük mavi

15
00:01:00,060 --> 00:01:02,130
‫alt çizgili olanları ararız.

16
00:01:02,130 --> 00:01:03,090
‫Ve onlardan birkaç tane var.

17
00:01:03,090 --> 00:01:09,180
‫Benim ilgilendiğim AoE savaşı, buralarda bir yerde olmalı.

18
00:01:09,180 --> 00:01:11,730
‫Boşta bir A0 savaşına giderlerdi.

19
00:01:11,970 --> 00:01:16,830
‫Gidip bunu seçerseniz, karışım alanımıza çok benzeyen bir şey olduğunu göreceksiniz.

20
00:01:16,860 --> 00:01:22,530
‫Ancak bu sefer küçük yeşil yumruyu hareket ettirirseniz, karakter ağımızın

21
00:01:22,530 --> 00:01:25,680
‫işaret ettiği yönü değiştiriyor.

22
00:01:25,680 --> 00:01:30,720
‫Yani sola doğru gelirsek silahını sola doğrultuyor, sağa doğru gelirsek silahını

23
00:01:30,720 --> 00:01:32,670
‫sağa doğrultuyor.

24
00:01:32,670 --> 00:01:36,250
‫Ve benzer şekilde yukarı ve aşağı, eğer adım yukarı giderseniz, o zaman tüm yol boyunca yukarı bakar.

25
00:01:36,250 --> 00:01:39,240
‫Aşağıya doğru eğildi, aşağıya doğru baktı ve aşağıya doğru ateş etmeye çalıştı.

26
00:01:39,510 --> 00:01:47,310
‫Şimdi bunun ve gördüğümüz diğer animasyonların farkı, bunun bir eklemeli animasyon olarak bilinmesidir.

27
00:01:47,310 --> 00:01:51,750
‫Ayrıntılar bölmesine giderseniz, eklemeli olduğunu görebilirsiniz çünkü eklemeli

28
00:01:51,750 --> 00:01:55,920
‫ayarlar yazıyor ve tüm bunları temel aldığı bu animasyon tabanlı poz var.

29
00:01:56,340 --> 00:02:02,430
‫Temel olarak eklemeli olmasının anlamı, bu animasyonun diğer animasyonlarınızın üzerine eklenebilmesidir.

30
00:02:02,430 --> 00:02:06,090
‫Yani diyor ki, sen koşarken bu hedeflemeyi yapabilirim.

31
00:02:06,090 --> 00:02:13,320
‫Kollarımın sizin koşu pozunuza göre nereye hareket ettiği bilgisini ekleyebilirim ve bunları en üste ekleyebilirim.

32
00:02:13,500 --> 00:02:14,700
‫Peki bu nasıl görünüyor?

33
00:02:14,700 --> 00:02:22,200
‫Animasyon planımıza gidersek, yapmak istediğimiz şey, hareketle ilgili tüm bu bilgileri ekledikten sonra

34
00:02:22,200 --> 00:02:28,530
‫bu bilgiyi eklemektir ve muhtemelen ölümden önce değil, çünkü ölüm son şey olmalıdır.

35
00:02:29,040 --> 00:02:31,140
‫Bu yüzden hareket etmek istiyoruz.

36
00:02:31,140 --> 00:02:32,970
‫Yani tüm koşu animasyonlarımız burada.

37
00:02:32,970 --> 00:02:39,390
‫Bunun üzerine, doğru nişan alabilmemiz için kollarımızın nereye hareket ettirilmesi gerektiği hakkında biraz

38
00:02:39,390 --> 00:02:41,040
‫bilgi eklemek istiyoruz.

39
00:02:41,130 --> 00:02:45,060
‫Bunu yapmak için sağ tıklayıp hedef ofsetimizi ekleyebiliriz.

40
00:02:45,060 --> 00:02:46,710
‫Bunu varlık tarayıcısından da yapabiliriz.

41
00:02:46,710 --> 00:02:52,380
‫A0'ı arayacağım ve dediğim gibi, bu tarayıcıda farklı bir yer olan savaş versiyonunu

42
00:02:52,380 --> 00:02:53,580
‫arıyoruz.

43
00:02:53,580 --> 00:03:00,180
‫İlginçtir ki, eğer bunu takip edersem, o zaman elde edeceğiniz şey bir giriş pini olan ve "Taban gücü nedir?" diyen bir

44
00:03:00,180 --> 00:03:01,140
‫şey olacaktır.

45
00:03:01,170 --> 00:03:07,050
‫Hareket karışım alanının bir giriş pimine sahip olmadığına dikkat edin, çünkü size tüm animasyonu

46
00:03:07,140 --> 00:03:14,580
‫sağlıyor, oysa bu amaç ofset çünkü eklemeli bir animasyon, üstüne eklemek için bir şey gerektiriyor.

47
00:03:14,580 --> 00:03:20,040
‫Bu yüzden ona hareketimizden gelecek olan bir temel poz vermeniz gerekiyor ve sonra

48
00:03:20,040 --> 00:03:26,700
‫ölü olsak da olmasak da gidip bunu karışımın sahte pozuna gireceğiz, çünkü bunu yalnızca ölü değilsek

49
00:03:26,700 --> 00:03:28,260
‫gösteriyoruz.

50
00:03:29,000 --> 00:03:36,770
‫Ve sonra size göstermek istiyorum ki, eğimi bire ya da belki 180'e değiştirirsem ve devam edip derlersem,

51
00:03:36,770 --> 00:03:41,750
‫o zaman tamamen yukarı doğru baktığını görebilirsiniz.

52
00:03:41,900 --> 00:03:44,570
‫Şimdi, burada yapmak istediğim bir başka değişiklik de olay grafiğinde.

53
00:03:44,570 --> 00:03:50,120
‫Şu anda, olay grafiğimiz tarafından üzerine sıfırlar yazıldığı için animasyon önizlemesinde hiçbir

54
00:03:50,120 --> 00:03:54,890
‫şeyi değiştiremediğimiz oldukça can sıkıcı bir durumla karşı karşıyayız.

55
00:03:54,890 --> 00:04:01,850
‫Bunu düzeltmenin kolay bir yolu, burada sahip olduğumuz piyon sahibinin geçerli olup olmadığını, yani null

56
00:04:02,000 --> 00:04:04,370
‫olup olmadığını kontrol etmektir.

57
00:04:04,820 --> 00:04:10,280
‫Yani buraya bir is valid koyarsak ve soru işaretli olan otomatik olarak bize bu yürütme

58
00:04:10,280 --> 00:04:18,140
‫düğümlerini verirse ve güncelleme animasyonu yürütme düğümümüzden geçersek ve yalnızca bu geçerliyse bir şeyler ayarlarsak,

59
00:04:18,170 --> 00:04:23,750
‫o zaman ne olacak, aslında oynamadığınızda ve orada bize bilgi verecek bir piyon olmadığında,

60
00:04:23,750 --> 00:04:26,960
‫onu ayarlamamıza izin verecektir.

61
00:04:26,960 --> 00:04:28,470
‫Anim Önizleme Düzenleyicisi.

62
00:04:28,490 --> 00:04:36,620
‫Şimdi hızı değiştirebiliyorum ve hedef ofseti yüksek ayarlanmış şekilde koşmaya başladığını görebilirsiniz.

63
00:04:36,860 --> 00:04:41,090
‫Şimdi bunu ayarlayalım, böylece adımımız aslında burada bir değişken olsun.

64
00:04:41,090 --> 00:04:47,120
‫Bu yüzden pitch'e sağ tıklayıp değişkeni tanıtacağım ve bu değişkeni görünür olduğu yere

65
00:04:47,120 --> 00:04:50,510
‫getirip adını pitch olarak değiştireceğim.

66
00:04:51,110 --> 00:04:54,530
‫Ya da daha açık konuşmak gerekirse, amaç bu gibi.

67
00:04:54,530 --> 00:05:00,290
‫Şimdi devam edip derlediğimizde, yanlışlıkla varsayılan bir hedef aralığı ayarlamış oluruz.

68
00:05:00,290 --> 00:05:03,380
‫Bunu varsayılan olarak sıfıra ayarlamak istiyoruz.

69
00:05:03,560 --> 00:05:05,150
‫Devam edip bunu derleyeceğim.

70
00:05:05,150 --> 00:05:11,270
‫Ve şimdi devam edip hızı değiştirirsek ve ardından hedef aralığını değiştirirsek.

71
00:05:12,110 --> 00:05:17,090
‫Yukarı ve aşağı nişan alabildiğimizi görebilirsiniz, ki bu tam da istediğimiz şey.

72
00:05:17,120 --> 00:05:20,180
‫Şimdi, buradaki sorun, henüz oyunumuzda ayarlanmamış olması.

73
00:05:20,180 --> 00:05:26,930
‫Yukarı ve aşağı gidersek, bunların hiçbiri kontrol rotasyonumuzdan ve hedeflememizden gelen bilgilerden kaynaklanmaz.

74
00:05:27,020 --> 00:05:31,040
‫Bu yüzden olay grafiğimize geri dönmemiz ve bu bilgilerin bir kısmını buraya almamız gerekiyor.

75
00:05:31,070 --> 00:05:36,050
‫Şimdi, burada biraz boşluk bırakacağım çünkü bu oldukça uzun olmaya başladı.

76
00:05:36,050 --> 00:05:42,680
‫Ve yapmak istediğim şey, bu geçerli pimin dışına, işleri dikey yönde de biraz

77
00:05:42,770 --> 00:05:47,720
‫yaymama izin verecek bir sıra düğümü koymak istiyorum.

78
00:05:47,720 --> 00:05:53,030
‫Dolayısıyla sekans düğümü, her şeyden önce, buradaki hızı ve açıyı ayarlamaya gidecektir.

79
00:05:53,030 --> 00:05:57,290
‫O zaman bence oyuncu seçimiyle ilgili bu şeyleri atıcı karaktere taşıyabiliriz.

80
00:05:57,380 --> 00:06:04,610
‫Sanırım bunu dikey olarak daha da aşağı indirebiliriz, bu sıra pimini ve nesne pimini try get pawn owner

81
00:06:04,610 --> 00:06:09,860
‫düğümümüze bağlayabiliriz, sonra sıraya başka bir pin ekleyebiliriz.

82
00:06:09,860 --> 00:06:13,820
‫Ve bu sefer rehin sahibimizden iki bilgi almak istiyorum.

83
00:06:13,940 --> 00:06:17,330
‫İlki kontrol rotasyonumuz olacak.

84
00:06:17,330 --> 00:06:20,060
‫Şimdi bir kontrol rotasyonu yapalım.

85
00:06:20,360 --> 00:06:26,360
‫Ancak bu yeterli olmayacaktır çünkü kontrol rotasyonumuz, pimi ayırırsak, burada bir adımımız olduğunu

86
00:06:26,360 --> 00:06:29,570
‫görebilirsiniz ve bu adımı ayarlamayı deneyebiliriz.

87
00:06:29,570 --> 00:06:30,950
‫Hadi bir deneyelim.

88
00:06:30,980 --> 00:06:38,570
‫Yani bir set atışı yaparsam ve yürütme düğümünü sekansımızdaki yürütme düğümüne bağlarsam, oraya biraz

89
00:06:38,570 --> 00:06:44,960
‫yönlendirme eklersem, derlersek, kaydedersek, oynat'a basarsak ve sonra hedef alırsak

90
00:06:44,960 --> 00:06:46,320
‫ne olur?

91
00:06:46,340 --> 00:06:48,800
‫Aşağı nişan almak geri dönmek değildir.

92
00:06:48,800 --> 00:06:52,310
‫O zaman işler daha da garipleşmeye başlar.

93
00:06:52,400 --> 00:06:59,330
‫Şimdi burada olan şey, bu kontrol rotasyonunun tamamen global olması ve bu nedenle oyuncumuzun

94
00:06:59,330 --> 00:07:02,870
‫zaten baktığı yönü dikkate almamasıdır.

95
00:07:02,930 --> 00:07:10,910
‫Bunu hesaba katmak için tekrar piyona gitmemiz ve aktör rotasyonunu almamız gerekir.

96
00:07:10,910 --> 00:07:18,560
‫Ve sonra bulmak istediğimiz şey, aktörün dönüşü ile kontrolün dönüşü arasındaki rotasyondur.

97
00:07:18,560 --> 00:07:22,640
‫Bunu yapmanın yolu da AM sahasının bağlantısını kesmek.

98
00:07:22,940 --> 00:07:28,730
‫Bu bağlantıyı kırın ve sağ tıklayıp yapı pinlerini yeniden birleştirin, bu ikisi arasında bir delta yapmak

99
00:07:28,730 --> 00:07:33,470
‫istiyorum, böylece kontrol rotasyonunu çıkarabilir ve Delta'yı arayabilirim.

100
00:07:34,240 --> 00:07:41,280
‫Ve Delta temelde döndürücüler arasında çıkarma yapmanın süslü bir yoludur.

101
00:07:41,290 --> 00:07:48,820
‫Yapmak istediğimiz şey, kontrol rotasyonumuzu almak ve aktör rotasyonumuz olacak olan temel

102
00:07:48,820 --> 00:07:50,830
‫rotasyonu çıkarmaktır.

103
00:07:50,830 --> 00:07:55,930
‫Yani bu B'dir, bu yüzden üzerine geldiğinizde A eksi B olacaktır, Delta döndürücünün yaptığı budur.

104
00:07:56,050 --> 00:08:01,660
‫Ve temelde şunu söylemek istiyoruz: Evet, kontrol rotasyonunu istiyorum, ancak aktif rotasyonumuz hakkındaki

105
00:08:01,660 --> 00:08:03,610
‫tüm bu bilgileri ortadan kaldırın.

106
00:08:03,610 --> 00:08:10,960
‫Böylece karakterimizin baktığı yöne göre yukarı veya aşağı nişan alıp almadığımızı bilebilirim.

107
00:08:11,110 --> 00:08:17,830
‫Ve sonra geri dönüş değeri pinini buradan ayırır ve sahayı buradan kullanırsam, her şeyin beklendiği

108
00:08:17,830 --> 00:08:20,170
‫gibi çalıştığını göreceğiz.

109
00:08:20,170 --> 00:08:26,950
‫Yukarı baktığımda yukarı, aşağı baktığımda aşağı hedefliyorum ve dünyada hangi yöne baktığımın bir

110
00:08:26,950 --> 00:08:29,440
‫önemi yok, bu her zaman böyle olacak.

111
00:08:29,440 --> 00:08:33,220
‫Hedef rotasyonumuz neredeyse bu kadar.

112
00:08:33,220 --> 00:08:38,350
‫Tek sorun, şu anda gözümüzün bu şekilde nişan alma yeteneğine sahip olmaması.

113
00:08:38,350 --> 00:08:46,660
‫Yani ben gidip şuradaki merdivenlere bir nişancı karakteri koysam ve biz de gidip onu aşağı indirmeye çalışsak, yanımıza

114
00:08:46,660 --> 00:08:49,420
‫gelmesini sağlamaya çalışsak.

115
00:08:49,420 --> 00:08:50,500
‫İşte geliyor.

116
00:08:50,500 --> 00:08:53,350
‫Duvara doğru ateş ettiğini görebilirsiniz.

117
00:08:53,350 --> 00:08:56,200
‫Hiç nişan almaya çalışmıyor, bu biraz üzücü.

118
00:08:56,200 --> 00:08:57,670
‫Peki orada neler oluyor?

119
00:08:57,670 --> 00:09:04,120
‫Gözümüze ve davranış ağacımıza gidersek, bir konuma varsayılan bir odak ayarladığımızı görebilirsiniz.

120
00:09:04,120 --> 00:09:10,210
‫Ve varsayılan olarak, odağı bir konuma ayarlarsanız, Unreal kontrol rotasyonunuzu

121
00:09:10,210 --> 00:09:13,540
‫atış yapmayacağı gibi güncellemeyecektir.

122
00:09:13,720 --> 00:09:15,100
‫Yani bu biraz üzücü.

123
00:09:15,100 --> 00:09:21,970
‫Tamam, yapmamız gereken şey bir tahtaya gitmek ve bu oyuncu konumunu sadece oyuncuya bir referans olacak

124
00:09:21,970 --> 00:09:23,680
‫şekilde değiştirmek.

125
00:09:24,060 --> 00:09:27,790
‫O zaman bu vektörü bir nesne olarak değiştirmemiz gerekir.

126
00:09:27,790 --> 00:09:33,430
‫Şimdi elimizde bir nesne olan oyuncu için bir yazı tahtası anahtarı var ve eğer istersek

127
00:09:33,430 --> 00:09:38,860
‫temel sınıfı b actor olarak değiştirebiliriz, ancak bu çok da önemli değil.

128
00:09:38,860 --> 00:09:44,620
‫Bunun anlamı, davranış ağacında işleri değiştirebiliriz, böylece oyuncu

129
00:09:44,620 --> 00:09:49,570
‫konumumuza hareket etmek yerine oyuncu aktöre hareket ederiz.

130
00:09:49,570 --> 00:09:55,330
‫Odağı oyuncu aktör olacak şekilde ayarlayabilir ve oyuncuyu güncelleyebiliriz.

131
00:09:55,330 --> 00:10:00,400
‫Sahnenin konumunun artık bir oyuncu aktörü de göstermesi gerekiyor.

132
00:10:00,400 --> 00:10:05,860
‫Şimdi, bu henüz işe yaramayacak çünkü sahnenin oyuncu konumunu güncellememiz şu anda bu anahtara

133
00:10:05,860 --> 00:10:08,260
‫bir konum ayarlamaya çalışıyor.

134
00:10:08,260 --> 00:10:11,050
‫Sizin için küçük bir meydan okuma, bakalım güncelleyebilecek misiniz?

135
00:10:11,050 --> 00:10:18,810
‫Dolayısıyla, bu davranış ağacı hizmetinde konumu ayarlamak yerine, gerçek aktörün videoyu duraklatmasını ve denemesini

136
00:10:18,820 --> 00:10:19,720
‫ayarlıyoruz.

137
00:10:19,750 --> 00:10:20,650
‫Tamam, tekrar hoş geldin.

138
00:10:20,650 --> 00:10:25,810
‫Bu yüzden Visual Studio koduna gideceğiz ve özellikle hizmetimizi arayacağız.

139
00:10:25,810 --> 00:10:29,650
‫Görüldüğü takdirde servis alt çizgi oynatıcı konumudur.

140
00:10:29,800 --> 00:10:35,830
‫Ve bunu, değeri vektör olarak ayarla yerine değeri nesne olarak ayarla olarak değiştireceğiz, bu

141
00:10:36,280 --> 00:10:37,090
‫kadar basit.

142
00:10:37,090 --> 00:10:42,190
‫Tahtada tür seçeneklerimiz vardı ve burada da bunu anlatacağız.

143
00:10:42,220 --> 00:10:46,360
‫Şimdi, açıkçası, ayarlamaya çalıştığımız şeyin bir nesne yerine bir vektör olduğundan şikayet edecektir.

144
00:10:46,360 --> 00:10:51,280
‫Bu yüzden get actor konumunu kaldıracağız ve oyuncu piyonunu aktaracağız.

145
00:10:51,280 --> 00:10:56,860
‫Bunun yerine, değeri temizlemek daha önce olduğu gibi aynıdır, bu yüzden editöre geri dönebilir,

146
00:10:56,890 --> 00:11:03,340
‫derlemeye basabilir ve bu yeni kurulumun I Kate'i hedefleyerek çalışıp çalışmadığını görebiliriz.

147
00:11:03,370 --> 00:11:05,800
‫Git ve merdivenlerden çıkarken beni bul.

148
00:11:06,590 --> 00:11:13,250
‫Gelip aşağıya bakmalarını sağlayın ve davranış ağacından güncellemeyi unuttuğum bir şey daha var,

149
00:11:13,250 --> 00:11:19,820
‫şu anda cansee oyuncusu karatahta anahtarını kendi aktörüne sıfırladı, bunun oyuncu olmasını

150
00:11:19,820 --> 00:11:26,600
‫istiyoruz temelde oyuncu seti hadi gidip bu değişikliği yapalım çünkü şu anda I bizi kovalamaya gelmiyordu,

151
00:11:26,600 --> 00:11:31,700
‫şimdi bizi kovalıyor ve aslında zıplarsanız, bu adamın hedef rotasyonunun

152
00:11:31,730 --> 00:11:36,050
‫değiştiğini hemen hemen görebilirsiniz.

153
00:11:36,050 --> 00:11:40,550
‫Merdivenlere gidelim ve merdivenlerden bize ateş edip edemeyeceğini görelim.

154
00:11:41,030 --> 00:11:41,690
‫Mükemmel.

155
00:11:41,690 --> 00:11:46,130
‫Rotasyonunu değiştirdi ve gerçekten de bize doğru ateş ediyor.

156
00:11:46,130 --> 00:11:47,300
‫İkisi de nerede?

157
00:11:47,300 --> 00:11:49,250
‫Bu yüzden sağlığımı kaybediyorum ve yakında öleceğim.

158
00:11:50,600 --> 00:11:57,080
‫Tamam, bu ders için bir hedef ofseti ekledik ve gözümüzü de bunu hedeflemek için kullanabilecek

159
00:11:57,080 --> 00:11:59,150
‫şekilde güncelledik.

160
00:11:59,180 --> 00:12:03,410
‫Bir sonraki derste havadayken bu komik koşu hakkında bir şeyler yapacağız.

161
00:12:03,410 --> 00:12:04,370
‫Orada görüşürüz.

