‫Cześć i witaj.
‫W tym wykładzie dodamy ruch kontrolera, abyśmy mogli poruszać się
‫za pomocą kontrolera, co widać tutaj, robiąc to, używając innego zestawu osi.
‫Spójrz w prawo i spójrz w prawo.
‫Dobrze.
‫Zobaczymy, dlaczego jest to konieczne.
‫Zanurzmy się i dowiedzmy, dlaczego.
‫Chcemy więc móc poruszać się po naszej scenie za pomocą kontrolera.
‫Mogę już to zrobić, gdy nie jestem w trybie gry.
‫Chcemy więc móc wykonywać ten sam rodzaj ruchu, co ten z panoramowaniem prawym
‫drążkiem i poruszaniem się w lewo iw prawo lewym drążkiem.
‫I możemy też iść w górę iw dół.
‫Ale to nie jest coś, co aplikacja będzie w stanie zrobić, ponieważ nie jest to latanie --.
‫Więc to, co zamierzamy zrobić, to przede wszystkim łatwe mapowanie ruchu.
‫To, co musimy zrobić, to przejść do ustawień naszego projektu, zejść do miejsca, w którym są dane wejściowe, wejścia silnika, i
‫mamy naszą oś ruchu do przodu, a także ruch w prawo.
‫I całkiem łatwo jest dodać kolejne mapowanie, a także W i S, które możemy dodać w naszym
‫gamepadzie.
‫Jeśli spojrzymy na gamepad, zobaczysz lewy drążek, na którym chcemy, aby oś y poruszała się do przodu,
‫a do ruchu w prawo.
‫Dodamy jeszcze raz gamepady i to gamepad, wciąż lewy drążek.
‫Ale tym razem robimy oś x i y i możemy zobaczyć, czy to właściwy rodzaj ruchu.
‫Więc śmiało i włącz odtwarzanie.
‫Używam ULP jako mojego skrótu do tego.
‫Następnie lewo i prawo działają do przodu i do tyłu działają tak, jak byśmy się spodziewali.
‫Ale oczywiście skręcanie nie działa, ponieważ jeszcze tego nie zmapowaliśmy.
‫Więc spróbujmy.
‫Jeśli przejdziemy do ustawień, ustawień projektu i wprowadzania ponownie.
‫Spójrzmy.
‫Spojrzeć w górę.
‫Obecnie używamy myszki y.
‫Co byłoby złego w dodaniu tutaj?
‫Na przykład gamepad, prawy drążek, a tym razem oś y?
‫Cóż, za pierwszym razem możemy iść i trochę się pobawić.
‫To może wydawać się w porządku.
‫Więc wchodzimy i widzicie, że możemy się poruszać.
‫Tak, jasne.
‫Jest trochę szybki, ale jest w porządku, prawda?
‫Czy to nie jest w porządku?
‫Cóż, nie za bardzo.
‫Powód ostatecznie sprowadza się do liczby klatek na sekundę i sposobu działania tych osi.
‫Co więc dzieje się z myszą, gdy uruchamiamy grę z szybkością 30 klatek na sekundę?
‫Kiedy poruszamy myszą od lewej do prawej po ekranie z pewną równomierną prędkością, możemy zobaczyć, że
‫wartości osi to mniej więcej dziesięć, potem dziesięć, potem dziesięć.
‫A to mówi nam, że za każdym razem, gdy mysz przesunie się o dziesięć jednostek w prawo i robi to tak
‫samo w każdej klatce.
‫Co się stanie, jeśli podwoimy naszą liczbę klatek na sekundę?
‫No cóż, nagle mysz nadal porusza się w tym samym tempie, ponieważ gracz nadal porusza ręką
‫z tą samą prędkością.
‫Ale ponieważ częściej pokazujemy klatki, częściej mamy tiki, więc to, co się stanie, to fakt,
‫że dane wejściowe z osi zostaną zmniejszone o połowę.
‫Za każdym razem dostaniemy pięć, cztery, pięć, cztery, pięć, pięć, pięć.
‫Świetnie, to dobrze, ponieważ oznacza to, że nadal będziemy przesuwać ekran w tym samym
‫tempie, bez względu na to, czy mamy szybki komputer, czy wolny komputer.
‫Jeśli przesuniemy mysz o określoną wartość, zauważysz ten sam ruch, a tego właśnie
‫chcemy.
‫Teraz sytuacja trochę się zmienia, gdy patrzymy na kontroler, powiedzmy, że mamy jechać pełną parą w prawo
‫za pomocą naszego analogowego kontrolera i jest to 30 klatek na sekundę.
‫Dostajemy jeden, potem jeden, potem jeden.
‫Ma sens, prawda?
‫A jeśli to 60 klatek na sekundę?
‫Wciąż dostajemy jeden, potem jeden, potem jeden, potem jeden.
‫Ale dostajemy ich więcej, ponieważ dostajemy więcej klatek.
‫Jeśli użyjesz tego bezpośrednio, aby wpłynąć na ruch twojego -- zobaczysz, że porusza się on z podwójną prędkością, z podwójną
‫liczbą klatek na sekundę, a nie tak, jak byśmy tego chcieli.
‫Więc to, co chcemy zrobić, to wprowadzić tutaj pewną niezależność liczby klatek na sekundę.
‫Aby to zrobić, musimy być w stanie pomnożyć przez czas Delta.
‫Chcemy użyć osi wejściowej, aby pomóc nam modulować prędkość obrotową.
‫Więc to trochę do ogarnięcia.
‫Ale mam na myśli to, że potrzebujemy czegoś w rodzaju zmiennej szybkości rotacji.
‫Stworzymy dla tego nową właściwość, która będzie edycją w dowolnym miejscu
‫i będzie to zmiennoprzecinkowa i będzie to szybkość rotacji.
‫Teraz użyję tej samej szybkości rotacji zarówno w górę, jak iw lewo i w prawo.
‫Możesz iść dalej i mieć osobną zmienną dla obu.
‫I tak naprawdę nie wiem, jaka będzie tutaj dobra rotacja.
‫Zamierzam tylko zgadnąć, ponieważ nie jestem w ogóle pewien, jakie jednostki są tutaj zaangażowane, więc
‫po prostu pójdę i powiem dziesięć, ale zobaczymy.
‫Może to o wiele za szybko.
‫Może to jest zbyt wolne.
‫Możemy to dostosować w naszym planie, abyśmy mogli to zapisać.
‫Nawiasem mówiąc, przejdę do C++, aby przejść do C++.
‫I będziemy chcieli mieć nowy rodzaj dostępu, aby móc odróżnić przeprowadzkę.
‫W prawo, czyli bezpośredni ruch myszy w porównaniu z ruchem.
‫Dobrze?
‫A raczej przepraszam, wygląd.
‫Tak, jaka jest stawka.
‫Zrobimy to, przechodząc do ustawień projektu i zamiast tego, aby ten gamepad był
‫zmapowany do ruchu.
‫Dobra, przepraszam, nie lewe coś, ale prawe odwzorowane, aby spojrzeć w górę.
‫Ciągle popełniam ten błąd, usuwam to z osi i dodaję nową oś, która będzie miała wygląd.
‫W górę.
‫Dobrze.
‫A to zajmie gamepad, prawda?
‫Więc gamepad.
‫Dobrze.
‫Oś Y.
‫Ponieważ jest to spojrzenie w górę i mówimy, że pozytywny powinien być ten, którego używamy.
‫Więc to, co możemy zrobić, to zmapować to, a nie chcemy mapować bezpośrednio do kontrolera ADD.
‫Dzieje się tak, ponieważ potrzebujemy trochę matematyki, aby obliczyć szybkości i uczynić je niezależnymi od
‫szybkości klatek.
‫Więc to, co zamierzamy zrobić, to przejść do Ultimo i stworzyć sobie look w górę, który już
‫tutaj mamy.
‫Stworzę to tak, jak spójrz w górę, w prawo i idź dalej i stworzę to przesunięcie sterowania.
‫P A ja patrzę, użyj mojej poprawnej wtyczki implementacyjnej.
‫Przejdźmy dalej i sprawdźmy wdrożenie stawki.
‫Masz nadchodzącą wartość osi?
‫To wspaniale.
‫Następnie chcemy się upewnić, że to właśnie wywołujemy w konfiguracyjnym komponencie wejściowym odtwarzacza.
‫Stwórzmy więc tutaj nową linię, zduplikujmy wygląd.
‫Racja, zadzwonię do tego look up.
‫Tak, jak tak, a następnie skopiuj i wklej.
‫W pełni kwalifikowane odwołanie do funkcji do wywołania.
‫Właśnie wtedy patrzę w górę.
‫Zasadniczo to, co chcemy nazwać na koniec dnia, to dodanie wejścia kontrolera, wejście kontrolera wysokości
‫tonu.
‫Ale chcemy to pomnożyć przez kilka rzeczy.
‫Tak więc wartość dostępu jest wartością od zera do jednego.
‫Jeśli pomnożymy tę wartość, to wartość osi pomnożona przez szybkość rotacji stawki.
‫Wtedy dostaniemy prędkość.
‫Ale to, czego chcemy, to tak naprawdę odległość.
‫Tak jak poruszaliśmy myszą, poruszaliśmy się w pewnej odległości, w każdej klatce.
‫To właśnie nadchodziło.
‫Chcemy przeliczyć tę prędkość na odległość.
‫A jeśli pamiętasz jakąś drogę powrotną, jakąś mglistą lekcję matematyki, aby przejść od prędkości do odległości,
‫musimy pomnożyć przez ilość czasu.
‫Robimy to, czerpiąc nasze sekundy Delta ze świata.
‫Czym są sekundy delta?
‫Tyle czasu zajęła ostatnia klatka.
‫Jest to więc coś w rodzaju przeciwieństwa liczby klatek na sekundę.
‫Mówi nam, jak długo trwa klatka, co jest świetne, ponieważ tyle czasu potrzebujemy, aby
‫zastosować ten ruch.
‫Więc jeśli o tym pomyślisz, mamy prędkość, mamy czas, który potrzebujemy, aby zastosować
‫tę prędkość.
‫Daje nam to ilość ruchu, którą zasadniczo chcemy zastosować do wejścia kontrolera.
‫Więc tego właśnie chcemy.
‫Zdobądź świat przede wszystkim dlatego, że chcemy osiągnąć poziom, wiesz, zdobyć świat wokół nas.
‫Następnie używamy funkcji strzałki, aby uzyskać deltę sekund, która mówi nam, że chcemy uzyskać czas, który upłynął w
‫ostatniej klatce, co ponownie daje nam to przybliżenie naszej liczby
‫klatek na moment w czasie.
‫Teraz możesz się zastanawiać, dlaczego nie robimy tego samego z wejściem ruchu.
‫Powodem jest to, że wprowadzanie ruchu, kiedy wprowadzasz tam reklamę, już zakłada,
‫że jest to tempo, a nie rzeczywista ilość ruchu.
‫Więc to już robi dla nas te obliczenia, zasadniczo pod maską, zapisuje pliki, przechodzi w nierealne,
‫kompiluje i sprawdza, czy coś z tego jest tego warte.
‫Więc przejdźmy do gry, a ja spróbuję użyć mojego wejścia kontrolera.
‫No to jedziemy.
‫Poruszamy się w górę iw dół dość wolno.
‫Ale miejmy nadzieję, że będzie to całkowicie niezależne od liczby klatek na sekundę, ponieważ wykorzystaliśmy ten czas delta.
‫Więc to, co chcę, abyś zrobił, to pójście naprzód i wdrożenie odpowiedniego stawki.
‫Powtórz więc tę samą metodę, którą ustawiono, aby wyglądać dobrze, tak jak w przypadku patrzenia w górę, i dostosuj prędkość, aby
‫nie szła zbyt wolno i można było jej używać do poruszania się po poziomie.
‫Wstrzymaj wideo i spróbuj.
‫Dobra.
‫Witamy spowrotem.
‫Więc pierwszym krokiem było stworzenie nowego mapowania osi w ustawieniach naszego projektu.
‫Zrobimy to ponownie, tym razem dla wyglądu.
‫Dobrze?
‫Dobrze.
‫Podoba mi się, co za kęs.
‫Potem pójdziemy po gamepad.
‫Tym razem prawa i oś X.
‫Właśnie do tego będziemy mapować.
‫A potem przez cały ten czas będziemy odstrzeliwać jej głowę.
‫Zamierzam teraz zduplikować wyszukiwanie.
‫Pokażę ci tylko pliki, abyś mógł zobaczyć, gdzie jestem po lewej stronie.
‫Więc znowu, zamiast patrzeć w górę.
‫Dobrze.
‫To będzie wygląd.
‫Dobrze.
‫Zmiana sterowania p świetna realizacja.
‫I będziemy mieli dokładnie ten sam kod z takim samym
‫mnożeniem, które przenosi nas z prędkości do pewnej odległości.
‫To jest wygląd.
‫Racja, racja.
‫Więc zamiast dodawania skoku kontrolera, musimy tym razem wprowadzić dane wejściowe, a odpowiednia szybkość wyglądu
‫będzie musiała zostać wywołana z naszego komponentu wejściowego ustawionego gracza lub musi zostać wywołana,
‫gdy oś jest faktycznie manipulowana.
‫Dodamy więc kolejny rozszerzony zestaw szybkości wyszukiwania.
‫To będzie odpowiednia stawka.
‫A więc będziemy chcieli skopiować to odwołanie do funkcji i umieścić znak & przed, a następnie w
‫pełni kwalifikowane kwestie.
‫Postać.
‫Dwukropek, dwukropek.
‫Wyglądać.
‫Racja, racja.
‫Przejdźmy dalej i zapiszmy zarówno to, jak i nagłówek pliku.
‫Wróć do projektu i wyjdź z odtwarzania, które zostawiłem podczas kompilacji hitów tu i potem.
‫Powinniśmy być w stanie zanurkować i pobawić się.
‫Więc.
‫W górę iw dół działa powoli, w lewo iw prawo.
‫Nie do końca wiem, jak bym się spodziewał.
‫Sprawdźmy nasze ustawienia projektu.
‫Więc nasz wygląd.
‫Dobrze.
‫Wydaje się w porządku.
‫Pałeczka.
‫Dobrze.
‫Dostęp za pomocą kciuka.
‫Sprawdźmy to.
‫To wszystko przechodzi poprawnie do C++ dzięki wyglądowi osi.
‫Dobrze.
‫Woła spojrzenie.
‫Dobrze.
‫Funkcja lub szwy w celu wywołania danych wejściowych tak, jak powinny.
‫Dana, co się tam stało?
‫Po prostu ponownie wcisnąłem rekompilację, a następnie ponownie wcisnąłem odtwarzanie.
‫Czasami musisz to zrobić.
‫Ale teraz patrzenie w lewo iw prawo działa w górę iw dół, aczkolwiek w bardzo, bardzo wolnym
‫tempie.
‫Więc zamierzamy poprawić nasz plan postaci.
‫Chodźmy i znajdźmy postać strzelca.
‫Otwórz jego plany.
‫A potem przewińmy w dół i znajdźmy szybkość rotacji.
‫Więc pomnożę przez dziesięć.
‫Spróbuj uzyskać dziesięć razy szybciej, niż znajdę wartość, która ma sens gdzieś pomiędzy.
‫Jest to zawsze jeden ze sposobów, w jaki możesz spróbować znaleźć wartości, po prostu najpierw zmieniając rząd
‫wielkości.
‫Cóż, to jest o wiele bliższe w prawym polu.
‫Może jest trochę zbyt wrażliwy, więc może po prostu zrzucam to o połowę.
‫Spróbuj tym razem około 50.
‫Nie 500, ale 50.
‫Wypróbujmy to.
‫Włącz odtwarzanie i poruszaj moim kijem.
‫Dobra.
‫To uczucie dużo bardziej naturalne.
‫Możesz chcieć znaleźć się gdzieś pomiędzy tymi dwoma.
‫Więc wejdź między te dwie.
‫Znowu powiem, że tym razem około 70, zamiast iść do 170, może być właściwą stawką.
‫Zobaczmy, czy trafiliśmy w złoto.
‫Tak myślę.
‫Myślę, że 70 to dla mnie odpowiednia stawka do poruszania się.
‫Oczywiście jest to coś, co często gry pozwalają na dostrajanie, pozwalają graczowi na
‫dostrajanie ustawień.
‫Nie będziemy się tym zajmować.
‫To wykracza poza zakres tej sekcji, ale jest to coś, co możesz potencjalnie chcieć ujawnić
‫użytkownikom we własnych grach.
‫Fajny.
‫W tym wykładzie widzieliśmy więc różnicę między wejściem kontrolera a wejściem myszy i jak
‫mamy radzić sobie z szybkościami zamiast bezwzględnymi ruchami.
‫W następnym wykładzie przyjrzymy się kamerze trzeciej osoby, o której ciągle sugerowałem.
‫Zobaczyć, że?