﻿1
00:00:04,460 --> 00:00:05,320
‫Hallo en welkom.

2
00:00:05,330 --> 00:00:09,770
‫In deze lezing gaan we iets leren dat het wereldobject wordt genoemd, een heel belangrijk object

3
00:00:09,770 --> 00:00:10,640
‫in Unreal.

4
00:00:10,850 --> 00:00:15,950
‫We gaan kijken hoe we vanaf dit object naar de huidige tijd in ons spel kunnen gaan en het tegen het

5
00:00:15,950 --> 00:00:18,350
‫einde van deze lezing op de console kunnen afdrukken.

6
00:00:18,620 --> 00:00:20,420
‫Dus laten we erin duiken en kijken hoe dit werkt.

7
00:00:21,350 --> 00:00:28,190
‫Dus om lijntracers of sweeps te kunnen doen, moeten we een ander concept begrijpen, een ander

8
00:00:28,190 --> 00:00:34,280
‫type object dat in onwerkelijk land bestaat, en dat object is de wereld.

9
00:00:34,670 --> 00:00:37,610
‫We hebben dus veel met niveaus te maken gehad.

10
00:00:37,610 --> 00:00:41,330
‫Dus als we naar onze inhoudstrekking gaan, hebben we ook met kaarten te maken gehad.

11
00:00:41,690 --> 00:00:46,520
‫Dus de kaart en het niveau waar we het over hadden als synoniemen.

12
00:00:46,850 --> 00:00:50,840
‫In het begin is een wereld echter zo.

13
00:00:51,110 --> 00:00:59,060
‫In het begin was de nieuwe wereld en de nieuwe wereld is het type, is de klasse voor in wezen de omgeving die

14
00:00:59,060 --> 00:01:01,730
‫we zien als we een spel spelen.

15
00:01:02,360 --> 00:01:05,300
‫Maar het is niet noodzakelijkerwijs één niveau.

16
00:01:05,300 --> 00:01:12,800
‫Je kunt een niveau laden dat een jij-niveau wordt genoemd in C++, wat slechts een verzameling is van de acteurs die we in de

17
00:01:12,800 --> 00:01:14,720
‫nieuwe wereld zouden moeten brengen.

18
00:01:14,720 --> 00:01:19,700
‫U kunt dus een niveau in uw nieuwe wereld laden, maar niet per se één niveau.

19
00:01:19,700 --> 00:01:23,270
‫U kunt in meerdere niveaus in een enkele wereld laden.

20
00:01:23,600 --> 00:01:28,220
‫En dat komt omdat we vaak deze streamingniveaus hebben, we hebben zeer grote niveaus waar we

21
00:01:28,220 --> 00:01:32,300
‫niet alles willen laden, elke acteur in één keer in het niveau om prestatieredenen.

22
00:01:32,600 --> 00:01:38,870
‫Dus we splitsen het op in meerdere niveaus en dat stelt ons in staat om alleen delen van de scène binnen te halen als dat

23
00:01:38,870 --> 00:01:39,560
‫nodig is.

24
00:01:39,950 --> 00:01:44,720
‫Dus als we naar de documentatiepagina over New World kijken, denk ik dat het nogal beknopt

25
00:01:44,720 --> 00:01:50,960
‫beschrijft dat de wereld het object op het hoogste niveau is dat een kaart of een sandbox vertegenwoordigt waarin actoren en componenten

26
00:01:50,960 --> 00:01:52,580
‫zullen bestaan en worden weergegeven.

27
00:01:52,850 --> 00:01:57,230
‫En als je een beetje verder naar beneden kijkt, staat er dat de wereld een

28
00:01:57,560 --> 00:02:03,830
‫enkel persistent niveau kan zijn, in feite een niveau dat er constant zal zijn of met mogelijk een optionele lijst van

29
00:02:03,830 --> 00:02:07,460
‫streamingniveaus en vreemde basisniveaus die kunnen worden geladen wanneer we wil.

30
00:02:08,270 --> 00:02:10,550
‫Waarom is dit allemaal interessant?

31
00:02:11,000 --> 00:02:14,540
‫Het is interessant omdat het ons in staat stelt om lijnen te traceren.

32
00:02:14,540 --> 00:02:20,540
‫Als we hier in de documentatie zoeken naar lijntracering, dan zul je zien dat er hier

33
00:02:20,570 --> 00:02:28,280
‫een heleboel functionaliteit is, met name degene die voor ons het meest interessant is, is de lijntracering per kanaal of de

34
00:02:28,280 --> 00:02:35,960
‫lijntracering per kanaal, wat ons in wezen in staat stelt respectievelijk om die eerste objecttreffer of alle objecten die door een

35
00:02:35,960 --> 00:02:38,930
‫lijntracering zijn geraakt te pakken te krijgen.

36
00:02:39,410 --> 00:02:45,260
‫En je kunt zien dat de lijsten met argumenten, vooral als ik kijk naar de regel trace

37
00:02:45,260 --> 00:02:52,220
‫single, de lijst met argumenten heeft het begin en het einde, het heeft een traceerkanaal waarvoor de tracering moet worden gedaan.

38
00:02:52,640 --> 00:02:58,040
‫En het geeft ons eigenlijk een resultaat in de parameterlijst, wat een beetje vreemd is en dat

39
00:02:58,040 --> 00:02:59,360
‫zullen we binnenkort behandelen.

40
00:03:00,020 --> 00:03:01,940
‫Maar goed, dit is het lijnspoor.

41
00:03:01,940 --> 00:03:05,420
‫We hebben ook de mogelijkheid om een sweep te doen.

42
00:03:05,540 --> 00:03:09,740
‫Dus als we zoeken naar sweep, kun je zien dat er een sweep multi bi-kanaal is.

43
00:03:09,980 --> 00:03:12,380
‫Er is ook een sweep-single per kanaal.

44
00:03:12,710 --> 00:03:20,120
‫En hier, naast het begin en het einde, heb je ook een botsingsvorm die je kunt

45
00:03:20,120 --> 00:03:20,630
‫doorgeven.

46
00:03:20,630 --> 00:03:26,840
‫Als we op die F-botsing klikken, een vorm die je in realtime in de documentatie

47
00:03:26,840 --> 00:03:33,560
‫kunt volgen, lees er meer over en je kunt zien dat die botsingsvorm in feite een

48
00:03:33,620 --> 00:03:36,230
‫bol, capsuledoos of een lijn ondersteunt.

49
00:03:36,530 --> 00:03:43,550
‫Dus we gaan de bol in ons geval zo gebruiken, en we zullen later zien hoe we deze kunnen construeren.

50
00:03:44,030 --> 00:03:48,500
‫Maar je begrijpt waarom we die wereld willen pakken, waarom het belangrijk voor ons is.

51
00:03:48,500 --> 00:03:52,520
‫Maar de vraag is hoe krijgen we de nieuwe wereld te pakken?

52
00:03:52,520 --> 00:03:55,190
‫En als we het eenmaal in handen hebben, hoe gebruiken we het dan?

53
00:03:55,940 --> 00:03:59,090
‫Laten we eens gaan kijken in Visual Studio-code.

54
00:03:59,990 --> 00:04:06,410
‫Op elk onderdeel en elke actor is er een functie genaamd Get World.

55
00:04:07,010 --> 00:04:13,310
‫En als je get world typt en vervolgens haakjes, geeft dit een object van het type you world terug, in feite een

56
00:04:13,310 --> 00:04:15,950
‫aanwijzer naar een object van het type U world.

57
00:04:16,100 --> 00:04:17,030
‫Dus laten we dat opslaan.

58
00:04:17,030 --> 00:04:23,450
‫We hebben een nieuwe wereldwijzer, die zal zijn, we zullen het gewoon de wereld noemen, zullen we?

59
00:04:23,990 --> 00:04:25,670
‫En dat is gelijk aan werelden krijgen.

60
00:04:25,670 --> 00:04:28,310
‫En dan kunnen we daar een puntkomma aan het einde zetten.

61
00:04:28,610 --> 00:04:34,490
‫Nu, om werkelijk iets van deze wereld te pakken te krijgen, gaan we de pijl-operator gebruiken.

62
00:04:34,550 --> 00:04:40,280
‫Dus we gaan World Arrow doen, en dan kunnen we wat details van die wereld gaan

63
00:04:40,280 --> 00:04:41,000
‫bekijken.

64
00:04:41,450 --> 00:04:47,270
‫Maar voordat we dat doen, moeten we het header-bestand opnemen, omdat anders dit C++-bestand, wanneer de compiler

65
00:04:47,270 --> 00:04:52,550
‫erbij komt, niet zal weten wat er is opgenomen in een dat u gaat typen.

66
00:04:52,550 --> 00:04:55,490
‫Het heeft geen enkele informatie over een jij-wereld.

67
00:04:55,970 --> 00:05:02,120
‫Dus om dit op te lossen, moeten we onze documentatie bekijken, want u scrolt naar boven en zoekt naar die

68
00:05:02,120 --> 00:05:03,410
‫plaats waar het staat.

69
00:05:03,540 --> 00:05:10,170
‫Zegt include en dat geeft ons de include die we moeten gebruiken, je kunt zeggen include quote engine voor zijn.

70
00:05:10,490 --> 00:05:15,030
‫Nou, dat is wat we nodig hebben, dus we plaatsen dat gewoon nadat ik een stip op hem heb genomen.

71
00:05:15,990 --> 00:05:22,950
‫En als we nu de ruimte beheersen, zouden we een lijst moeten krijgen van de dingen die we met deze specifieke wereld kunnen

72
00:05:22,950 --> 00:05:23,400
‫doen.

73
00:05:23,820 --> 00:05:26,340
‫En er zijn er veel die we hebben.

74
00:05:26,340 --> 00:05:35,580
‫Het is duidelijk dat we onze lijntracering kunnen vinden, we kunnen onze sweep vinden op meerdere of enkele sites, en u uitdagen om

75
00:05:35,580 --> 00:05:38,010
‫de time-lapse af te drukken.

76
00:05:38,010 --> 00:05:41,730
‫Dit is een eigenschap die beschikbaar is op het nieuwe wereldobject.

77
00:05:42,180 --> 00:05:48,030
‫Je zult de eigenschap time seconds vinden, lees erover in de documentatie die is gekoppeld aan

78
00:05:48,030 --> 00:05:52,980
‫deze lezing en sla het op in een variabele van het juiste type.

79
00:05:52,980 --> 00:05:58,890
‫Nogmaals, als u naar de documentatie kijkt, weet u wat het type moet zijn en logt u dat vervolgens opnieuw in

80
00:05:58,890 --> 00:06:01,200
‫op de console met het juiste formaat.

81
00:06:01,200 --> 00:06:03,660
‫Geef een pauzevideo op en probeer het.

82
00:06:07,290 --> 00:06:07,620
‫Oké.

83
00:06:07,620 --> 00:06:08,280
‫Welkom terug.

84
00:06:08,290 --> 00:06:13,860
‫Dus we gaan hier gebruik van maken en als ik naar tijd zoek in de documentatie die je zult

85
00:06:13,860 --> 00:06:17,760
‫zien, kun je zien dat er een float is die tijdseconden wordt genoemd.

86
00:06:17,760 --> 00:06:19,140
‫Dat is degene die ik wil.

87
00:06:19,440 --> 00:06:21,300
‫In dit geval is dit de speeltijd.

88
00:06:21,300 --> 00:06:25,920
‫Dus als je de versnellingstijd vertraagt, wordt deze ook vertraagd of versneld.

89
00:06:26,040 --> 00:06:29,010
‫Maar er zijn er waar dat niet wordt beïnvloed.

90
00:06:29,580 --> 00:06:31,020
‫Er zijn verschillende die je daar hebt.

91
00:06:31,020 --> 00:06:33,540
‫Tijd, seconden, de pauzetijd seconden.

92
00:06:33,540 --> 00:06:38,490
‫Er zijn ook de realtime seconden, die op geen enkele manier worden gepauzeerd of gewijzigd.

93
00:06:39,030 --> 00:06:40,560
‫Dus ik ben geïnteresseerd in de tijd seconden.

94
00:06:40,560 --> 00:06:43,650
‫Het maakt eigenlijk niet uit welke we gebruiken, want het zijn toch allemaal drijvers.

95
00:06:43,650 --> 00:06:48,330
‫Dus ik ga een vlotter maken met de naam Tijd en de Wereldpijltijd opslaan.

96
00:06:48,330 --> 00:06:53,700
‫Seconden daar nu voor kort, we hoeven de wereld niet echt in zijn eigen variabele te plaatsen.

97
00:06:53,940 --> 00:06:56,730
‫Het is vrij kort genoeg om het gewoon wereld krijgen te noemen.

98
00:06:56,730 --> 00:06:57,900
‫Dus dat is wat we meestal doen.

99
00:06:57,900 --> 00:07:01,530
‫Krijgt wereld dan pijltijd seconden zoals.

100
00:07:01,530 --> 00:07:12,330
‫Dus nu kunnen we een logboek maken waarvan we gaan zeggen dat de huidige tijd is en dan gaan we een procent F doen omdat we

101
00:07:12,330 --> 00:07:18,810
‫hier een drijvende-kommagetal afdrukken en dan kunnen we het de tijd geven als invoer in het

102
00:07:18,810 --> 00:07:19,560
‫logboek.

103
00:07:19,890 --> 00:07:28,110
‫Laten we nu alt f 11 naar live-code gaan en dan gaan we het uitvoerlogboek openen en docken.

104
00:07:29,790 --> 00:07:31,320
‫En druk op play.

105
00:07:32,760 --> 00:07:39,510
‫En daar kun je zien dat we een huidige tijd hebben die in seconden optelt naarmate de tijd verstrijkt in een

106
00:07:39,510 --> 00:07:40,800
‫spel als dit.

107
00:07:40,800 --> 00:07:47,070
‫En als we echt op de pauzeknop drukken, merk je dat de tijd stopt met lopen en als we op afspelen drukken,

108
00:07:47,400 --> 00:07:49,980
‫gaat hij gewoon verder vanaf waar we waren.

109
00:07:50,550 --> 00:07:51,090
‫Hij wil.

110
00:07:51,090 --> 00:07:55,860
‫Je kunt experimenteren met het gebruik van de realtime seconden en kijken of dat effect optreedt.

111
00:07:56,340 --> 00:07:57,630
‫Maar ik ga hier niet heen.

112
00:07:57,630 --> 00:08:03,540
‫We hebben laten zien dat we deze nieuwe wereldobjecten kunnen bemachtigen, deze wereldobjecten waarin we ons momenteel

113
00:08:03,540 --> 00:08:08,640
‫bevinden en dat we er eigenschappen van kunnen krijgen met behulp van onze pijloperator.

114
00:08:08,790 --> 00:08:11,340
‫Geef jezelf een schouderklopje en ik zie je in de volgende lezing.

