‫Witam i zapraszam na ten wykład.
‫Przyjrzymy się, jak możemy zapisywać rzeczy w dzienniku wyjściowym, a konkretnie w jaki
‫sposób możemy zapisywać w nim wartości naszych zmiennych, które mogą nam pomóc w debugowaniu naszych gier.
‫Zanurzmy się i zobaczmy, jak to działa.
‫Tak więc w Blueprint byliśmy w stanie pisać rzeczy na ekranie, gdy chcieliśmy szybko wyświetlić niektóre informacje
‫lub potencjalnie po prostu debugować coś w przeszłości.
‫W C++ użyliśmy do tego nowej właściwości, ale faktycznie możemy to zrobić za pomocą instrukcji log i jest to
‫trochę skomplikowane, nierealne, dlatego unikałem tego do tego momentu.
‫Więc jesteśmy nieco bardziej zaznajomieni ze składnią C++, zanim ją przedstawimy.
‫Teraz działa to tak, że jeśli masz rozszerzenie tutaj, zainstaluj nierealne cztery fragmenty, buforując wersaliki.
‫W rzeczywistości staje się to trochę łatwiejsze, ponieważ nie musisz pamiętać całej złożoności
‫składni.
‫Po prostu wpisujesz, logujesz się, a pojawi się okno dialogowe IntelliSense, takie jak to, które mówi, że logujesz się, aby
‫pomóc Ci napisać cały fragment kodu i możesz nacisnąć, wprowadzić lub wybrać go za pomocą myszy.
‫A potem zobaczysz, że jest napisane coś, co wygląda trochę jak funkcja.
‫To właściwie nie jest funkcja pod maską, jest tu trochę nierzeczywistej magii, ale zasadniczo
‫jest to trochę jak funkcja.
‫Więc zamierzamy tutaj przekazać kilka argumentów do tej funkcji.
‫Pierwsza z nich mówi nam, jaki rodzaj kategorii logów robimy.
‫Drugi mówi nam o poziomie kłody.
‫Tak więc, jak pilne jest to w istocie.
‫I wreszcie mamy tutaj tę rzecz, która jest zasadniczo funkcją w funkcji,
‫która mówi nam tekst, który musimy wydrukować.
‫Więc jak to działa?
‫Jeśli po prostu zostawimy to w naszym kodzie, przejdziemy do nierealnej kompilacji trafień, chcemy zobaczyć, gdzie to się pojawia?
‫Cóż, kiedy kompilacja się skończy, zaczniemy grać.
‫A to, czego tak naprawdę szukasz, to to, że nie pojawi się na ekranie.
‫Będzie na wyjściu.
‫Zaloguj się tutaj i możesz to zobaczyć tutaj mówiąc: wyświetl swoją wiadomość i mamy ile wiadomości?
‫Jeden dwa trzy cztery pięć.
‫Powodem tego jest wyświetlanie wiadomości dla każdego aktora w naszej scenie, który jest ruchomą
‫platformą.
‫CP To dlatego otrzymujemy tak wiele wiadomości.
‫I widzicie, że możemy zmienić przesłanie tak, aby było takie, jakie chcieliśmy, aby było tutaj.
‫Moglibyśmy również umieścić w tej wiadomości więcej informacji, takich jak miejsce startu lub imię aktora,
‫takie rzeczy.
‫Więc zaczynamy.
‫Więc mamy dziennik wyjściowy, mamy naszą wiadomość i możesz zacząć widzieć, jakie są kategorie,
‫o których mówiłem.
‫Widać, że mamy log 10 p. m. , ale powyżej mamy log audio log, mikser audio, Log World.
‫Istnieją więc różne kategorie logowania, które pomagają nam odróżnić, skąd pochodzi ta wiadomość,
‫z której pochodzi część Unreal.
‫Ale log temp jest głównie tym, czego będziemy używać, ponieważ jest to tylko tymczasowe miejsce do
‫wylogowania komunikatów debugowania, a następnie wyświetlenia.
‫Jest to domyślny poziom, poziom dziennika, ale możemy mieć komunikaty, które mogą być kilkoma różnymi rzeczami,
‫które można wyświetlić, lub jakąkolwiek wartością z tej tabeli na dole.
‫Więc widzisz tutaj display wyświetla komunikat do konsoli i pliku dziennika.
‫Mamy tutaj dziennik, który wyświetla komunikat tylko w pliku dziennika i nie wyświetla się w konsoli.
‫Więc to jest dla rzeczy, w których tak naprawdę nie chcesz, aby pojawiało się tak często, ale możesz chcieć użyć go
‫do debugowania.
‫Jeśli debugujesz czyjąś grę, która działała na jego komputerze, wysyłają ci plik dziennika.
‫Wtedy masz ostrzeżenie.
‫To jest dla sytuacji, gdy wydaje się, że coś idzie nie tak i drukuje to w konsoli dziennika, a także jest na
‫żółto.
‫Potem pojawił się błąd, który wyświetla go na czerwono, a następnie fatalny, po prostu drukuje na konsoli i powoduje
‫awarię silnika.
‫Więc chcesz użyć tego jako ostateczności, ale pozwala to mieć różne poziomy w pliku
‫dziennika.
‫Pokażę ci tylko, jak to wygląda, jeśli umieścimy tutaj różne wiadomości.
‫Więc zamierzam skopiować linię do logowania i zrobię trzy z nich.
‫Będziemy mieli wyświetlacz, będziemy mieli ostrzeżenie i będziemy mieli błąd.
‫Są to zazwyczaj poziomy, z których będziemy korzystać.
‫Więc chodźmy dalej, spójrzmy i zobaczmy, jak wyglądają.
‫Przejdźmy do Unreal, naciśnij przycisk kompilacji, zatrzymaj i ponownie uruchom grę.
‫A tak przy okazji, możesz wywołać dziennik wyjściowy, naciskając dwukrotnie klawisz tyldy.
‫Pojawia się tam. Mamy dziennik wyjściowy i widać, że mamy trzy zestawy wiadomości.
‫Wyświetlacz, który jest tylko w zwykłym białym ostrzeżeniu, które jest w kolorze żółtym, wyróżnia się nieco
‫bardziej, oczywiście strzałka, która wyróżnia się o wiele bardziej.
‫Teraz możemy dodać dane do naszych komunikatów dziennika.
‫Po prostu usunę ostrzeżenie, linie błędów dziennika i możemy dodać kilka.
‫Dane do tego łańcucha zostaną wydrukowane tak jak my.
‫Na przykład, gdybym chciał wydrukować odległość ruchu skonfigurowaną dla konkretnej platformy, co jest dość
‫proste do zrobienia, możemy powiedzieć skonfigurowaną odległość ruchu i to jest tekst, który się
‫pojawi.
‫Wstawię tutaj okrężnicę.
‫I pamiętaj, to wszystko jest zawarte w podwójnych cudzysłowach, aby upewnić się, że uwzględniliśmy w tekście.
‫A potem możemy użyć znaku procentu, po którym następuje znak F.
‫I widzisz, że jest to wyróżniane w inny sposób, ponieważ jest to tak zwane określenie formatu.
‫To coś, co pochodzi z języka C przez całą historię.
‫I zasadniczo zwykle robisz znak procentowy, a następnie jakąś literę, którą możesz zobaczyć tutaj na
‫dole.
‫F odpowiada dziesiętnej liczbie zmiennoprzecinkowej i możesz zobaczyć przykład tego, jak wygląda wynik w
‫kolumnie przykład.
‫I jest tu wiele innych rzeczy, które możemy przedstawić za pomocą D lub I jako dziesiętną liczbę całkowitą.
‫Więc używamy F, ponieważ mamy liczbę zmiennoprzecinkową.
‫Następnie musimy dodać kolejny argument do funkcji dziennika zapytań.
‫Więc upewnij się, że robisz to po zamknięciu nawiasów dla tej funkcji tekstowej i zamiast tego
‫wstawiamy tutaj przecinek.
‫Więc między tymi dwoma nawiasami powinien znajdować się wewnątrz zewnętrznego zestawu, ale poza wewnętrznym zestawem, jeśli ma
‫to sens.
‫A potem możemy przekazać wartość naszej zmiennej, abyśmy mogli zrobić zmienną odległości ruchu, tak więc przejdźmy
‫do tego naprawdę, zobaczmy to w akcji.
‫Naciskam przycisk kompilacji, zamykam okno kompilacji i naciskam odtwarzanie, a następnie dwukrotnie naciskam Tilde, aby wyświetlić
‫dziennik.
‫I możecie zobaczyć, jak nasza skonfigurowana odległość ruchu pokazuje się dla różnych platform,
‫505 setek dla dwóch ruchomych platform i 1500 dla trzech pchnięć, które mamy na scenie.
‫Jedną z informacji, która może być trochę interesująca lub pouczająca, jest to,
‫że wcześniej rozmawialiśmy o tym, jak przestrzeliliśmy lub przekroczyliśmy przesuniętą odległość i byłoby interesujące wiedzieć, na
‫jakich poziomach to się dzieje.
‫Możemy więc stworzyć zmienną zmiennoprzecinkową wewnątrz instrukcji if.
‫Więc wiemy, że obecnie przestrzeliliśmy.
‫Możemy powiedzieć, że przestrzelenie zmiennej zmiennoprzecinkowej zwanej przeregulowaniem.
‫Ustawimy równą przesuniętej odległości minus odległość przemieszczenia.
‫To mówi nam, jak duże było przekroczenie.
‫Więc chciałbym, abyś spróbował zarejestrować zmienną przeregulowania, którą właśnie tutaj stworzyliśmy.
‫Użyj więc funkcji dziennika YUI.
‫Tutaj jest to przynajmniej rodzaj struktury, której prawdopodobnie będziesz używał.
‫Możesz także poćwiczyć używanie tego, że logujesz autouzupełnianie, aby zamiast tego umieścić go, a następnie skompilować i przetestować swój kod
‫i sprawdzić, czy działa.
‫Wstrzymaj wideo i spróbuj.
‫Dobra.
‫Witamy spowrotem.
‫Więc użyjemy tutaj opcji autouzupełniania.
‫Po prostu zamknę mój pasek boczny, aby mieć trochę więcej miejsca.
‫A potem wewnątrz tego, jeśli po utworzeniu zmiennej, wpiszemy log i wciśniemy Enter, a następnie
‫zostawimy to na wyświetlaczu.
‫Przekształcimy platformę tekstową, przestrzelimy, a następnie użyjemy procentu F, a następnie między
‫tymi dwoma nawiasami dodamy nowe argumenty dla zmiennej przekreślenia.
‫Tak jak teraz, wróćmy do Unreal.
‫Naciśnij przycisk kompilacji, zamknij odtwarzanie dziennika kodowania na żywo i dwukrotnie naciśnij ten klawisz tyldy.
‫I widać, że za każdym razem, gdy platforma się obraca, drukuje komunikat dziennika i mówi, ile
‫jednostek przestrzelonych przez ciebie może faktycznie zobaczyć sieć.
‫W wielu przypadkach jest przestrzelony o kilka, całkiem zauważalną ilość jednostek.
‫Trzy jednostki lub pięć jednostek.
‫To w zasadzie punkt 5% mi do trzech centymetrów.
‫Wystarczy, że w trakcie gry te platformy mogły dryfować.
‫I to świetnie, że już wdrożyliśmy poprawkę na to.
‫Świetna sprawa.
‫Miejmy więc nadzieję, że teraz masz w swoim arsenale kolejne narzędzie, które pomoże Ci dowiedzieć się, co dzieje się w
‫Twoim kodzie.
‫A później, kiedy poczujesz się pewniej w tworzeniu własnego kodu, próbując dowiedzieć się, co
‫nie działa tak dobrze.
‫Dobra, do zobaczenia na następnym wykładzie.