﻿1
00:00:04,430 --> 00:00:05,360
‫Merhaba ve hoş geldiniz.

2
00:00:05,360 --> 00:00:09,830
‫Bu derste Unreal'da çok önemli bir nesne olan dünya nesnesi hakkında bilgi

3
00:00:09,830 --> 00:00:10,820
‫edineceğiz.

4
00:00:10,820 --> 00:00:16,340
‫Bu dersin sonunda oyunumuzdaki mevcut zamanı bu nesneden nasıl alabileceğimizi ve konsola nasıl

5
00:00:16,340 --> 00:00:18,500
‫yazdırabileceğimizi göreceğim.

6
00:00:18,500 --> 00:00:20,690
‫Öyleyse içeri dalalım ve bunun nasıl çalıştığını görelim.

7
00:00:21,230 --> 00:00:28,280
‫Dolayısıyla, çizgi izleyiciler veya taramalar yapabilmek için başka bir kavramı, gerçek olmayan

8
00:00:28,280 --> 00:00:34,550
‫topraklarda var olan başka bir nesne türünü anlamamız gerekir ve bu nesne dünyadır.

9
00:00:34,550 --> 00:00:37,640
‫Bu yüzden seviyelerle çok uğraştık.

10
00:00:37,640 --> 00:00:41,540
‫İçerik çizimimize gidersek, haritaları da ele almış oluruz.

11
00:00:41,540 --> 00:00:46,790
‫Yani harita ve seviyenin eşanlamlı olduğundan bahsetmiştik.

12
00:00:46,790 --> 00:00:51,050
‫Ancak, başlangıçta bir dünya var gibi.

13
00:00:51,050 --> 00:00:59,120
‫Başlangıçta yeni dünya vardı ve yeni dünya, bir oyun oynadığımızda gördüğümüz temel

14
00:00:59,120 --> 00:01:01,940
‫ortamın türü, sınıfıdır.

15
00:01:02,300 --> 00:01:05,360
‫Ancak bu sadece tek bir seviye değildir.

16
00:01:05,360 --> 00:01:12,830
‫C++'da you level olarak adlandırılan ve sadece yeni dünyaya getirmemiz gereken aktörlerin bir koleksiyonu olan bir

17
00:01:12,830 --> 00:01:14,750
‫seviye yükleyebilirsiniz.

18
00:01:14,750 --> 00:01:19,730
‫Yani dünyanıza bir seviye yükleyebilirsiniz, ancak sadece bir seviye olması gerekmez.

19
00:01:19,730 --> 00:01:23,510
‫Tek bir dünyaya birden fazla seviye yükleyebilirsiniz.

20
00:01:23,510 --> 00:01:28,280
‫Bunun nedeni, genellikle bu akış seviyelerine sahip olmamız, performans nedenleriyle her şeyi,

21
00:01:28,280 --> 00:01:32,510
‫her aktörü tek seferde seviyeye yüklemek istemediğimiz çok büyük seviyelerimiz var.

22
00:01:32,510 --> 00:01:38,930
‫Bu yüzden onu birden fazla seviyeye ayırdık ve bu da sahnenin sadece gerekli kısımlarını getirmemize olanak

23
00:01:38,930 --> 00:01:39,860
‫sağladı.

24
00:01:39,860 --> 00:01:44,780
‫Yeni Dünya ile ilgili dokümantasyon sayfasına bakacak olursak, sanırım oldukça kısa ve öz bir

25
00:01:44,780 --> 00:01:51,020
‫şekilde dünyanın, aktörlerin ve bileşenlerin var olacağı ve işleneceği bir haritayı veya sanal alanı temsil eden en üst

26
00:01:51,020 --> 00:01:52,820
‫düzey nesne olduğunu açıklıyor.

27
00:01:52,820 --> 00:01:57,500
‫Ve biraz daha aşağıya bakarsanız, dünyanın tek bir kalıcı seviye olabileceğini söylüyor,

28
00:01:57,500 --> 00:02:03,890
‫temelde sürekli olarak orada olacak bir seviye veya potansiyel olarak isteğe bağlı bir akış seviyesi listesi veya temelde

29
00:02:03,890 --> 00:02:07,730
‫istediğimiz zaman yüklenebilecek seviyeler anlamına geliyor.

30
00:02:08,150 --> 00:02:10,850
‫Şimdi, tüm bunlar neden ilginç?

31
00:02:10,910 --> 00:02:14,600
‫Bu ilginç çünkü çizgi izleme yapmamıza olanak tanıyor.

32
00:02:14,600 --> 00:02:20,600
‫Buradaki dokümantasyonda çizgi izi için arama yaparsak, burada bir dizi işlev

33
00:02:20,600 --> 00:02:28,340
‫olduğunu göreceksiniz, özellikle bizim için en ilginç olanı, esasen sırasıyla bir çizgi izi tarafından

34
00:02:28,340 --> 00:02:36,020
‫vurulan ilk nesneyi veya tüm nesneleri ele geçirmemize olanak tanıyan kanala göre tekli çizgi izi veya

35
00:02:36,020 --> 00:02:39,170
‫kanala göre çoklu çizgi izidir.

36
00:02:39,320 --> 00:02:45,350
‫Ve argümanlar listesinin, özellikle de tekli çizgi izlemeye bakarsam, argümanlar

37
00:02:45,350 --> 00:02:52,520
‫listesinin başlangıcı, sonu ve izlemenin yapılacağı bir izleme kanalı olduğunu görebilirsiniz.

38
00:02:52,520 --> 00:02:58,100
‫Ve aslında bize parametre listesinde biraz garip olan bir sonuç verir ve bunu birazdan

39
00:02:58,100 --> 00:02:59,570
‫ele alacağız.

40
00:02:59,960 --> 00:03:02,000
‫Ama her neyse, bu hat izi.

41
00:03:02,000 --> 00:03:05,570
‫Ayrıca bir tarama yapma yeteneğimiz de var.

42
00:03:05,570 --> 00:03:09,980
‫Yani sweep için arama yaparsak, bir sweep multi bi kanal olduğunu görebilirsiniz.

43
00:03:10,010 --> 00:03:12,620
‫Ayrıca kanala göre tek bir tarama da vardır.

44
00:03:12,620 --> 00:03:20,690
‫Ve burada başlangıç ve bitişin yanı sıra, içeri aktarabileceğiniz bir çarpışma f çarpışma şekli türüne de sahipsiniz.

45
00:03:20,690 --> 00:03:26,900
‫Temel olarak bu F çarpışma şekline tıklarsak, bu konuda daha fazla bilgi edinmek için Unreal'daki

46
00:03:26,900 --> 00:03:33,650
‫belgeleri takip edebilir ve F çarpışma şeklinin temelde bir küre kapsül kutusu veya bir çizgi olmayı

47
00:03:33,650 --> 00:03:36,440
‫desteklediğini görebilirsiniz.

48
00:03:36,440 --> 00:03:43,880
‫Bu yüzden bizim durumumuzda küreyi bu şekilde kullanacağız ve bunları nasıl inşa edeceğimizi daha sonra göreceğiz.

49
00:03:43,880 --> 00:03:48,530
‫Ama bu yeni dünyayı neden ele geçirmek istediğimizi, bunun bizim için neden önemli olduğunu anlayabilirsiniz.

50
00:03:48,530 --> 00:03:52,550
‫Ancak asıl soru, yeni dünyayı nasıl ele geçireceğimizdir?

51
00:03:52,550 --> 00:03:55,490
‫Ve bir kez ele geçirdikten sonra, onu nasıl kullanacağız?

52
00:03:55,850 --> 00:03:59,360
‫Peki, gidip Visual Studio koduna bir göz atalım.

53
00:03:59,990 --> 00:04:06,710
‫Her bileşende ve her aktörde Get World adlı bir işlev vardır.

54
00:04:06,890 --> 00:04:12,800
‫Ve get world yazıp parantez içine alırsanız, bu U world türünde bir nesne döndürür.

55
00:04:12,800 --> 00:04:16,070
‫Aslında, new world türünde bir nesneye bir işaretçi.

56
00:04:16,070 --> 00:04:17,090
‫O zaman bunu saklayalım.

57
00:04:17,090 --> 00:04:23,690
‫Yeni bir Dünya işaretçimiz var, buna sadece dünya diyeceğiz, değil mi?

58
00:04:23,870 --> 00:04:25,700
‫Ve bu dünyaya eşittir.

59
00:04:25,700 --> 00:04:28,550
‫Ve sonra sonuna noktalı virgül koyabiliriz.

60
00:04:28,550 --> 00:04:34,550
‫Şimdi, bu dünyadan herhangi bir şeyi gerçekten ele geçirmek için ok operatörünü kullanacağız.

61
00:04:34,550 --> 00:04:41,300
‫Bu yüzden World Arrow'u yapacağız ve sonra gidip o dünyanın bazı ayrıntılarına bakabileceğiz.

62
00:04:41,300 --> 00:04:47,330
‫Ancak bunu yapmadan önce, başlık dosyasını dahil etmemiz gerekir çünkü aksi takdirde derleyici bu C++

63
00:04:47,330 --> 00:04:52,580
‫dosyasına ulaştığında, yeni bir dünya türünün içinde ne olduğunu bilemeyecektir.

64
00:04:52,580 --> 00:04:55,700
‫Yeni bir dünya hakkında hiçbir bilgi içermiyor.

65
00:04:55,850 --> 00:04:59,990
‫Bunu düzeltmek için Yeni Dünya belgelerimize bakmamız gerekiyor.

66
00:04:59,990 --> 00:05:03,470
‫En üste kaydırın ve o yeri arayın.

67
00:05:03,570 --> 00:05:10,530
‫include diyor ve bu bize kullanmamız gereken include'u veriyor, include quote engine Ford slash world'ü görebilirsiniz,

68
00:05:10,530 --> 00:05:18,990
‫ihtiyacımız olan şey bu, bu yüzden buraya bir H aldıktan sonra bunu koyacağız ve şimdi kontrol boşluğuna basarsak, bu belirli dünya

69
00:05:18,990 --> 00:05:23,670
‫ile yapabileceğimiz şeylerin bir listesini almalıyız.

70
00:05:23,670 --> 00:05:26,400
‫Ve elimizde onlardan çok var.

71
00:05:26,400 --> 00:05:34,770
‫Açıkçası, hat izimizi bulabiliriz, taramamızı çoklu veya tekli olarak bulabiliriz.

72
00:05:34,770 --> 00:05:38,070
‫Bu yüzden size zaman atlamasını basmanız için meydan okumak istiyorum.

73
00:05:38,070 --> 00:05:42,030
‫Bu, Yeni Dünya nesnesinde bulunan bir mülktür.

74
00:05:42,060 --> 00:05:48,060
‫Zaman saniye özelliğini bu dersle bağlantılı olan dokümantasyonda bulacak

75
00:05:48,060 --> 00:05:53,010
‫ve uygun tipte bir değişkende saklayacaksınız.

76
00:05:53,010 --> 00:05:58,950
‫Yine, belgelere bakmak size türün ne olması gerektiğini söyleyecek ve ardından uygun biçimi kullanarak bunu

77
00:05:58,950 --> 00:06:01,260
‫tekrar konsola günlüğe kaydedecektir.

78
00:06:01,260 --> 00:06:03,900
‫Bir duraklatma videosu belirleyin ve deneyin.

79
00:06:07,350 --> 00:06:08,340
‫Tamam, tekrar hoş geldin.

80
00:06:08,340 --> 00:06:13,890
‫Bu yüzden bunu kullanacağız ve yeni dünya dokümantasyonunda zaman için arama yaparsam,

81
00:06:13,890 --> 00:06:17,790
‫zaman saniye adında bir float olduğunu görebilirsiniz.

82
00:06:17,790 --> 00:06:21,360
‫Bu durumda istediğim şey oyun zamanıdır.

83
00:06:21,360 --> 00:06:26,040
‫Yani zamanı yavaşlatır ya da hızlandırırsanız, bu da yavaşlar ya da hızlanır.

84
00:06:26,040 --> 00:06:29,280
‫Ama bundan etkilenmeyenler de var.

85
00:06:29,580 --> 00:06:30,480
‫Farklı olanlar var.

86
00:06:30,480 --> 00:06:33,570
‫Zamanınız, saniyeleriniz, duraklatma süreniz, saniyeleriniz var.

87
00:06:33,570 --> 00:06:38,700
‫Ayrıca, hiçbir şekilde duraklatılmayan veya değiştirilmeyen gerçek zamanlı saniyeler de vardır.

88
00:06:38,910 --> 00:06:40,590
‫Bu yüzden zaman saniyeleriyle ilgileniyorum.

89
00:06:40,590 --> 00:06:43,710
‫Hangisini kullandığımızın pek bir önemi yok çünkü zaten hepsi şamandıra.

90
00:06:43,710 --> 00:06:48,360
‫Bu yüzden Time adında bir float oluşturacağım ve World Arrow Time'ı saklayacağım.

91
00:06:48,360 --> 00:06:53,940
‫Kısaca saniyeler var, aslında dünyayı kendi değişkenine koymamıza gerek yok.

92
00:06:53,940 --> 00:06:56,790
‫Get World demek için yeterince kısa.

93
00:06:56,790 --> 00:06:57,960
‫Genelde böyle yaparız.

94
00:06:57,960 --> 00:07:01,590
‫O zaman ok zamanı saniyeler gibi dünyayı alacak.

95
00:07:01,590 --> 00:07:12,420
‫Şimdi mevcut zamanın ne olduğunu söyleyeceğimiz bir günlük tutabiliriz ve sonra bir yüzde F yapacağız çünkü burada kayan

96
00:07:12,420 --> 00:07:19,790
‫noktalı bir sayı yazdırıyoruz ve sonra günlüğe girdi olarak zamanı verebiliriz.

97
00:07:19,800 --> 00:07:28,440
‫Şimdi kontrol alt f 11'den canlı koda geçelim ve ardından çıktı günlüğünü açıp yerleştirelim.

98
00:07:29,760 --> 00:07:31,620
‫Ve oynat tuşuna bas.

99
00:07:32,670 --> 00:07:40,860
‫Ve orada, oyunumuzda zaman geçtikçe saniye cinsinden sayan bir mevcut zamanımız olduğunu görebilirsiniz.

100
00:07:40,860 --> 00:07:47,580
‫Ve eğer gerçekten duraklatma düğmesine basarsak, zamanın durduğunu ve oynat düğmesine bastığımızda kaldığımız

101
00:07:47,580 --> 00:07:50,310
‫yerden devam ettiğini fark edersiniz.

102
00:07:50,610 --> 00:07:51,150
‫İstiyor.

103
00:07:51,150 --> 00:07:56,130
‫Gerçek zamanlı saniyeleri kullanmayı deneyebilir ve bu etkinin olup olmadığını görebilirsiniz.

104
00:07:56,220 --> 00:07:57,690
‫Ama buraya gelmeyeceğim.

105
00:07:57,690 --> 00:08:03,600
‫Bu yeni dünya nesnesine, şu anda içinde bulunduğumuz bu dünya nesnesine ulaşabileceğimizi ve

106
00:08:03,600 --> 00:08:07,980
‫okumuzu kullanarak ondan özellikler alabileceğimizi gösterdik.

107
00:08:07,980 --> 00:08:11,580
‫Operatör Sırtınızı sıvazlayın ve bir sonraki derste görüşmek üzere.

