‫Cześć i witaj.
‫W tym wykładzie przyjrzymy się rzeczom z punktu widzenia gracza.
‫W zasadzie będziemy zbierać widok gracza, położenie i obrót kamery, tak że
‫gdy naciśniemy przycisk spustu, będziemy mogli narysować kamerę debugowania.
‫Ci mali czerwoni tutaj, te małe czerwone pudełkowe kamery, które pokazują nam, gdzie jest ten wizjer.
‫I możemy to potwierdzić.
‫Możemy to później wykorzystać do śledzenia promieni dla pistoletu.
‫Zanurzmy się i zobaczmy to wszystko w akcji.
‫Zacznę ten wykład od pytania.
‫Więc jeśli tak celujesz przez swój rzutnik i próbujesz wyrównać środek ekranu z centrum dowodzenia D
‫na D lub zerowym centrum dowodzenia, cokolwiek to ma być.
‫I mierzę, do czego bym dążył?
‫Czego spodziewałbym się trafić?
‫Możesz powiedzieć, cóż, spodziewałbym się, że osiągnie tę sumę zerową.
‫Wydaje się, że to oczywista odpowiedź.
‫Cóż, niekoniecznie to jest to, co zamierzasz osiągnąć, w zależności od tego, jak robisz rzeczy, jak
‫robisz przekształcenie.
‫Przyjrzyjmy się więc strategiom, które mamy do przekształcenia najbardziej oczywistych.
‫Jak mówisz, no cóż, strzelamy z pistoletu, więc przerzucimy lufę pistoletu.
‫A tak przy okazji, ta konfiguracja, która jest bardzo, bardzo prymitywna, to w zasadzie trzecia osoba.
‫Mamy tu aparat.
‫Mamy charakter, mamy broń.
‫I próbuje strzelić do innego celu, tutaj.
‫Cóż, przede wszystkim przebudowujemy broń jak ten uczeń.
‫Może nie trafia, bo nasza kamera nie wskazuje tam, gdzie jest wycelowana broń, niekoniecznie.
‫Chociaż mogą wskazywać w tym samym kierunku, są nieco odsunięte od siebie,
‫więc niekoniecznie uderzą w te same rzeczy.
‫Zamiast tego możesz wybrać, że chcesz przekonwertować z aparatu.
‫Oznacza to, że to, na co patrzy kamera, będzie tym, co zostanie trafione i ogólnie wydaje się bardziej
‫naturalne w grach z perspektywy trzeciej osoby.
‫Kiedy grasz w grach pierwszoosobowych, sprawy stają się nieco bliższe, ponieważ często jesteś bardzo blisko
‫beczki.
‫Ale nawet w grach pierwszoosobowych ta zasada ma tendencję do bycia.
‫Nie chcesz poruszać się w miejscu, w którym znajduje się punkt celowania na ekranie.
‫Zazwyczaj masz mały fragment interfejsu użytkownika, który nakłada się tutaj na środku ekranu i tam
‫zamierzasz celować w dół.
‫I dlatego mamy tendencję do ponownego rzutowania bronią poprawnie rzuconą w tym oknie.
‫Teraz na szczęście istnieje sposób, aby uzyskać ten widok i faktycznie robimy to z kontrolera,
‫otrzymujemy widok kontrolera.
‫Wymaga to od nas przejścia do postaci, znalezienia kontrolera postaci, a następnie odnalezienia jej położenia i
‫rotacji w polu widzenia.
‫W tym wykładzie zamierzamy spróbować zwizualizować i potwierdzić, że położenie i obrót okienka ekranu
‫są tym, czego oczekiwalibyśmy.
‫Zrobimy to, rysując pomocniki debugowania.
‫Teraz pomocnicy debugowania znajdują się w pliku nagłówkowym, a nazwa nagłówka plików to add debug.
‫Pomóż nam.
‫Co zabawne, wierzę lub rysuję, rysuję, pomagam debugować.
‫To jest ten.
‫A jeśli przyjrzymy się temu F 12, aby przejść do pliku nagłówkowego, jeśli
‫masz go już w swoich plikach dołączonych, poszukamy takiego, który nazywa się kamera debugowania rysowania kamery.
‫A to rysuje coś, co wygląda trochę jak mój diagram, mały trójkąt
‫lub bębenek, którego możemy użyć.
‫Więc co to zajmie?
‫I przyjmie światu lokalizację tej kamery, obrót tej kamery.
‫A więc położenie, obrót, pole widzenia to zrobią.
‫Ustawimy to prawdopodobnie na wartość domyślną, na przykład 90 stopni jako skalę, jako domyślny kolor.
‫Wszystkie są zaległe.
‫Więc możemy po prostu użyć tych wartości domyślnych.
‫Spróbujmy więc narysować debugowanie kamery tutaj, w moim pistolecie, i umieścimy to w metodzie wyzwalania puli, ponieważ właśnie dlatego
‫wykonujemy naszą pracę.
‫Potrzebuje przede wszystkim, co to było?
‫To był nowy świat.
‫Więc otrzymujemy nasz świat.
‫Musimy się wciągnąć.
‫Następną rzeczą byłaby lokalizacja.
‫Po prostu zdobądźmy na razie lokalizację aktora i zróbmy rotację aktorów.
‫Ostatnią rzeczą, jakiej potrzebowaliśmy, było pole widzenia.
‫Po prostu przejdźmy do 90-stopniowego pola widzenia, które jest tam po prostu losowe, i możemy iść dalej, skompilować i
‫zobaczyć, czy to się pojawi.
‫A potem zagrajmy i uderzmy.
‫Przycisk wyzwalania.
‫Nic tu nie widzę.
‫Zróbmy F8 i zobaczmy, czy możemy się zbliżyć.
‫Mm hmm.
‫Nadal nie pokazuje tu żadnego aparatu.
‫Zastanawiam się, czy jest naprawdę mały.
‫Jedną z pozostałych opcji jest to, że możemy chcieć mieć trwałe linie.
‫Oznacza to, że musimy określić wszystko aż do tego w C++, abyśmy mogli ustawić naszą skalę na jeden.
‫Moglibyśmy nawet zwiększyć go do skali dwóch, na wypadek, gdyby to rozmiar był problemem, który możemy
‫wybrać.
‫Bardziej widocznym kolorem może być czerwony.
‫Więc f perkal długi czerwony dwukropek.
‫A potem możemy spróbować, aby trwałe linie były prawdziwe i wypróbować to.
‫Położyć nacisk.
‫Więc znowu kompiluję.
‫I wskoczyć do gry.
‫I tam idziemy.
‫Uderzamy.
‫Spust, i widać, że pokazuje małe pole kamery tutaj, w którym naciskamy spust, a
‫jego obrót i położenie są ustalane przez pistolety, położenie i obrót.
‫Więc teraz chcemy spróbować zamiast tego uzyskać widok.
‫Więc jak już powiedziałem, to będzie na naszym kontrolerze.
‫Spójrzmy więc ponownie na kropkę H kontrolera.
‫Chcemy tego w ramach gry i będziemy szukać w tym miejscu.
‫Przepraszam?
‫Właściwie punkt widzenia to słowo, którego szukamy.
‫A tutaj jest ich kilka.
‫Zdobądź oczy aktora, punkty widzenia, które będą patrzeć oczami aktora.
‫Ale tak naprawdę chcemy uzyskać punkt widzenia, który dla kontrolera powietrza będzie wykorzystywał ich oczy.
‫Ale dla gracza użyjemy kamery gracza.
‫Więc tego właśnie chcemy.
‫Chcemy uzyskać punkt widzenia gracza.
‫Ale przede wszystkim musimy najpierw zdobyć ten kontroler.
‫A sposobem na to jest przede wszystkim skłonienie właściciela do zapamiętania, że kiedy mieliśmy otwartą
‫postać strzelca i schodzimy w dół lub w górę, aby rozpocząć grę.
‫Widzisz, ustawiamy właściciela broni na postać.
‫Oznacza to, że w broni możemy iść w drugą stronę.
‫Możemy powiedzieć, że zdobądź właściciela, a to da nam postać strzelca.
‫Teraz nie będzie wiedział, że to postać strzelca.
‫Wie tylko, że jest aktorem.
‫Więc będziemy musieli zrobić tutaj obsadę.
‫Więc robimy obsadę do postaci Strzelca.
‫I tak naprawdę nie musimy nawet wiedzieć nic poza tym, że jest to postać strzelanka.
‫Wystarczy wiedzieć, że jest to pionek, a każdy pionek może wtedy posiadać tę broń, nawet jeśli nie jest
‫postacią strzelca.
‫Więc postaraj się być tak niekonkretny, jak to tylko możliwe.
‫Ale dlaczego musi to być pionek?
‫Musi to być pionek, ponieważ potrzebujemy kontrolera i tylko pionki mogą być w posiadaniu kontrolerów.
‫Więc umieśćmy to w zmiennej.
‫Będzie to gwiazda -- a następnie pionek właściciela będzie nazwą zmiennej.
‫Następnie musimy sprawdzić, czy to nie jest null.
‫I zamierzam to zrobić za pomocą jednej linijki, która mówi, że jeśli jest teraz, wracamy wcześnie
‫z Apple Trigger, aby nie było żadnego ryzyka ochłodzenia czegokolwiek za pomocą wskaźnika zerowego.
‫Więc możemy sprawić, że właściciel pobierze kontroler i chcemy go zapisać w magazynie kontrolera A.
‫A to może być kontroler właściciela.
‫Tak jak.
‫I znowu, chcemy tylko sprawdzić, czy to nie jest null, ponieważ będziemy
‫wywoływać metodę na tym i nie możemy wywoływać metod na wskaźnikach o wartości null.
‫Sprawia, że jest nierealny, nieszczęśliwy i rozbija się.
‫W tym miejscu możemy teraz zrobić nasz własny kontroler.
‫Powinniśmy być w stanie przywołać do tego punkt widzenia.
‫Tak więc pojawia się wyzwanie, aby ustawić tę lokalizację i rotację za pomocą tej nowej funkcji.
‫Możesz ponownie zobaczyć dla nas podpis.
‫Idziemy do Controller Dot H, mamy plik i patrzymy na to, aby uzyskać punkt widzenia.
‫Spróbuj i zobacz, czy z tej sygnatury możesz dowiedzieć się, jak jej użyć, aby uzyskać tę lokalizację i rotację,
‫które chcemy przekazać naszemu pomocnikowi debugowania rysowania.
‫A więc będziesz pamiętać, że to wykorzystuje nasze parametry.
‫Popraw więc parametry swojej aplikacji, narysuj kamerę debugowania za pomocą tego fragmentu kodu, który właśnie napisaliśmy, i przetestuj
‫ją w widoku.
‫Idź i kliknij przycisk wyzwalacza kilka razy w różnych lokalizacjach i zobacz, gdzie kamera kończy
‫wyświetlanie wstrzymanego wideo i ruszaj.
‫Dobra.
‫Witamy spowrotem.
‫Więc zdobądź punkt widzenia planu.
‫Skopiuję nazwę metody i przeniosę ją tutaj, ponieważ jest to parametr out.
‫Będę musiał najpierw zadeklarować zmienne, do których chcę wprowadzić te wartości w lokalizacji wektora.
‫Mamy F, rotator, rotację.
‫I chcemy przekazać je jako argumenty.
‫Pozwolę sobie trochę poprawić moje wcięcie.
‫A my przejdziemy do lokalizacji, rotacji.
‫I wiemy, że ponieważ to właśnie zostało tu zadeklarowane, czytając to, możemy zgadywać, że są to teraz
‫nasze parametry, mimo że nie ma w tym względzie żadnej pomocy składniowej z C++.
‫Następnie możemy przekazać tę lokalizację zamiast lokalizacji aktora i możemy przekazać
‫tę rotację zamiast aktywnej rotacji do naszego narysowania kamery debugowania, a następnie możemy skompilować tę kompilację i wypróbować ją
‫w edytorze.
‫Wygląda na to, że kompilacja została zakończona.
‫Chodźmy pobawić się.
‫A kiedy nacisnąłem spust, można było zobaczyć kamerę pojawiającą się tuż nad moim punktem widzenia.
‫To dobry znak.
‫Cofam się trochę.
‫Możesz zobaczyć.
‫Proszę bardzo.
‫Mamy te kamery, które wskazują dokładnie we właściwym kierunku, z którego właśnie patrzyłem.
‫Więc możesz sobie wyobrazić, jak będziemy mogli wystrzelić promień z tej kamery w
‫dół kamery i spróbować trafić w coś tam, na co wtedy patrzyłem.
‫I to właśnie będziemy robić w następnym wykładzie.
‫Do zobaczenia tam.