﻿1
00:00:04,350 --> 00:00:04,760
‫Merhaba.

2
00:00:04,800 --> 00:00:05,190
‫Hoş geldiniz.

3
00:00:05,190 --> 00:00:09,750
‫Bu derste, yakalayıcıyı çok daha güvenilir hale getireceğiz.

4
00:00:09,750 --> 00:00:16,860
‫Ayrıca yakalanan bir bileşeni bırakmayı mümkün kılacağız, böylece onu etrafa fırlatabilir ve genellikle biraz

5
00:00:16,860 --> 00:00:19,890
‫daha kullanışlı olmasını sağlayabiliriz.

6
00:00:19,920 --> 00:00:21,870
‫Şimdi bunun nasıl yapıldığını görelim.

7
00:00:22,850 --> 00:00:28,430
‫Şimdi, bu gargoyle'ı genellikle algılayamamamızın nedeni, performans uğruna

8
00:00:28,430 --> 00:00:35,990
‫fizik simülasyonu yapan bileşenlerin belirli bir süre hareketsiz kaldıklarında uykuya geçmeleridir.

9
00:00:35,990 --> 00:00:37,310
‫Ve gördüğümüz şey de bu.

10
00:00:37,310 --> 00:00:43,310
‫Bu gargoyles fizik simülasyonu uykuya dalıyor ve fizik kolumuzla ona bağlandığımızda

11
00:00:43,310 --> 00:00:45,290
‫uyandırılmıyor.

12
00:00:45,290 --> 00:00:51,400
‫Bu yüzden öğrenmemiz gereken şey, bir küre izi ile vurduğumuzda onu uyandırmaktır.

13
00:00:51,410 --> 00:00:56,420
‫Şimdi gidip gördüğümüz ilkel bileşen belgelerine bir göz atalım.

14
00:00:56,420 --> 00:01:02,420
‫İlkel bileşen, isabet sonucumuz tarafından döndürülen şeydir, ancak aslında ilkel bir bileşen

15
00:01:02,420 --> 00:01:03,260
‫olan şeydir.

16
00:01:03,440 --> 00:01:10,010
‫Belgelerde, ilkel bir bileşenin bir tür geometri içeren veya üreten ve çarpışma

17
00:01:10,010 --> 00:01:16,160
‫verisi olarak işlenen veya kullanılan bir sahne bileşeni olduğu yazıyor.

18
00:01:16,160 --> 00:01:21,770
‫Yani genel olarak konuşursak, ilkel bileşenler fizik simülasyonu yapabilen bileşenlerdir.

19
00:01:22,130 --> 00:01:27,830
‫Dolayısıyla burada bazı fizik simülasyon yöntemleri bulmayı bekleyebiliriz.

20
00:01:27,830 --> 00:01:32,030
‫Arayacağım şey ise içinde wake anahtar sözcüğü geçen bir fonksiyon.

21
00:01:32,060 --> 00:01:37,820
‫Tüm katı cisimleri uyandır diyen bir fonksiyon bulana kadar birkaç fonksiyona bakacağız.

22
00:01:38,270 --> 00:01:43,610
‫Katı cisimler esasen fiziği simüle eden nesneler için kullanılan bir fizik terimidir.

23
00:01:43,610 --> 00:01:44,780
‫Yani bir boşluk olduğunu görebilirsiniz.

24
00:01:44,780 --> 00:01:46,700
‫Dönüş türü herhangi bir argüman almaz.

25
00:01:46,700 --> 00:01:52,010
‫Dolayısıyla, ona bağlanmaya çalıştığımızda bunu çağırabilmeliyiz.

26
00:01:52,010 --> 00:01:58,610
‫Dolayısıyla, if deyimimizin içindeki grab a CP'ye gidersek, bu bileşene ulaştık, onu yakalamak üzereyiz.

27
00:01:58,610 --> 00:02:04,550
‫Yapmamız gereken ilk şey, bu ilkel bileşeni saklamak için bir değişken oluşturmak olabilir.

28
00:02:04,550 --> 00:02:15,170
‫Böylece, isabet sonucu nokta get bileşenine eşit olan isabet bileşeni adlı bir ilkel bileşen

29
00:02:15,470 --> 00:02:17,990
‫işaretçimiz olacak.

30
00:02:18,530 --> 00:02:27,770
‫Ve sonra bu bileşen işaretçisini kullanarak, tüm katı cisimleri okla uyandırabilir ve ardından parantezleri ve noktalı virgülü

31
00:02:27,770 --> 00:02:29,690
‫sonuna koyabiliriz.

32
00:02:29,690 --> 00:02:35,900
‫Yani bu bileşene bir tekme atmalı, onu uyandırmalı ve böylece fizik tutamacına yanıt vermesini sağlamalıdır.

33
00:02:35,930 --> 00:02:39,160
‫Şimdi isabetli sonuçları yaptığımız yeri değiştirelim.

34
00:02:39,200 --> 00:02:46,400
‫Bileşen konumunu almak için fizik kolu çağrımızda bileşenleri almayın çünkü artık bunun için bir değişkenimiz

35
00:02:46,400 --> 00:02:49,460
‫var ve bu bittiğinde yeniden derleyelim.

36
00:02:49,460 --> 00:02:56,480
‫Devam edip oynat düğmesine basalım ve çirkin yaratığın şimdilik yerde biraz oturmasına ve uyumasına izin verelim

37
00:02:56,480 --> 00:02:58,910
‫ve sonra onu kaldırmayı deneyelim.

38
00:02:58,910 --> 00:03:05,120
‫Ve fark edeceksiniz ki, onu almakta, yerde bırakmakta, her ne olursa olsun hiçbir sorunumuz yok.

39
00:03:05,120 --> 00:03:12,440
‫İyi olacak ve bu fizik katı cisimlerini uyandıracak ve onları simüle etmeye başlayacak, böylece kaldırılabilecek

40
00:03:12,440 --> 00:03:13,910
‫ve tutulabilecek.

41
00:03:13,910 --> 00:03:18,560
‫Şimdi, şu anda fizik kolunu serbest bırakamadığımızı fark etmiş olabilirsiniz,

42
00:03:18,560 --> 00:03:23,300
‫bu yüzden serbest bırakma işlevinde bunu yapmak sizin göreviniz olacak.

43
00:03:23,360 --> 00:03:26,570
‫Yani bu fizik tutamacında serbest bırakma bileşenini çağıracaksınız.

44
00:03:26,570 --> 00:03:29,660
‫Bu, fizik tutamacı işaretçisinde mevcut olan bir işlevdir.

45
00:03:29,840 --> 00:03:34,910
‫Önce bir get grabbed bileşenimiz olup olmadığını kontrol edeceksiniz.

46
00:03:34,910 --> 00:03:40,040
‫Bu nedenle, grab bileşenine bir işaretçi döndüren grab bileşenini alırsanız, fizik tutamacı o anda

47
00:03:40,040 --> 00:03:43,010
‫herhangi bir şey tutmuyorsa bu noktalar null olacaktır.

48
00:03:43,010 --> 00:03:48,530
‫Böylece bunu, elimizde bir şey olup olmadığını kontrol etmek için kullanabilir ve yalnızca şu anda bir şey alıyorsak serbest bırakabilirsiniz.

49
00:03:48,530 --> 00:03:53,090
‫Ve bonus olarak, hedefi tekrar belirleyip belirleyemeyeceğimizi görmek için bir deneme yapabilirsiniz.

50
00:03:53,090 --> 00:03:58,070
‫Sadece bir şey kapıyorsak, ama videoyu izleyin ve bir deneyin.

51
00:04:01,590 --> 00:04:02,470
‫Tekrar hoş geldiniz.

52
00:04:02,490 --> 00:04:06,090
‫Hadi gidip bir fincan alalım.

53
00:04:06,230 --> 00:04:10,490
‫Serbest bırakma işlevine girip serbest bırakma günlüğünü kaldıracağım.

54
00:04:10,500 --> 00:04:16,650
‫Ve buraya bir if ifadesi koyacağız ve if diyeceğiz ve şimdi fizik tutamaçlarımızı

55
00:04:16,650 --> 00:04:18,360
‫tutmamız gerekiyor.

56
00:04:18,360 --> 00:04:25,650
‫Bu yüzden, her şeyden önce, fizik tanıtıcısı olarak adlandıracağımız bir fizik tanıtıcısı bileşen işaretçisi

57
00:04:25,650 --> 00:04:31,410
‫yapacağız ve bunu fizik tanıtıcısı al'a eşit olarak ayarlayacağız.

58
00:04:31,590 --> 00:04:40,770
‫O zaman fizik tanıtıcısı null işaretçisine eşitse, devam etmek ve geri dönmek istiyoruz çünkü hiçbir şey yapamayacağız,

59
00:04:40,770 --> 00:04:44,400
‫hiçbir şeyi serbest bırakamayacağız.

60
00:04:44,400 --> 00:04:51,330
‫Eğer bir fizik tutamacımız yoksa, o zaman fizik tutamacımızla şu anda herhangi bir şeye tutunup tutunmadığımızı kontrol

61
00:04:51,330 --> 00:04:52,650
‫etmek isteriz.

62
00:04:52,650 --> 00:05:03,390
‫Diyelim ki, physics handle arrow get grabbed bileşeninin parantezleri null işaretçisine eşit değilse, o zaman bu if deyiminin gövdesi

63
00:05:04,080 --> 00:05:09,420
‫içinde şu anda bir şey yakaladığımız anlamına gelir, o zaman adından

64
00:05:09,420 --> 00:05:17,730
‫da anlaşılacağı gibi gitmesine izin verecek olan bir physics handle arrow release bileşeni yapacağız.

65
00:05:17,730 --> 00:05:24,450
‫Buradaki kodda yapmadığım ama muhtemelen sizinkine eklemeye değer bir şey de, bileşeni serbest

66
00:05:24,450 --> 00:05:32,160
‫bırakmadan önce, devam edip get grabbed components'i çağırmak ve ardından bileşeni yakalamadan önce yaptığımız

67
00:05:32,160 --> 00:05:36,180
‫gibi zayıf tüm katı gövdeleri eklemektir.

68
00:05:36,180 --> 00:05:41,520
‫Çünkü bir bileşeni büyütür ve bir süre hareket ettirmezsek, o da uykuya dalabilir.

69
00:05:41,520 --> 00:05:43,470
‫Bu yüzden serbest bırakılması hiçbir işe yaramayacaktır.

70
00:05:43,470 --> 00:05:51,300
‫Dolayısıyla, bu köşe durumunu yakalayacağından ve şu anda hiçbir şey tutmayan bir fizik tutamacımız varsa

71
00:05:51,300 --> 00:05:56,790
‫hedef konumu tik olarak ayarlamamak istediğimizden bu eklemeye değer.

72
00:05:56,790 --> 00:06:02,190
‫Yani burada tik bileşenlerimizde, tamamen aynı olacak bir if deyimi koyacağız.

73
00:06:02,190 --> 00:06:11,730
‫Fizik tutamacı okunun yakalanan bileşenin null işaretçisine eşit olmadığını söyleyecektir.

74
00:06:11,760 --> 00:06:18,810
‫Ardından if deyiminin gövdesine, hedef konumun hesaplanmasını ve hedef konumun ayarlanmasını

75
00:06:18,810 --> 00:06:22,380
‫da bu fizik tutamacına koyacağız.

76
00:06:22,380 --> 00:06:24,330
‫Yeniden derleyelim ve bunu deneyelim.

77
00:06:24,330 --> 00:06:26,070
‫Devam edelim ve oynat tuşuna basalım.

78
00:06:26,970 --> 00:06:28,920
‫Ve gargoyle'u yakalamaya çalış.

79
00:06:28,920 --> 00:06:33,420
‫Sonra fareyi bıraktığımda tekrar yere düşüyor.

80
00:06:33,420 --> 00:06:39,000
‫Yani uyanık ya da uykuda olmasından etkilenmiyor gibi görünüyor.

81
00:06:39,000 --> 00:06:43,610
‫Esasen her seferinde onu kaldırıyor olsak da uyandırıyor gibi görünüyoruz.

82
00:06:43,620 --> 00:06:46,950
‫Bu da tam istediğim gibi çalışıyor gibi görünüyor.

83
00:06:46,950 --> 00:06:47,910
‫Sıkışmıyor.

84
00:06:47,910 --> 00:06:49,950
‫Doğru gibi hissediyorum.

85
00:06:49,980 --> 00:06:56,520
‫Biraz garip olan tek şey, içine doğru hareket ettiğimde, oyuncuyla gerçekten çarpıştığı için bu garip

86
00:06:56,520 --> 00:06:59,550
‫titremeyi yaptığını görebilirsiniz.

87
00:06:59,550 --> 00:07:06,840
‫Şimdi ayrıntılar bölmesinde çirkin adamımıza giderek, tüm kategoriyi seçerek, çarpışmaya

88
00:07:06,840 --> 00:07:13,950
‫kaydırarak ve özel çarpışma ön ayarımıza ve nesne yanıtlarında aşağıya bakarak bunu biraz

89
00:07:13,950 --> 00:07:15,510
‫düzeltebiliriz.

90
00:07:15,510 --> 00:07:17,760
‫Bu konuda daha sonra biraz daha bilgi vereceğiz.

91
00:07:17,760 --> 00:07:20,910
‫Bir piyon nesnesi yanıtı var.

92
00:07:20,910 --> 00:07:25,650
‫Bu temel olarak şunu söyler: Piyonla çarpışmalı mıyım yoksa çarpışmamalı mıyım?

93
00:07:25,680 --> 00:07:27,570
‫Piyona cevabım ne olmalı?

94
00:07:27,570 --> 00:07:31,740
‫Piyonla çakışacak şekilde ayarlayacağım.

95
00:07:31,740 --> 00:07:36,690
‫Bu da demek oluyor ki, eğer benimle çarpışırsa, aslında onu görmezden geliyor.

96
00:07:36,690 --> 00:07:41,880
‫Ve sonra yapmamız gereken bir şey daha var, çünkü bu aslında iki statik kafesten oluşuyor,

97
00:07:41,880 --> 00:07:43,890
‫kendi çarpışma ayarları var.

98
00:07:43,890 --> 00:07:46,320
‫Toprak tümseğe gideceğim.

99
00:07:46,320 --> 00:07:48,720
‫Gargoyle'un altındaki şey.

100
00:07:49,110 --> 00:07:52,350
‫Ve burada aslında sadece işleri basitleştireceğim.

101
00:07:52,350 --> 00:07:57,480
‫Toprak tümsek kısmını yapacağım, çarpışma yok.

102
00:07:57,490 --> 00:08:00,300
‫Bu yüzden çarpışma yok ön ayarına geçeceğim.

103
00:08:00,510 --> 00:08:05,250
‫Sonra devam edip oynat tuşuna basacağım ve yerden çirkin yaratığı alacağım.

104
00:08:05,250 --> 00:08:09,540
‫Ve şimdi onunla koştuğumda, oyuncu çarpışma ağıyla çarpışmaya çalışmadığı

105
00:08:09,540 --> 00:08:14,730
‫için o garip aksaklıkların hiçbirinin olmadığını görebilirsiniz.

106
00:08:14,760 --> 00:08:15,540
‫Harika bir şey.

107
00:08:15,540 --> 00:08:22,170
‫Bu derste kapma işlemimizi nasıl daha güvenilir hale getirebileceğimizi ve kapma bileşenini nasıl serbest bırakabileceğimizi

108
00:08:22,170 --> 00:08:23,790
‫öğrendik.

109
00:08:23,790 --> 00:08:24,510
‫Harika bir şey.

110
00:08:24,510 --> 00:08:26,190
‫Bir sonraki derste görüşürüz.

