‫Witam i zapraszam na ten wykład.
‫Będziemy bawić się przesunięciami AIM, które pozwolą naszej siatce poruszać ramionami w górę iw dół.
‫Kiedy celujemy w górę iw dół, zanurkujmy i zobaczmy, o co w tym wszystkim chodzi.
‫Więc w tej chwili, jeśli celujemy w górę i w dół, widać, że ramiona naszych postaci w
‫rzeczywistości nic nie robią, a broń nie wygląda tak, jakby powinna była skierowana w górę, strzelać i trafiać w
‫miejsce, w które faktycznie trafiamy .
‫Jak więc mamy to zmienić?
‫Cóż, to zmiana w planie animacji.
‫Przejdźmy więc dalej i otwórzmy plan animacji jako punkt początkowy i zadokujmy go w naszym głównym oknie.
‫A potem chcę przedstawić nowy rodzaj zasobu animacji, którego wcześniej nie widzieliśmy.
‫Widzieliśmy mieszanie przestrzeni, widzieliśmy animacje.
‫Następną rzeczą, którą chcę wam pokazać, jest coś, co nazywa się przesunięciem animacji, a zwłaszcza przesunięciem
‫celu.
‫Więc jeśli szukamy słowa kluczowego A0 w animacjach, szukamy tych z małym niebieskim podkreśleniem zwanym
‫AIM offsets.
‫I jest ich kilka.
‫Ten, który mnie interesuje, to walka AOE, która gdzieś tutaj powinna być.
‫Były szare, bezczynna walka aoe.
‫Wchodzisz, wybierasz to, a zobaczysz, że mamy coś bardzo podobnego do naszej przestrzeni mieszania.
‫Z wyjątkiem tego, że jeśli przesuniesz mały zielony wypustek, to co się dzieje, to zmiana
‫kierunku, w którym wskazują siatki naszych postaci.
‫Więc jeśli przechodzimy w lewo, on kieruje pistolet w lewo, my przechodzimy w prawo,
‫on celuje w prawo.
‫I podobnie w górę iw dół, jeśli idziesz w górę, to patrzy w górę, ty
‫w dół, patrzy w dół i próbuje zestrzelić.
‫Teraz różnica w stosunku do tej i innych animacji, które widzieliśmy, polega na tym, że jest to animacja
‫addytywna.
‫Jeśli przejdziesz do okienka szczegółów, zobaczysz, że jest on addytywny, ponieważ mówi o ustawieniach addytywnych
‫i jest ta poza oparta na animacji, na której opiera się to wszystko.
‫Zasadniczo oznacza to, że gdy jest addytywna, ta animacja może być dodana do
‫innych animacji.
‫Więc mówi, że mogę to celować, gdy biegniesz.
‫Mogę dodać informacje o tym, gdzie przesunęły się moje ramiona w stosunku do twojej pozy biegowej i dodać je na górze.
‫Więc jak to wygląda?
‫Jeśli przejdziemy do schematu animacji, chcemy dodać tę informację po dodaniu wszystkich informacji o lokomocji
‫i prawdopodobnie nie przed śmiercią, ponieważ śmierć powinna być ostatnią rzeczą.
‫Więc chcemy po lokomocji.
‫Mamy więc całą naszą animację biegu, którą chcemy dodać.
‫Do tego garść informacji o tym, gdzie powinniśmy poruszać ramionami, abyśmy celowali
‫poprawnie.
‫Aby to zrobić, możemy kliknąć prawym przyciskiem myszy i dodać przesunięcie celowania.
‫Możemy to zrobić również z przeglądarki zasobów, a następnie poszukać A0.
‫A potem, jak powiedziałem, szukamy tej wersji bojowej, która jest innym miejscem w tej przeglądarce.
‫Co zabawne, jeśli to przeciągnę, to otrzymasz coś z pinem wejściowym, który mówi Co to jest
‫zawiadomienie o opłaceniu podstawowym?
‫Baza planów Locomotion nie miała pinu wejściowego, ponieważ zapewnia
‫całą animację, podczas gdy przesunięcie celu, ponieważ jest to animacja addytywna, wymaga czegoś do dodania.
‫Musisz więc nadać mu podstawową pozę, która będzie pochodzić z naszej lokomocji, a następnie wprowadzimy
‫ją do naszej fałszywej pozy mieszanki, niezależnie od tego, czy jesteśmy martwi, czy nie, ponieważ jesteśmy tylko pokazując to,
‫jeśli nie jesteśmy martwi.
‫A potem chcę wam pokazać, że gdybym miał zmienić tonację na jeden, a może na 180, właściwie i
‫skompilować, to widzicie, że on w pełni patrzy w górę.
‫Teraz kolejna sztuczka, którą chcę tutaj zrobić, dotyczy wykresu zdarzeń.
‫W tej chwili mamy dość irytującą sytuację, w której nie możemy zrobić czegoś w
‫podglądzie animacji, ponieważ jest on nadpisywany zerami przez nasz wykres zdarzeń.
‫Prostym sposobem na naprawienie tego jest po prostu sprawdzenie tutaj, czy właściciel pionka, którego tu mamy, jest
‫ważny.
‫Mianowicie, czy jest on nieważny?
‫Więc jeśli put jest tutaj poprawne, a ten ze znakiem zapytania automatycznie daje nam te
‫węzły wykonania, a jeśli przejdziemy przez węzeł wykonania animacji aktualizacji i ustawimy rzeczy tylko wtedy, gdy to jest poprawne,
‫wtedy stanie się tak, że kiedy nie grasz i nie ma tam pionka, który
‫przekazałby nam informacje, pozwoli nam to ustawić.
‫Dodano podgląd animacji.
‫Teraz mogę zmienić prędkość i widać, że zaczyna biec z ustawionym wysokim przesunięciem celu.
‫Więc ustawmy to tak, że nasz skok jest tutaj zmienną.
‫Więc kliknę prawym przyciskiem myszy na wysokość, awansuję do zmiennej i przeniosę tę zmienną tutaj, która
‫jest widoczna, i zmienię jej nazwę na wysokość.
‫A właściwie bądźmy bardziej konkretni, to jest taki sam skok celu.
‫Więc teraz, jeśli przejdziemy dalej i skompilujemy, przez przypadek ustawimy domyślny skok celowania a.
‫Chcemy domyślnie ustawić to na zero.
‫Zamierzam to skompilować.
‫A teraz, jeśli pójdziemy dalej i zmienimy prędkość, a następnie zmienimy wysokość celowania.
‫Widać, że możemy celować w górę i możemy celować w dół, co jest dokładnie tym, czego chcemy.
‫Problem polega na tym, że nie jest to jeszcze ustawione w grze.
‫Jeśli idziemy w górę iw dół, nic z tego nie pochodzi z informacji z naszej rotacji kontroli i naszego celowania.
‫Musimy więc wrócić do naszego wykresu zdarzeń i uzyskać tutaj niektóre z tych informacji.
‫Teraz zamierzam tylko trochę urozmaicić sprawy, ponieważ jest to już dość długie.
‫A to, co chcę zrobić, to wyłączyć ten prawidłowy pin, to chcę umieścić węzeł sekwencji, który
‫pozwoli mi również rozłożyć rzeczy trochę w dół w kierunku pionowym.
‫Więc węzeł sekwencji, przede wszystkim, będzie ustawiał prędkość i kąt tutaj.
‫Myślę, że możemy przenieść te rzeczy do rzucania, by sfilmować postać.
‫Myślę, że możemy obniżyć to w pionie, łącząc się z tą pinezką sekwencji i pinezką
‫obiektu, aby spróbować uzyskać -- na węźle.
‫Następnie możemy dodać kolejny pin do sekwencji.
‫A tym razem chcę uzyskać dwie informacje od naszego właściciela pionka.
‫Pierwszym będzie rotacja kontrolna.
‫Zróbmy więc rotację kontroli.
‫Ale to nie wystarczy, ponieważ jako rotację kontroli, jeśli podzielimy pinezkę, widać, że mamy
‫tutaj wysokość i możemy spróbować ją ustawić.
‫Spróbujmy.
‫Więc jeśli zrobię ustawiony skok i połączę węzeł wykonawczy z węzłem wykonawczym z naszej sekwencji, dodając trochę przekierowania
‫do tego, co się stanie, jeśli skompilujemy, zapiszemy, wciśniemy play, a następnie celuję w górę,
‫działa dobrze.
‫Celuj w dół nie odwraca się.
‫Wtedy sprawy zaczynają wyglądać jeszcze dziwniej.
‫Teraz chodzi o to, że ta rotacja sterowania jest całkowicie globalna, a więc nie bierze pod
‫uwagę kierunku, w jakim zmierza nasz gracz.
‫Więc żeby wziąć to pod uwagę, musimy ponownie udać się do pionka i uzyskać rotację aktorów.
‫A potem chcemy znaleźć rotację między rotacją aktora a rotacją kontroli.
‫A sposób, w jaki to robimy, polega na tym, że po prostu odłączę ton AM.
‫Przerwij ten link, kliknij prawym przyciskiem myszy i ponownie połącz piny struct, jeśli chcę zrobić deltę
‫między tymi dwoma, abym mógł zdjąć rotację sterowania i poszukać Delta.
‫A Delta to w zasadzie wymyślny sposób na powiedzenie odejmowania między rotatorami.
‫Więc to, co chcemy zrobić, to wziąć rotację kontroli i odjąć rotację podstawową, która będzie
‫rotacją naszego aktora.
‫Więc to jest B, więc to będzie A minus B, jeśli najedziesz kursorem, to właśnie robi rotacja delta.
‫I zasadniczo chcemy powiedzieć, tak, chcę rotacji kontrolnej, ale zabierz wszystkie te informacje
‫o naszej aktywnej rotacji.
‫Mogę więc po prostu wiedzieć, czy celujemy w górę iw dół względem kierunku, w którym zwrócona jest moja postać.
‫A potem, jeśli wydzielę ukrytą z tego wartość zwrotu i użyję stamtąd skoku, zobaczymy, że
‫wszystko działa zgodnie z oczekiwaniami.
‫Kiedy patrzę na moje imię w górę, kiedy patrzę w dół, celuję w dół i nie ma znaczenia, w którą
‫stronę zwrócę się na świecie, tak będzie zawsze.
‫To prawie tyle, jeśli chodzi o rotację celu.
‫Jedynym problemem jest to, że w tej chwili Ally nie jest w stanie celować w ten sposób.
‫Więc jeśli pójdę i postawię postać strzelca na schodach tutaj, a potem spróbujemy go zwalić, spróbujmy,
‫żeby podszedł do nas.
‫Oto nadchodzi.
‫Widać, że po prostu strzela w ścianę.
‫W ogóle nie próbuje celować, co jest trochę smutne.
‫Więc co się dzieje, jeśli przejdziemy do naszego sojusznika i naszego drzewa zachowań, widać, że ustawiamy
‫domyślny fokus na lokalizację.
‫I domyślnie, jeśli ustawisz fokus na lokalizację, Unreal nie zaktualizuje rotacji sterowania w ten
‫sam sposób, w jaki nie zrobi skoku.
‫To trochę smutne.
‫Ok, więc musimy podejść do naszej tablicy i zmienić lokalizację gracza, aby była tylko odniesieniem
‫do gracza, zamiast tego, że musimy zmienić ten wektor na obiekt.
‫Więc teraz mamy pusty klucz tablicy dla gracza, który jest obiektem, i możemy zmienić
‫klasę bazową na aktora, jeśli chcemy, chociaż nie jest to szczególnie ważne.
‫I wtedy to, co to oznacza, kończy się w drzewie zachowań, możemy zmienić rzeczy tak,
‫że zamiast przesuwać się, aby zastosować lokalizację, przechodzimy do aktora gracza.
‫Możemy ustawić fokus na aktora gracza i zaktualizować lokalizację gracza, jeśli scena musi teraz
‫wskazywać również na aktora gracza.
‫Teraz to jeszcze nie zadziała, ponieważ nasza aktualizacja lokalizacji odtwarzacza, jeśli scena aktualnie próbuje
‫ustawić lokalizację w tym kluczu.
‫Więc małe mini wyzwanie dla Ciebie, sprawdź, czy możesz je zaktualizować.
‫Więc zamiast ustawiać lokalizację w tej usłudze drzewa zachowań, ustawiamy rzeczywiste nagranie pozy aktora i
‫zaczynamy.
‫Dobra.
‫Witamy spowrotem.
‫Przejdziemy więc do kodu programu Visual Studio i poszukamy szczególnie usługi ASC.
‫Jest to lokalizacja odtwarzacza z podkreśleniem usługi, jeśli jest widoczna.
‫I zmienimy to na zestaw wartości ustawionych jako wektor.
‫Będzie to wartość ustawiona jako obiekt, tak po prostu.
‫Mamy wybór typów na tablicy i właśnie to tutaj powiemy.
‫Teraz oczywiście będzie narzekać, że to, co próbujemy powiedzieć, jest wektorem, a nie obiektem.
‫Więc po prostu usuniemy lokalizację pobierania aktora i przekażemy gracza, a zamiast tego wyczyszczenie wartości jest
‫takie samo jak wcześniej.
‫Możemy więc po prostu wrócić do edytora, nacisnąć, skompilować i sprawdzić, czy ta nowa konfiguracja działa z Aiming
‫for the High.
‫Kate, zanurkujmy.
‫Hit play.
‫Idź i znajdź to powietrze na schodach.
‫Niech spróbują, przyjdą i spojrzą na nas z góry.
‫Dalej.
‫Mam jeszcze jedną rzecz, o której zapomniałem w drzewie zachowań do aktualizacji, to możliwość zobaczenia gracza w tej chwili
‫zniknął po zresetowaniu klawisza tablicy do samodzielnego aktora chcemy, aby być graczem, po prostu jest ustawionym graczem, chodźmy
‫i dokonaj tej zmiany, ponieważ w tej chwili nie przyszedłem nas ścigać, teraz
‫goni nas i tak naprawdę, jeśli skoczyłeś, możesz prawie zobaczyć, że zmienia się rotacja celowania
‫tego gościa.
‫Wejdźmy na schody i zobaczmy, czy może ze schodów zestrzelić w nas.
‫Doskonały.
‫Zmienił rotację i rzeczywiście strzela prosto do nas.
‫Obaj są.
‫Widzieliśmy, jak tracił zdrowie i wkrótce umrze.
‫OK, to tyle na ten wykład.
‫Dodaliśmy przesunięcie celowania i zaktualizowaliśmy nasze powietrze, aby mogło to wykorzystać również do celowania.
‫Na następnym wykładzie będziemy robić coś z tym zabawnym bieganiem w powietrzu.
‫Zobaczę to.