﻿1
00:00:04,350 --> 00:00:06,000
‫Hallo en welkom deze lezing.

2
00:00:06,000 --> 00:00:10,890
‫We gaan kijken hoe we dingen naar het uitvoerlogboek kunnen schrijven en specifiek hoe we

3
00:00:10,890 --> 00:00:16,260
‫de waarden van onze variabelen erin kunnen schrijven die ons kunnen helpen bij het debuggen van onze games.

4
00:00:16,260 --> 00:00:18,180
‫Laten we erin duiken en kijken hoe dit werkt.

5
00:00:19,410 --> 00:00:26,610
‫Dus in Blueprint konden we dingen naar het scherm schrijven als we snel wat informatie wilden weergeven

6
00:00:26,610 --> 00:00:30,060
‫of mogelijk iets in het verleden wilden debuggen.

7
00:00:30,420 --> 00:00:38,790
‫We hebben in C++ een nieuwe eigenschap gebruikt om dat te doen, maar we kunnen dit doen met behulp van een log-statement en het is een beetje ingewikkeld,

8
00:00:38,790 --> 00:00:43,380
‫onwerkelijk, en daarom heb ik er tot nu toe voor terugdeinzen om het te doen.

9
00:00:43,620 --> 00:00:47,640
‫We zijn dus wat meer vertrouwd met de C++-syntaxis voordat we deze aan u introduceren.

10
00:00:48,180 --> 00:00:56,730
‫Nu, de manier waarop het werkt, is als je de extensie hier hebt, de onwerkelijke vier fragmenten installeert door caps te cachen.

11
00:00:57,000 --> 00:01:00,690
‫Dit wordt eigenlijk een beetje eenvoudiger omdat je niet alle complexiteit van de syntaxis hoeft te

12
00:01:00,690 --> 00:01:01,170
‫onthouden.

13
00:01:01,170 --> 00:01:07,800
‫Je typt gewoon, je logt in en het zal verschijnen met een IntelliSense-dialoogvenster zoals dit waarin staat dat je logt om je te

14
00:01:07,800 --> 00:01:13,350
‫helpen het hele stuk code uit te schrijven en je kunt erop klikken, invoeren of selecteren met je muis.

15
00:01:13,710 --> 00:01:18,180
‫En dan zie je dat er iets is uitgeschreven dat een beetje op een functie lijkt.

16
00:01:18,180 --> 00:01:24,330
‫Het is niet echt een functie onder de motorkap, er is hier een beetje onwerkelijke magie aan de hand, maar het

17
00:01:24,660 --> 00:01:27,420
‫is in wezen een beetje als een functie.

18
00:01:27,810 --> 00:01:33,260
‫Dus wat we hier gaan doen, is dat we een aantal argumenten aan deze functie doorgeven.

19
00:01:33,270 --> 00:01:40,820
‫De eerste vertelt ons wat voor soort logcategorie we doen.

20
00:01:40,830 --> 00:01:44,640
‫De tweede vertelt ons het niveau van het logboek.

21
00:01:44,640 --> 00:01:46,650
‫Dus hoe dringend is het eigenlijk.

22
00:01:47,220 --> 00:01:52,860
‫En dan hebben we eindelijk dit ding hier, wat in feite een functie is binnen een

23
00:01:52,860 --> 00:01:56,520
‫functie die ons de tekst vertelt die we moeten afdrukken.

24
00:01:57,150 --> 00:01:58,950
‫Dus hoe werkt dit?

25
00:01:58,950 --> 00:02:05,650
‫Als we dit gewoon in onze code laten staan, overgaan op onwerkelijke hitcompilatie, willen we zien waar het verschijnt?

26
00:02:05,670 --> 00:02:09,990
‫Als de compilatie klaar is, gaan we verder en gaan we op play.

27
00:02:10,590 --> 00:02:15,420
‫En waar je eigenlijk naar op zoek bent, is dat het hier niet op het scherm zal verschijnen.

28
00:02:15,420 --> 00:02:17,460
‫Het zal in de output zitten.

29
00:02:17,460 --> 00:02:28,130
‫Log hier in en je kunt het ongeveer hier zien zeggen, toon je bericht en we hebben hoeveel berichten?

30
00:02:28,170 --> 00:02:30,720
‫Een twee drie vier vijf.

31
00:02:31,200 --> 00:02:39,210
‫De reden hiervoor is dat het de boodschap weergeeft voor elke afzonderlijke acteur in onze scene dat een bewegend platform

32
00:02:39,210 --> 00:02:39,890
‫is.

33
00:02:39,900 --> 00:02:43,740
‫CP Dus daarom krijgen we zoveel berichten.

34
00:02:43,740 --> 00:02:47,850
‫En je kunt zien dat we de boodschap kunnen veranderen in wat we wilden dat het hier was.

35
00:02:48,450 --> 00:02:57,150
‫En we zouden ook wat meer informatie in dit bericht kunnen zetten, zoals de startlocatie of de naam van de acteur,

36
00:02:57,150 --> 00:02:58,800
‫dat soort dingen.

37
00:02:59,400 --> 00:03:00,780
‫Hier gaan we.

38
00:03:00,780 --> 00:03:04,920
‫Dus we hebben een output log, we hebben ons bericht, en je kunt beginnen te zien wat de categorieën zijn

39
00:03:04,920 --> 00:03:06,030
‫waar ik het over had.

40
00:03:06,060 --> 00:03:13,650
‫Je kunt zien dat we log 10 p hebben. m. , maar hierboven hebben we log audio log, audio mixer, Log World.

41
00:03:13,650 --> 00:03:18,420
‫Er zijn dus verschillende categorieën van loggen die ons helpen te onderscheiden waar dit bericht vandaan

42
00:03:18,420 --> 00:03:20,760
‫komt, welk deel van Unreal vandaan komt.

43
00:03:21,180 --> 00:03:26,730
‫Maar logtemp is meestal wat we gaan gebruiken, omdat het slechts een tijdelijke plaats is om foutopsporingsberichten uit

44
00:03:26,730 --> 00:03:29,310
‫te loggen en dan is er weergave.

45
00:03:29,310 --> 00:03:35,160
‫Dit is het standaardniveau, logniveau, maar we kunnen berichten hebben van een heleboel verschillende dingen die

46
00:03:35,160 --> 00:03:39,330
‫kunnen worden weergegeven of een waarde uit deze tabel hier beneden.

47
00:03:39,330 --> 00:03:43,530
‫Dus je ziet dat hier een bericht wordt afgedrukt naar de console en het logbestand.

48
00:03:43,710 --> 00:03:48,120
‫We hebben het log hier beneden die alleen een bericht naar het logbestand print en niet wordt weergegeven in de console.

49
00:03:48,120 --> 00:03:52,860
‫Dit is dus voor dingen waar je niet echt wilt dat het zo vaak wordt weergegeven, maar het misschien wel wilt gebruiken

50
00:03:52,860 --> 00:03:53,340
‫voor foutopsporing.

51
00:03:53,340 --> 00:03:58,530
‫Als je iemands spel debugt en het draaide op hun computer, dan sturen ze je een logbestand.

52
00:03:58,860 --> 00:04:00,180
‫Dan heb je een waarschuwing.

53
00:04:00,210 --> 00:04:06,810
‫Dit is voor als er dingen mis lijken te gaan en het print het naar de log console en het is ook in het

54
00:04:06,810 --> 00:04:07,380
‫geel.

55
00:04:07,560 --> 00:04:14,040
‫Dan hebben we een fout die het in rood afdrukt en dan fataal, in feite wordt afgedrukt naar de console en de

56
00:04:14,730 --> 00:04:15,450
‫motor crasht.

57
00:04:15,450 --> 00:04:21,690
‫Dus je wilt deze eigenlijk als laatste redmiddel gebruiken, maar je kunt wel verschillende niveaus in het

58
00:04:21,690 --> 00:04:22,440
‫logbestand hebben.

59
00:04:22,440 --> 00:04:27,270
‫En ik zal je gewoon laten zien hoe het eruit ziet als we hier verschillende berichten plaatsen.

60
00:04:27,270 --> 00:04:32,760
‫Dus ik ga een regel kopiëren voor het loggen en ik ga er drie maken.

61
00:04:32,760 --> 00:04:37,920
‫We krijgen een display, we krijgen een waarschuwing en we krijgen een foutmelding.

62
00:04:37,980 --> 00:04:40,860
‫Dit zijn meestal de niveaus die we zullen gebruiken.

63
00:04:40,860 --> 00:04:43,950
‫Dus laten we doorgaan en een kijkje nemen en zien hoe ze eruit zien.

64
00:04:43,950 --> 00:04:49,110
‫Laten we naar Unreal gaan, op de compileerknop drukken en het is stoppen en opnieuw spelen.

65
00:04:49,110 --> 00:04:54,990
‫En trouwens, je kunt het uitvoerlogboek openen door twee keer op de tilde-toets te drukken.

66
00:04:55,320 --> 00:05:02,040
‫Het brengt je naar voren, we hebben een uitvoerlogboek en je kunt zien dat we drie sets berichten hebben.

67
00:05:02,040 --> 00:05:06,780
‫Het display dat net in de effen witte waarschuwing staat, die geel is, valt een beetje

68
00:05:06,780 --> 00:05:09,540
‫meer op, een pijl natuurlijk, die veel meer opvalt.

69
00:05:09,720 --> 00:05:12,330
‫Nu kunnen we gegevens toevoegen aan onze logberichten.

70
00:05:12,330 --> 00:05:18,540
‫Ik ga gewoon de waarschuwing verwijderen, een foutregel van het logboek en we kunnen er wat aan toevoegen.

71
00:05:18,640 --> 00:05:21,820
‫Gegevens in deze string die wordt afgedrukt zoals wij dat doen.

72
00:05:21,820 --> 00:05:28,480
‫Dit is, bijvoorbeeld, als ik de verplaatsingsafstand wil afdrukken die is geconfigureerd voor een bepaald platform dat

73
00:05:28,750 --> 00:05:35,200
‫vrij eenvoudig te doen is, we kunnen zeggen geconfigureerde verplaatsingsafstand, en dat is de tekst die zal

74
00:05:35,200 --> 00:05:35,920
‫verschijnen.

75
00:05:36,220 --> 00:05:37,810
‫Ik ga hier een dubbele punt plaatsen.

76
00:05:37,810 --> 00:05:44,260
‫En onthoud, dit staat allemaal tussen de dubbele aanhalingstekens om ervoor te zorgen dat we het in de tekst opnemen.

77
00:05:45,100 --> 00:05:51,220
‫En dan kunnen we een procentteken gebruiken gevolgd door het F-teken.

78
00:05:51,700 --> 00:05:57,150
‫En je ziet dat dat anders wordt gemarkeerd omdat dit een zogenaamde format specific is.

79
00:05:57,310 --> 00:06:01,660
‫Het is iets dat helemaal terug in de geschiedenis van C komt.

80
00:06:02,050 --> 00:06:07,510
‫En in wezen doe je meestal een percentageteken en dan een letter, je kunt de verschillende letters hier

81
00:06:07,510 --> 00:06:08,140
‫beneden zien.

82
00:06:08,440 --> 00:06:15,490
‫De F komt overeen met een decimaal zwevend punt en u kunt een voorbeeld zien van hoe de uitvoer

83
00:06:15,640 --> 00:06:17,200
‫eruitziet in de voorbeeldkolom.

84
00:06:17,530 --> 00:06:26,290
‫En er zijn nog veel meer dingen die we met D of I een decimaal geheel getal kunnen voorstellen.

85
00:06:26,950 --> 00:06:30,520
‫Dus we gebruiken F omdat we een getal met drijvende komma hebben.

86
00:06:30,940 --> 00:06:35,170
‫En wat we dan moeten doen, is een ander argument toevoegen aan de query-logfunctie.

87
00:06:35,170 --> 00:06:43,480
‫Zorg er dus voor dat je dit doet nadat je de haakjes voor deze tekstfunctie hebt gesloten en in plaats daarvan

88
00:06:43,480 --> 00:06:45,490
‫plaatsen we hier een komma.

89
00:06:45,490 --> 00:06:51,700
‫Dus tussen deze twee haakjes moet het binnen de buitenste set zijn, maar buiten de binnenste set, als dat

90
00:06:51,700 --> 00:06:52,450
‫logisch is.

91
00:06:52,990 --> 00:07:00,850
‫En wat we dan kunnen doen, is dat we de waarde van onze variabele kunnen doorgeven, zodat we de variabele voor de verplaatsingsafstand kunnen doen, dus

92
00:07:00,850 --> 00:07:04,300
‫laten we deze eens bekijken en dit in actie zien.

93
00:07:04,330 --> 00:07:11,110
‫Ik druk op de compileerknop, sluit het compileervenster en druk op play en druk vervolgens twee keer op Tilde om het logboek te

94
00:07:11,110 --> 00:07:11,680
‫openen.

95
00:07:11,950 --> 00:07:17,470
‫En je kunt zien dat onze geconfigureerde verplaatsingsafstand verschijnt voor de verschillende platforms, 505 honderd

96
00:07:17,770 --> 00:07:24,010
‫voor de twee bewegende platforms en 1500 voor de drie duwen die we in de scene hebben.

97
00:07:24,160 --> 00:07:29,560
‫Dus een stukje informatie dat misschien een beetje interessant of leerzaam is, is dat we eerder hebben

98
00:07:29,560 --> 00:07:36,610
‫gesproken over hoe we voorbijschieten of dat we de afgelegde afstand hebben overschreden en dat het interessant zou zijn om te weten

99
00:07:36,610 --> 00:07:39,250
‫door wat voor soort niveaus dat gebeurt.

100
00:07:39,640 --> 00:07:43,450
‫Dus wat we zouden kunnen doen, is dat we een float-variabele kunnen maken in de if-instructie.

101
00:07:43,460 --> 00:07:45,490
‫We weten dus dat we momenteel een overschrijding hebben.

102
00:07:45,490 --> 00:07:49,870
‫We kunnen zeggen overshoot een float-variabele genaamd overshoot.

103
00:07:49,870 --> 00:07:56,350
‫We gaan een gelijk stellen aan de verplaatste afstand minus de verplaatsingsafstand.

104
00:07:56,410 --> 00:07:59,530
‫Dus dat vertelt ons hoeveel de overschrijding was.

105
00:07:59,770 --> 00:08:04,270
‫Dus ik zou graag willen dat je de overshoot-variabele logt die we zojuist hier hebben gemaakt.

106
00:08:04,270 --> 00:08:06,400
‫Gebruik dus de YUI-logfunctie.

107
00:08:06,700 --> 00:08:11,260
‫Hier is het in ieder geval ter referentie van het soort structuur dat u waarschijnlijk zult gebruiken.

108
00:08:11,500 --> 00:08:19,270
‫Je kunt ook oefenen met het automatisch aanvullen van het loggen om het in plaats daarvan in te voeren en vervolgens je code compileren en testen

109
00:08:19,270 --> 00:08:21,040
‫en kijken of het werkt.

110
00:08:21,190 --> 00:08:22,450
‫Pauzeer de video en probeer het.

111
00:08:25,600 --> 00:08:26,140
‫Oké.

112
00:08:26,140 --> 00:08:26,770
‫Welkom terug.

113
00:08:27,010 --> 00:08:30,550
‫Dus we gaan hier de optie voor automatisch aanvullen gebruiken.

114
00:08:30,820 --> 00:08:33,040
‫Ik ga gewoon mijn zijbalk sluiten om wat meer ruimte te hebben.

115
00:08:33,520 --> 00:08:40,210
‫En dan hierbinnen, als we, nadat we de variabele hebben gemaakt, je log gaan typen en op enter drukken en dan laten

116
00:08:41,020 --> 00:08:43,210
‫we het op het display staan.

117
00:08:43,330 --> 00:08:51,520
‫We maken het tekstplatform voorbij, geschoten door, en dan gaan we procent F gebruiken en tussen

118
00:08:52,060 --> 00:08:58,300
‫deze twee haakjes gaan we nieuwe argumenten toevoegen voor de overshoot-variabele.

119
00:08:58,420 --> 00:09:01,930
‫Laten we nu teruggaan naar Unreal.

120
00:09:02,020 --> 00:09:08,500
‫Druk op de compileerknop, sluit het live coderingslogboek af en dubbeltik op die tilde-toets.

121
00:09:09,370 --> 00:09:15,280
‫En je kunt zien dat elke keer dat het platform zich omdraait, het een logbericht afdrukt en zegt

122
00:09:15,280 --> 00:09:18,700
‫hoeveel eenheden overschot door je daadwerkelijk het net kunnen zien.

123
00:09:18,700 --> 00:09:24,550
‫In veel gevallen overschrijdt het nogal wat, een behoorlijk merkbaar aantal eenheden.

124
00:09:24,580 --> 00:09:27,150
‫Drie eenheden of vijf eenheden.

125
00:09:27,160 --> 00:09:30,130
‫Dat is in feite punt 5% me tot drie centimeter.

126
00:09:30,460 --> 00:09:35,050
‫Het is voldoende dat deze platforms in de loop van je spel kunnen afdrijven.

127
00:09:35,290 --> 00:09:39,160
‫En dat is geweldig dat we daar al een oplossing voor hebben geïmplementeerd.

128
00:09:39,220 --> 00:09:39,700
‫Goed spul.

129
00:09:39,700 --> 00:09:45,220
‫Dus hopelijk heb je nu een ander hulpmiddel in je arsenaal om te proberen te achterhalen wat er in je

130
00:09:45,220 --> 00:09:45,850
‫code gebeurt.

131
00:09:45,850 --> 00:09:51,160
‫En later, wanneer u meer vertrouwen heeft in het maken van uw eigen code, probeert u erachter te komen wat

132
00:09:51,190 --> 00:09:52,810
‫er niet zo goed werkt.

133
00:09:53,410 --> 00:09:55,780
‫Oké, ik zie je in de volgende lezing.

