‫Hallo en welkom deze lezing.
‫We gaan kijken hoe we dingen naar het uitvoerlogboek kunnen schrijven en specifiek hoe we
‫de waarden van onze variabelen erin kunnen schrijven die ons kunnen helpen bij het debuggen van onze games.
‫Laten we erin duiken en kijken hoe dit werkt.
‫Dus in Blueprint konden we dingen naar het scherm schrijven als we snel wat informatie wilden weergeven
‫of mogelijk iets in het verleden wilden debuggen.
‫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,
‫onwerkelijk, en daarom heb ik er tot nu toe voor terugdeinzen om het te doen.
‫We zijn dus wat meer vertrouwd met de C++-syntaxis voordat we deze aan u introduceren.
‫Nu, de manier waarop het werkt, is als je de extensie hier hebt, de onwerkelijke vier fragmenten installeert door caps te cachen.
‫Dit wordt eigenlijk een beetje eenvoudiger omdat je niet alle complexiteit van de syntaxis hoeft te
‫onthouden.
‫Je typt gewoon, je logt in en het zal verschijnen met een IntelliSense-dialoogvenster zoals dit waarin staat dat je logt om je te
‫helpen het hele stuk code uit te schrijven en je kunt erop klikken, invoeren of selecteren met je muis.
‫En dan zie je dat er iets is uitgeschreven dat een beetje op een functie lijkt.
‫Het is niet echt een functie onder de motorkap, er is hier een beetje onwerkelijke magie aan de hand, maar het
‫is in wezen een beetje als een functie.
‫Dus wat we hier gaan doen, is dat we een aantal argumenten aan deze functie doorgeven.
‫De eerste vertelt ons wat voor soort logcategorie we doen.
‫De tweede vertelt ons het niveau van het logboek.
‫Dus hoe dringend is het eigenlijk.
‫En dan hebben we eindelijk dit ding hier, wat in feite een functie is binnen een
‫functie die ons de tekst vertelt die we moeten afdrukken.
‫Dus hoe werkt dit?
‫Als we dit gewoon in onze code laten staan, overgaan op onwerkelijke hitcompilatie, willen we zien waar het verschijnt?
‫Als de compilatie klaar is, gaan we verder en gaan we op play.
‫En waar je eigenlijk naar op zoek bent, is dat het hier niet op het scherm zal verschijnen.
‫Het zal in de output zitten.
‫Log hier in en je kunt het ongeveer hier zien zeggen, toon je bericht en we hebben hoeveel berichten?
‫Een twee drie vier vijf.
‫De reden hiervoor is dat het de boodschap weergeeft voor elke afzonderlijke acteur in onze scene dat een bewegend platform
‫is.
‫CP Dus daarom krijgen we zoveel berichten.
‫En je kunt zien dat we de boodschap kunnen veranderen in wat we wilden dat het hier was.
‫En we zouden ook wat meer informatie in dit bericht kunnen zetten, zoals de startlocatie of de naam van de acteur,
‫dat soort dingen.
‫Hier gaan we.
‫Dus we hebben een output log, we hebben ons bericht, en je kunt beginnen te zien wat de categorieën zijn
‫waar ik het over had.
‫Je kunt zien dat we log 10 p hebben. m. , maar hierboven hebben we log audio log, audio mixer, Log World.
‫Er zijn dus verschillende categorieën van loggen die ons helpen te onderscheiden waar dit bericht vandaan
‫komt, welk deel van Unreal vandaan komt.
‫Maar logtemp is meestal wat we gaan gebruiken, omdat het slechts een tijdelijke plaats is om foutopsporingsberichten uit
‫te loggen en dan is er weergave.
‫Dit is het standaardniveau, logniveau, maar we kunnen berichten hebben van een heleboel verschillende dingen die
‫kunnen worden weergegeven of een waarde uit deze tabel hier beneden.
‫Dus je ziet dat hier een bericht wordt afgedrukt naar de console en het logbestand.
‫We hebben het log hier beneden die alleen een bericht naar het logbestand print en niet wordt weergegeven in de console.
‫Dit is dus voor dingen waar je niet echt wilt dat het zo vaak wordt weergegeven, maar het misschien wel wilt gebruiken
‫voor foutopsporing.
‫Als je iemands spel debugt en het draaide op hun computer, dan sturen ze je een logbestand.
‫Dan heb je een waarschuwing.
‫Dit is voor als er dingen mis lijken te gaan en het print het naar de log console en het is ook in het
‫geel.
‫Dan hebben we een fout die het in rood afdrukt en dan fataal, in feite wordt afgedrukt naar de console en de
‫motor crasht.
‫Dus je wilt deze eigenlijk als laatste redmiddel gebruiken, maar je kunt wel verschillende niveaus in het
‫logbestand hebben.
‫En ik zal je gewoon laten zien hoe het eruit ziet als we hier verschillende berichten plaatsen.
‫Dus ik ga een regel kopiëren voor het loggen en ik ga er drie maken.
‫We krijgen een display, we krijgen een waarschuwing en we krijgen een foutmelding.
‫Dit zijn meestal de niveaus die we zullen gebruiken.
‫Dus laten we doorgaan en een kijkje nemen en zien hoe ze eruit zien.
‫Laten we naar Unreal gaan, op de compileerknop drukken en het is stoppen en opnieuw spelen.
‫En trouwens, je kunt het uitvoerlogboek openen door twee keer op de tilde-toets te drukken.
‫Het brengt je naar voren, we hebben een uitvoerlogboek en je kunt zien dat we drie sets berichten hebben.
‫Het display dat net in de effen witte waarschuwing staat, die geel is, valt een beetje
‫meer op, een pijl natuurlijk, die veel meer opvalt.
‫Nu kunnen we gegevens toevoegen aan onze logberichten.
‫Ik ga gewoon de waarschuwing verwijderen, een foutregel van het logboek en we kunnen er wat aan toevoegen.
‫Gegevens in deze string die wordt afgedrukt zoals wij dat doen.
‫Dit is, bijvoorbeeld, als ik de verplaatsingsafstand wil afdrukken die is geconfigureerd voor een bepaald platform dat
‫vrij eenvoudig te doen is, we kunnen zeggen geconfigureerde verplaatsingsafstand, en dat is de tekst die zal
‫verschijnen.
‫Ik ga hier een dubbele punt plaatsen.
‫En onthoud, dit staat allemaal tussen de dubbele aanhalingstekens om ervoor te zorgen dat we het in de tekst opnemen.
‫En dan kunnen we een procentteken gebruiken gevolgd door het F-teken.
‫En je ziet dat dat anders wordt gemarkeerd omdat dit een zogenaamde format specific is.
‫Het is iets dat helemaal terug in de geschiedenis van C komt.
‫En in wezen doe je meestal een percentageteken en dan een letter, je kunt de verschillende letters hier
‫beneden zien.
‫De F komt overeen met een decimaal zwevend punt en u kunt een voorbeeld zien van hoe de uitvoer
‫eruitziet in de voorbeeldkolom.
‫En er zijn nog veel meer dingen die we met D of I een decimaal geheel getal kunnen voorstellen.
‫Dus we gebruiken F omdat we een getal met drijvende komma hebben.
‫En wat we dan moeten doen, is een ander argument toevoegen aan de query-logfunctie.
‫Zorg er dus voor dat je dit doet nadat je de haakjes voor deze tekstfunctie hebt gesloten en in plaats daarvan
‫plaatsen we hier een komma.
‫Dus tussen deze twee haakjes moet het binnen de buitenste set zijn, maar buiten de binnenste set, als dat
‫logisch is.
‫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
‫laten we deze eens bekijken en dit in actie zien.
‫Ik druk op de compileerknop, sluit het compileervenster en druk op play en druk vervolgens twee keer op Tilde om het logboek te
‫openen.
‫En je kunt zien dat onze geconfigureerde verplaatsingsafstand verschijnt voor de verschillende platforms, 505 honderd
‫voor de twee bewegende platforms en 1500 voor de drie duwen die we in de scene hebben.
‫Dus een stukje informatie dat misschien een beetje interessant of leerzaam is, is dat we eerder hebben
‫gesproken over hoe we voorbijschieten of dat we de afgelegde afstand hebben overschreden en dat het interessant zou zijn om te weten
‫door wat voor soort niveaus dat gebeurt.
‫Dus wat we zouden kunnen doen, is dat we een float-variabele kunnen maken in de if-instructie.
‫We weten dus dat we momenteel een overschrijding hebben.
‫We kunnen zeggen overshoot een float-variabele genaamd overshoot.
‫We gaan een gelijk stellen aan de verplaatste afstand minus de verplaatsingsafstand.
‫Dus dat vertelt ons hoeveel de overschrijding was.
‫Dus ik zou graag willen dat je de overshoot-variabele logt die we zojuist hier hebben gemaakt.
‫Gebruik dus de YUI-logfunctie.
‫Hier is het in ieder geval ter referentie van het soort structuur dat u waarschijnlijk zult gebruiken.
‫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
‫en kijken of het werkt.
‫Pauzeer de video en probeer het.
‫Oké.
‫Welkom terug.
‫Dus we gaan hier de optie voor automatisch aanvullen gebruiken.
‫Ik ga gewoon mijn zijbalk sluiten om wat meer ruimte te hebben.
‫En dan hierbinnen, als we, nadat we de variabele hebben gemaakt, je log gaan typen en op enter drukken en dan laten
‫we het op het display staan.
‫We maken het tekstplatform voorbij, geschoten door, en dan gaan we procent F gebruiken en tussen
‫deze twee haakjes gaan we nieuwe argumenten toevoegen voor de overshoot-variabele.
‫Laten we nu teruggaan naar Unreal.
‫Druk op de compileerknop, sluit het live coderingslogboek af en dubbeltik op die tilde-toets.
‫En je kunt zien dat elke keer dat het platform zich omdraait, het een logbericht afdrukt en zegt
‫hoeveel eenheden overschot door je daadwerkelijk het net kunnen zien.
‫In veel gevallen overschrijdt het nogal wat, een behoorlijk merkbaar aantal eenheden.
‫Drie eenheden of vijf eenheden.
‫Dat is in feite punt 5% me tot drie centimeter.
‫Het is voldoende dat deze platforms in de loop van je spel kunnen afdrijven.
‫En dat is geweldig dat we daar al een oplossing voor hebben geïmplementeerd.
‫Goed spul.
‫Dus hopelijk heb je nu een ander hulpmiddel in je arsenaal om te proberen te achterhalen wat er in je
‫code gebeurt.
‫En later, wanneer u meer vertrouwen heeft in het maken van uw eigen code, probeert u erachter te komen wat
‫er niet zo goed werkt.
‫Oké, ik zie je in de volgende lezing.