‫Tak więc celem tego filmu jest posiadanie pocisków, które faktycznie wystrzeliwują w powietrze i zachowują się
‫tak, jak powinny.
‫Hej, witaj z powrotem.
‫W tym filmie zajmujemy się tym, aby nasz pocisk rzeczywiście zachowywał się jak pocisk i poruszał się.
‫Istnieją różne sposoby radzenia sobie z tym.
‫Jednym ze sposobów jest samodzielne ustawienie położenia i obrotu pocisku.
‫Teraz generalnie wymagałoby to od nas aktualizacji co klatkę, więc prawdopodobnie umieścilibyśmy to
‫w funkcji zaznaczenia.
‫Innym sposobem jest po prostu dodanie impulsu do pocisku i pozwolenie silnikowi fizycznemu na przejęcie kontroli.
‫Zasadniczo przykładamy siłę i wystrzeliwujemy pocisk, pozwalając grawitacji zrobić swoje, a pocisk
‫po prostu wyleci w powietrze.
‫Teraz innym sposobem byłoby użycie komponentu ruchu.
‫Teraz jest to specjalny typ komponentu, który dodamy do naszej klasy pocisku.
‫A po ustawieniu pewnych parametrów w składniku ruchu, składnik ruchu zajmie się
‫ruchem dla aktora.
‫Teraz tak się składa, że Unreal Engine ma wbudowany komponent stworzony specjalnie dla pocisków.
‫Wykorzystuje to niektóre wbudowane funkcje Unreal Engine.
‫Robiąc to, umożliwiamy komponentowi ruchu obsługę ruchu za nas na podstawie dostarczonych przez nas
‫ustawień.
‫Więc to jest metoda, której będziemy używać.
‫Chcielibyśmy więc dodać komponent ruchu pocisku do naszej klasy pocisku, który
‫będzie obsługiwał ruch obiektu pocisku.
‫Tak więc, gdy odradzamy pocisk na świecie, komponent ruchu pocisku, który należy do klasy pocisku, można
‫skonfigurować i dostosować w oparciu o ustawione przez nas zmienne w klasie ruchu
‫pocisku.
‫Teraz ustawimy kilka z nich, takich jak prędkość początkowa i prędkość maksymalna oraz komponent
‫ruchu pocisku, który faktycznie przesunie pocisk w świecie za nas.
‫Oto strona z dokumentacją Unreal Engine.
‫Komponent ruchu pocisku.
‫Jest to komponent, którym się zajmujemy, a zobaczysz, że mówi, że komponent Ruch
‫pocisku aktualizuje pozycję innego komponentu podczas jego tyknięcia.
‫Domyślnie przeniesie komponent trasy.
‫Teraz oto dołącz.
‫A jeśli będziesz kontynuować przewijanie w dół, zobaczysz niektóre zmienne, które można ustawić w
‫komponencie ruchu.
‫Więc przewiń to i spójrz i zobacz, jakie są opcje.
‫Teraz dodajemy składnik ruchu pocisku do naszej klasy w taki sam sposób, w jaki dodaliśmy każdy inny składnik, co
‫oznacza, że już wiesz, jak to zrobić.
‫Więc twoim wyzwaniem jest przejście do klasy pocisku i dodanie zmiennej wskaźnika komponentu ruchu pocisku i
‫ujawnienie tego, czyniąc go widocznym w dowolnym miejscu.
‫W ten sposób możemy łatwo edytować komponent ruchu pocisku z poziomu planów.
‫Teraz zbudujesz go w konstruktorze pocisku, używając opcji Utwórz domyślny obiekt podrzędny.
‫Nie zapomnij dołączyć odpowiedniego nagłówka i ustawić zmienne prędkości początkowej i maksymalnej prędkości komponentu
‫ruchu pocisku.
‫Teraz wybierz dla nich własne wartości i ustaw je w konstruktorze, a następnie przetestuj grę.
‫Dostosujesz prędkość początkową i maksymalną w panelu szczegółów, wybierając komponent w
‫schemacie pocisku.
‫A to da ci trochę doświadczenia w dostosowywaniu parametrów i eksperymentowaniu jako programista.
‫Zatrzymaj więc wideo i utwórz teraz komponent ruchu pocisku.
‫Dobra.
‫Więc jestem tutaj w pocisku H i prawdopodobnie dodałeś swój komponent w sekcji prywatnej.
‫Więc jeśli tak, masz właściwy instynkt.
‫Uczynimy to zmienną prywatną.
‫W porządku.
‫Jeśli tego nie zrobiłeś, możesz łatwo przenieść go do sekcji prywatnej, jeśli chcesz.
‫Teraz będzie to składnik ruchu pocisku U, a to jest wskaźnik.
‫Możemy po prostu nazwać ten składnik ruchu pocisku.
‫Teraz zamierzam nadać temu właściwość U i po prostu uczynić to widocznym w dowolnym miejscu.
‫Teraz prawdopodobnie nadałeś mu kategorię.
‫Jeśli nie, to w porządku, ale zamierzam nadać temu kategorię i nazwać to ruchem.
‫Mamy więc komponent ruchu pocisku.
‫Zamierzam porzucić deklarację forward i zobaczę, czy uda mi się teraz
‫skompilować w CP pocisku, dołączę plik nagłówkowy.
‫Wracając do strony dokumentacji, skopiuję to i po prostu wkleję tutaj w projectile.
‫A teraz jestem gotowy do skonstruowania mojego komponentu.
‫Więc powiem komponent ruchu pocisku i użyję tworzenia domyślnego obiektu podrzędnego,
‫a typem będzie komponent ruchu pocisku.
‫A dla tekstu, będę nazywał ten komponent ruchu pocisku właśnie w ten sposób.
‫Jest mój średnik i mamy go.
‫Teraz, zgodnie z instrukcją, ustawimy ruch pocisku, maksymalną prędkość komponentu i dam temu początkową prędkość, powiedzmy,
‫1300 F. To jest coś, z czym będziemy eksperymentować i poprzez testowanie gry
‫dostosujemy to do właściwa wartość.
‫Teraz ustawię początkową prędkość komponentu ruchu pocisku i ustawię ją na tę samą wartość.
‫Tak więc prędkość początkowa będzie określać, jak szybki jest komponent pocisku, gdy się uruchamia.
‫I oczywiście nigdy nie przekroczy maksymalnej prędkości.
‫Przejdźmy dalej i skompilujmy to.
‫Ok, więc otrzymuję błąd kompilacji i jeśli pójdę w górę, zobaczę, że odwołuje się do pocisku h.
‫Wróćmy więc do pocisku H i jest napisane Pocisk H 27.
‫Odnosi się do linii 27 i to jest ta linia tutaj.
‫I otrzymujemy ten składnik ruchu pocisku, który nie jest członkiem pocisku.
‫Pamiętaj, to był rodzaj błędu, który widzieliśmy, gdy nie przekazaliśmy dalej deklaracji.
‫Możemy więc łatwo przekazać to dalej za pomocą słowa kluczowego class i skompilować ponownie, a kompilacja zakończy
‫się sukcesem.
‫Tak więc ponownie, w ten sposób możemy dowiedzieć się, czy dany komponent jest domyślnie dołączony.
‫I widzieliśmy, że ten nie jest taki z udaną kompilacją.
‫Wróćmy do edytora.
‫OK, więc wróciłem do edytora i zamierzam przejść do planów i aktorów, a oto pocisk BFP.
‫Więc tutaj pocisk NP.
‫Teraz widzę, że jest tutaj komponent ruchu pocisku.
‫A w panelu szczegółów możesz zobaczyć, że pod pociskiem mamy prędkość początkową i maksymalną, możesz
‫przewijać i zobaczyć wiele innych parametrów, które możemy ustawić.
‫Więc zagrajmy w test.
‫Wcisnę play, kliknę lewym przyciskiem i to sprawdzę.
‫Nasze pociski się poruszają.
‫Lecą w powietrzu i zatrzymują się, gdy w coś uderzą.
‫Teraz w końcu chcielibyśmy, aby wysadziły je w powietrze i spowodowały uszkodzenia.
‫Ale to świetny punkt wyjścia.
‫Przejdźmy teraz w zasięg ognia i zobaczmy, czy wieżyczki wystrzelą pocisk.
‫I oczywiście, że nie.
‫Powodem jest to, że mamy tę podklasę zmiennej TW.
‫Więc jeśli zastanawiasz się, dlaczego wieżyczki tak naprawdę nie generują pocisków, być może tego nie
‫ustawiłeś.
‫Więc chodźmy dalej i wejdźmy do stawów i zapiszmy w stawie, wieżyczce i otwórzmy pełny plan.
‫Editor A klasę pocisku umieściliśmy w sekcji walki.
‫To jest nasza podklasa, więc jeśli ustawimy to na pocisk BP, nasza wieża również powinna zacząć pojawiać
‫się pociski.
‫Więc wejdźmy w zasięg ognia i mamy to.
‫Strzela w nas pociskami.
‫Więc to wygląda niesamowicie.
‫Więc mamy teraz pociski.
‫Przyjrzyjmy się więc naszemu planowi sekcji.
‫Stworzyliśmy już czołg, który może poruszać się po całym świecie, a teraz obsługujemy wprowadzanie danych za
‫pomocą klawiszy WASD i kliknięć myszą.
‫Stworzyliśmy klasę wieży wroga, nazwaliśmy ją wieżą w C++ i dodaliśmy możliwość
‫strzelania pociskami.
‫Teraz musimy zająć się obrażeniami i zniszczeniem zdrowia w tej grze.
‫To są nasze kolejne kroki, które pojawią się w nadchodzących filmach.
‫Więc teraz, gdy dodaliśmy komponent ruchu pocisków, mamy teraz rzeczywiste pociski.
‫Do zobaczenia w następnym filmie, kiedy zaczniemy rozmawiać o tym, jak sprawić, by pociski
‫faktycznie wybuchały i powodowały uszkodzenia.
‫Zobaczymy się wkrótce.