‫Cześć i witaj.
‫W tym wykładzie będziemy rysować linie debugowania w naszych scenach, abyśmy mogli zwizualizować, co robi
‫lub co powinien zrobić śledzenie linii, i dowiedzieć się, czy nasze wartości, które
‫obliczamy, są poprawne.
‫Zanurzmy się i spójrzmy.
‫Jak widać, nasza funkcja przemiatania multi by channel wymaga wektora początkowego i końcowego.
‫Teraz może być trochę trudno dowiedzieć się, co się dzieje z tymi funkcjami, kiedy faktycznie ich
‫używamy.
‫Ponieważ jeśli zaczniesz go używać i nie uzyskasz oczekiwanych rezultatów, możesz czasami zastanawiać się, czy
‫w pierwszej kolejności zadałem właściwe pytanie?
‫Czy wysłałem nawet prawidłowy wektor początkowy i końcowy?
‫Cóż, aby to rozgryźć, użyjemy tutaj innej funkcji zwanej linią debuggera rysowania, abyśmy
‫mogli zdecydowanie zobaczyć, gdzie znajdują się wektory początkowy i końcowy, po prostu rysując linię między
‫nimi.
‫A biorąc pod uwagę, że jest to dokładnie ten rodzaj rzeczy, które zostaną zrobione przez nasze przeszukiwanie, to jest
‫to dobry sposób na sprawdzenie, po pierwsze, czy mamy właściwe dane wejściowe.
‫Widać tutaj, że wiersz debugowania rysowania wymaga wielu argumentów, ale nie wszystkie z nich są w
‫rzeczywistości wymagane.
‫Tylko pierwsze trzy, cztery lub pięć.
‫Więc pierwszą rzeczą, która się pojawia, jest nowy świat, w którym wiemy, jak go opanować.
‫Teraz mamy początek linii, która jest w wektorze, mamy linię i znowu, która jest wektorem, potem kolor F, co
‫jest czymś, czego wcześniej nie spotkaliśmy, ale możesz kliknąć aby dowiedzieć się, co
‫to jest.
‫Zasadniczo jest to efektor, który reprezentuje kolory i jest już kilka przydatnych kolorów, które pozwalają
‫nam po prostu powiedzieć: Hej, chcemy naszej czerni, chcemy niebieskiej, zielonej, cokolwiek.
‫Możesz po prostu użyć nazwy koloru, zamiast określać wartości IGP.
‫A ostatnie kilka z nich to to, czy mamy trwałe linie, które mówią nam, czy linia się
‫trzyma, czy też znika na końcu klatki, mówi nam o życiu.
‫Ile więc sekund pozostaje dla priorytetu głębokości i grubości, z których żadnej nie
‫będziemy używać?
‫Inną przydatną informacją na tej stronie dokumentacji jest dołączanie.
‫Jak widać tutaj, aby użyć tej funkcji, musimy użyć pliku nagłówkowego, który ją
‫deklaruje, czyli hash include draw debug helpers.
‫Przejdźmy więc dalej i zdobądźmy to przede wszystkim, ponieważ zapewni to, że autouzupełnianie działa w programie
‫Visual Studio.
‫Jeśli nie masz nagłówka plików, program Visual Studio tak naprawdę nie wie, jak automatycznie uzupełniać
‫te funkcje.
‫Przejdę do komponentu tiku i pozbędę się naszego komunikatu dziennika, aby uzyskać czas
‫na zdrowie.
‫Tak naprawdę pozbędziemy się całego tego czasu.
‫I wiesz co?
‫Po prostu opróżnimy naszą funkcję tik, wszystko po naszym super dwukropku, składniku
‫kleszcza dwukropka, który usuniemy i zaczniemy od wiersza debuggera rysowania.
‫Więc narysuj linię debugowania, a następnie otwórz kilka nawiasów.
‫Naciska spację kontrolną, a następnie możesz zobaczyć parametry, o których właśnie mówiliśmy, i trochę więcej informacji, które nie były
‫tam dostępne, takie jak ich domyślne wartości.
‫Niektóre z nich mają wartości domyślne, szczególnie po stałych liniach.
‫Możesz zobaczyć domyślne wartości false.
‫Więc tak naprawdę nie musisz podawać argumentu, jeśli ma on wartość domyślną, ale możesz zobaczyć, że kolor
‫nie ma wartości domyślnej.
‫Dlatego musimy zapewnić wszystko do tego momentu.
‫Więc pierwszą rzeczą jest świat mało wiele wyzwań.
‫Jak zdobyć i przekazać światu rysowanie linii debugowania.
‫Robisz w ten sposób nawiasy światowe, wtedy będziemy potrzebować początku i końca.
‫W tym celu zamierzam stworzyć dwie zmienne tuż przed narysowaniem linii debugowania i nie zamierzam ich
‫jeszcze wypełniać.
‫Więc początek wektora F i koniec wektora F i to będą nasze następne dwa parametry, początek i koniec.
‫A potem musimy podać kolor, który będzie taki, jak możemy zrobić F kolor, dwukropek, dwukropek, a
‫następnie możemy użyć jednego z tych predefiniowanych kolorów, takiego jak czerwony.
‫To zawsze jest dobre.
‫Możesz to łatwo zobaczyć.
‫A w tym przypadku, ponieważ robimy to w technologii i robimy każdą klatkę
‫wypisując tę linię na ekranie, możemy po prostu użyć trwałych linii równa się false.
‫Więc każdy bilet będzie przerysowywał tę linię debugowania, zamykał nawiasy, a następnie możemy umieścić średnik na
‫końcu linii.
‫Jak więc będą wyglądać te wartości początkowe i końcowe?
‫Cóż, na początku będzie to dosłownie miejsce, w którym chwytamy komponent, ponieważ będzie on przymocowany
‫do aparatu, to dobra lokalizacja na początek.
‫Teraz pamiętaj, że dla tej składowej jest wektor do przodu, dla kamery, dla chwytania, a
‫kierunek do przodu będzie wskazywał z kamery na scenę, zawsze skierowany
‫do przodu.
‫Więc to, co chcemy zrobić, to wziąć nasz wektor początkowy, dodać wektor w przód pomnożony przez pewną wartość.
‫Zasadniczo jest to maksymalna odległość, na jaką będziemy szukać obiektu.
‫Więc możesz mieć jeden, dwa lub trzy metry jako ilość i wtedy otrzymamy wektor końcowy.
‫Więc początek plus wektor przedni chwytaka będzie równy wektorowi końcowemu.
‫Tak więc maksymalna głębia, którą chcemy zajrzeć w scenę, jest czymś, co możemy chcieć skonfigurować.
‫Więc umieścimy to jako nową właściwość na kropki chwytaka.
‫Przejdźmy do sklepu z grabami H i stwórzmy sekcję prywatną, stwórzmy właściwość U,
‫którą będziemy edytować w dowolnym miejscu, a następnie będziemy mieli typ zmiennoprzecinkowy, tak że może to być dowolna liczbowa
‫odległość.
‫Nazwiemy to maksymalną odległością chwytania i domyślnie ustawimy ją na odległość czterech metrów.
‫Być może będzie to musiało wynosić 400, ponieważ domyślną jednostką są centymetry.
‫Więc chciałbym rzucić wyzwanie, abyście obliczyć te początki i końce.
‫Użyj lokalizacji get component w pierwszej kolejności, użyj wektora get forward, aby obliczyć i pomnożyć
‫przez maksymalną odległość chwytania, którą właśnie tam skonfigurowaliśmy.
‫Następnie skompiluj, zagraj i wyrzuć swojemu aktorowi, ponieważ ta linia będzie iść prosto w dół kamery.
‫Możesz go początkowo nie widzieć.
‫Więc wyrzuć.
‫Przyjdź i wyjdź ze swojego ciała i zobacz, jak linia się zatrzymuje, nagraj wideo i spróbuj.
‫Dobra.
‫Witamy spowrotem.
‫Więc wejdźmy do kubka i zacznijmy pisać, co zamierzamy umieścić na początku.
‫Jak powiedzieliśmy, będzie to po prostu lokalizacja pobrania komponentu, a następnie początek.
‫Koniec będzie raczej początkiem plus pobranie pełnego słowa, wektor pomnożony przez maksymalną odległość chwytania, tak jak wstawiamy
‫średnik na końcu tej linii.
‫Zamierzamy skompilować i jeśli skompiluje się pomyślnie, przejdźmy dalej i wciśnijmy play, a
‫następnie umieść mysz w oknie, wciśnij F8, aby wysunąć.
‫A jeśli wyjdziemy poza siebie, widać linię.
‫Najczystszy dzień nadchodzi z miejsca, w którym nasza kamera była na podłodze.
‫I prawdopodobnie, jeśli wyjdę, może nawet będziemy mogli zobaczyć, że trochę wystaje też
‫spod podłogi.
‫To dla ciebie cztery metry.
‫Więc mamy początek, mamy koniec.
‫A gdybyśmy mieli użyć tej linii, byłaby to doskonała linia dla parametrów wejściowych do naszego przeciągnięcia
‫geometrii, której będziemy używać później.
‫Świetna sprawa.
‫Nauczyliśmy się rysować linie debugowania na naszej scenie.
‫Jest to bardzo przydatna umiejętność, z której będziesz często korzystać, gdy nie możesz zrozumieć, dlaczego coś nie działa.
‫Mam nadzieję, że ci się podobało.
‫Do zobaczenia na następnym wykładzie.