‫Chcielibyśmy więc, aby kamera zadrżała po uderzeniu naszego pocisku, coś w tym stylu.
‫Chcielibyśmy też, żeby się zatrząsł, gdy jeden z naszych stawów umrze.
‫Hej, witaj z powrotem.
‫W tym filmie dodamy do naszej gry kolejny efekt specjalny, polegający na potrząsaniu
‫kamerą.
‫Chcielibyśmy potrząsnąć kamerą, gdy pocisk w coś uderzy, a także gdy zginie jeden z naszych
‫stawów.
‫To doda grze jeszcze jeden ostatni szlif, który sprawi, że będzie bardziej profesjonalna.
‫Więc zanurkujmy teraz.
‫Jesteśmy w edytorze i chciałbym dodać nową klasę do naszego potrząsania kamerą.
‫Unreal Engine ma wbudowaną klasę do potrząsania aparatem.
‫Teraz utworzę nowy folder w folderze z planami i wywołam drgania aparatu.
‫A w folderze wstrząsania aparatu.
‫Mam zamiar kliknąć prawym przyciskiem myszy i stworzyć nowy plan.
‫Powodem, dla którego tworzymy plan, jest to, że jest to jedna z tych rzeczy,
‫które o wiele łatwiej jest zrobić od strony planu, ponieważ istnieje wiele zmiennych, które można dostosować za pomocą drgań aparatu, a
‫klasa, której szukamy, to aparat do poranków potrząśnij, abyśmy mogli wyszukać drgania aparatu i wybrać.
‫Potrząsanie aparatem na poranek.
‫Kliknij Wybierz i wywołamy to pierwsze poruszenie kamery.
‫BP Hit Camera Shake.
‫Teraz kliknijmy dwukrotnie ten nowy schemat i otwórzmy go, a zobaczymy, że ma panel szczegółów
‫z wieloma różnymi zmiennymi do wyboru.
‫Porozmawiajmy o niektórych z tych parametrów, które istnieją w klasie drgań aparatu.
‫Teraz jest ich całkiem sporo, a my dotkniemy tylko kilku, które wpływają na ogólne
‫wrażenie poruszenia aparatu.
‫Teraz zobaczysz, że istnieje sekcja zwana oscylacją.
‫Powodem, dla którego ta sekcja nazywa się oscylacja, jest to, że drgania kamery wiążą się z oscylacją
‫kamery.
‫Oto strona Wikipedii z falą sinusoidalną.
‫Fala sinusoidalna jest funkcją matematyczną i nie musimy rozumieć matematyki stojącej za falą sinusoidalną.
‫Ale pomaga zobaczyć, jak wygląda sinusoida.
‫Jeśli przewinę w dół tutaj w prawo, widzę tę czerwoną falę tutaj i jest ona oznaczona jako sinus oscylująca fala
‫sinusoidalna.
‫Oznacza to, że porusza się w górę iw dół lub tam iz powrotem.
‫Więc jeśli nasza kamera porusza się płynnie w przód iw tył, mówimy, że oscyluje.
‫Teraz widzimy, że mamy czas trwania oscylacji, mieszanie w czasie i mieszanie czasu.
‫Czas trwania wpływa na to, jak długo potrwa wstrząs.
‫Teraz są to wartości, z którymi możesz poeksperymentować, ale przeprowadziłem już pewne eksperymenty i
‫znam kilka dobrych wartości pola do potrząsania kamerą.
‫Kiedy pocisk w coś trafi, będziemy mieć stosunkowo krótki czas działania.
‫Teraz to za kilka sekund i wybiorę 0. 2 5 sekund na czas potrząsania tym aparatem oraz
‫na czas mieszania i mieszania.
‫Użyję wartości 0. 05, więc 0. 05 dla blendu w czasie i 0. 05 na czas blendowania.
‫Tyle czasu zajmuje wtapianie się i wychodzenie z drgań aparatu, które potrwają do 0. 2 5 sekund.
‫Teraz mamy różne rodzaje oscylacji.
‫Mamy oscylacje rotacyjne, które obrócą kamerę zgodnie z tą funkcją oscylacji.
‫Mamy oscylację lokalizacji, która będzie szarpać kamerą w przestrzeni i oscylację pola widzenia, która
‫wpłynie na pole widzenia, które w zasadzie przybliża i oddala kamerę.
‫Teraz rotacja i oscylacje pola widzenia są bardziej podatne na wywoływanie choroby lokomocyjnej.
‫Możesz więc z nimi poeksperymentować, jeśli chcesz.
‫Ale w przypadku tego poruszenia aparatu zmienimy po prostu oscylację lokalizacji.
‫Teraz mamy trzy osie X, Y i Z i widzieliśmy, że sinusoida będzie szarpać coś tam iz powrotem.
‫Te oscylacje będą szarpać kamerą do przodu i do tyłu w kierunkach X, Y i Z.
‫Klikam te listy rozwijane, aby je rozwinąć i zobaczymy, że każda oś ma
‫amplitudę, częstotliwość, a także początkowe przesunięcie i przebieg.
‫Teraz początkowe przesunięcie drgań aparatu jest ustawione na losowe i możemy pozostawić to losowo, aby
‫uzyskać mniej przewidywalnych drgań aparatu.
‫A fala sinusoidalna to rodzaj przebiegu używany podczas szarpania kamerą.
‫Widzieliśmy, że ma płynny ruch w górę iw dół.
‫Teraz amplituda to maksymalny ruch w tej osi, o który kamera się poruszy.
‫Ustawię te trzy tak, aby miały amplitudy dziesięciu, X, Y i z, a częstotliwość będzie
‫określać, jak szybko oscyluje kamera.
‫Te też ustawię na dziesięć.
‫Teraz zobaczymy, jak to wygląda, gdy tylko zaimplementujemy drgania aparatu.
‫Ale zanim to zrobimy, zamierzam stworzyć kolejne drganie kamery, a to będzie na wypadek śmierci
‫pionka.
‫Kliknijmy więc prawym przyciskiem myszy, stwórzmy nową klasę schematu i wyszukajmy drgania aparatu i wybierzmy poranek, a
‫następnie kliknij wybierz.
‫W tym celu nazwiemy to BP Depth Camera Shake.
‫Teraz poruszenie kamery śmierci będzie nieco bardziej gwałtowne niż poruszenie kamery podczas uderzenia.
‫Uderzenie kamery poruszy kamerą, gdy nasz pocisk w coś uderzy.
‫Ale potrząsanie aparatem śmierci wstrząśnie aparatem, gdy coś umrze.
‫Więc jeśli chodzi o czas trwania oscylacji, wydłużę to trochę.
‫idę 4. 3, 5 sekund i cztery, blenduj w czasie i w czasie.
‫Ustawię oba na 0. 1.
‫Teraz tylko nuta poboczna wtapia się i znika w czasie.
‫Czy wartości procentowe pełnego czasu pracy są znormalizowane w zakresie od zera do jednego?
‫Tak więc punkt pierwszy to 10% pełnego czasu trwania oscylacji.
‫Teraz ustawię amplitudy na 54 X i Y i zostawię amplitudę Z na zero, tak że potrząsamy
‫kamerą tylko w X i Y po śmierci.
‫W ten sposób uzyskamy nieco inaczej wyglądające drgania aparatu.
‫A jeśli chodzi o częstotliwość, ustawię oba na 20.
‫Mamy teraz drgania kamery i nadszedł czas, aby zaimplementować odtwarzanie tych drgań kamery
‫od strony C++.
‫Teraz, aby odtworzyć drgania kamery, potrzebujemy kilku zmiennych drgań kamery.
‫Jeśli używasz starszej wersji Unreal Engine, Unreal Engine 4. 25 i poniżej, to klasą dla
‫twoich zmiennych będzie ty.
‫Drgania kamery.
‫Ale w nowszych wersjach 4. 2, sześć i więcej.
‫Dotyczy to również Unreal Engine pięć.
‫Wykorzystamy cię poranek.
‫Drgania kamery.
‫Właśnie tego użyjemy w tym filmie.
‫Teraz funkcje odtwarzania poruszenia aparatu są również inne.
‫Jeśli jesteś na 4. 2, pięć i niżej, to funkcja, której będziesz używać, to gra klienta.
‫Drgania kamery.
‫Jest to funkcja w klasie kontrolera odtwarzacza w 4. 26 i powyżej, w tym 5. 0, którego używamy.
‫Użyjemy potrząsania kamerą klienta jako gry klienta.
‫Drgania aparatu są teraz przestarzałe.
‫Więc skoro używamy Unreal Engine 5, będziemy używać klientów, zacznij potrząsać kamerą.
‫A jeśli używasz pięciu, będziesz podążać za nimi i używać klientów, aby zacząć potrząsać aparatem.
‫Ale dla starszej wersji silnika, konkretnie 4. 2, pięć i poniżej, użyj klasy i funkcji
‫po lewej stronie, a wszyscy pozostali użyją klasy i funkcji po prawej stronie.
‫Teraz, żeby wam pokazać, oto podstawa wstrząsów aparatu w dokumentacji, a oto dodatek do niej.
‫Więc użyjesz tej podstawy wstrząsów aparatu do tego.
‫Więc najpierw chciałbym poradzić sobie z drżeniem kamery w klasie pocisków.
‫Więc tutaj w pocisku, dodam drganie kamery.
‫Teraz zostanie to ogłoszone.
‫Zamierzam zrobić U.
‫Podstawa wstrząsów aparatu.
‫To wskaźnik.
‫I zamierzam teraz nazwać to uderzeniem w drżenie aparatu, ponieważ chciałbym to ustawić na podstawie planów.
‫Ponieważ mamy schemat potrząsania aparatem, zamierzam to ujawnić.
‫To będzie nowa nieruchomość.
‫Zamierzam go edytować w dowolnym miejscu i nadać mu kategorię.
‫I w tym celu zatrzymam go w sekcji walki.
‫Teraz mogę odtworzyć drgania aparatu.
‫Więc w pociskach CP, umieszczę to na trafieniu tutaj w czeku na innego aktora.
‫A pierwszą rzeczą, którą zamierzam zrobić, jest upewnienie się, że ustawiłem drgania aparatu na podstawie
‫planów, co oznacza, że muszę się upewnić, że drgania aparatu nie są zerowe.
‫Więc jeśli uderzę w drgania aparatu, mogę zacząć drganie aparatu.
‫A oto potrząsanie kamerą klienta kontrolera gracza w wersjach 4. 26 i powyżej.
‫Teraz zauważ kilka rzeczy.
‫Obejmują one dwie podklasy zmiennych, co oznacza, że potrzebujemy nowej klasy.
‫Teraz stworzyliśmy plany dla tych zmiennych, co oznacza, że możemy tutaj łatwo utworzyć
‫podklasę zamiast zwykłej zmiennej.
‫Więc mogę wziąć tę klasę, w której aparat wstrząsa podstawą i umieścić ją w podklasie PT, czyli powiedzmy podklasa PT i zamierzam zachować
‫tutaj deklarację forward i nie potrzebuję gwiazdki, ponieważ podklasa PT po prostu ją zawija w
‫szablonie, a ponieważ to uderzenie w drgania kamery jest w rzeczywistości podklasą PT, mam zamiar nazwać to uderzenie
‫w klasę drgań kamery, a teraz w pocisku to CPP zamiast uderzać w drgania kamery, nazwijmy
‫to uderzeniem w klasę drgań kamery i teraz możemy zadzwonić poruszenie aparatu przez klienta.
‫Teraz ta funkcja należy do kontrolera gracza i jesteśmy tutaj w CP pocisku i nie mamy
‫zmiennej dla kontrolera gracza, ale mamy tę funkcję pobierz pierwszy kontroler gracza, który istnieje w światowej
‫klasie U, więc możemy wywołać get świat, a następnie zadzwoń do pierwszego kontrolera gracza.
‫Więc zamierzamy to zrobić.
‫Więc najpierw zadzwonimy do Git World, a następnie wywołamy otrzymanie kontrolera pierwszego gracza, a od
‫uzyskania kontrolera pierwszego gracza, możemy wywołać potrząsanie kamerą uruchamiającą klienta i zobaczymy, że
‫wymaga to podklasy PT przejdziemy do klasy wstrząsów kamery hit, a pozostałe parametry wejściowe
‫mają wartości domyślne, więc możemy pominąć pozostałe dane wejściowe.
‫Więc chodźmy dalej i skompilujmy to.
‫Wracając do edytora, jesteśmy gotowi to przetestować.
‫Teraz stworzyliśmy plan i podklasę PT, ale musimy ustawić tę podklasę PT.
‫Przejdźmy więc do aktorów i pocisku BP.
‫Otworzę pełny edytor planów i przejdę do sekcji walki, a oto moja
‫klasa wstrząsów kamery t podklasa. Mogę to otworzyć i wybrać wstrząsy kamery i teraz to zostanie ustawione.
‫Więc zamierzam skompilować odtwarzanie prasy i zobaczyć, czy uda nam się poruszyć kamerą.
‫I oto idzie.
‫Wspaniały.
‫Więc teraz chcę odtworzyć potrząsanie kamerą, gdy kapsuła umiera.
‫Więc wejdę do stawu basowego i dodam tutaj zmienną drgania kamery.
‫Więc na dole, stwórzmy kolejną podklasę t zmiennej.
‫Zamierzam to ogłosić.
‫To będzie twoja podstawa drgania aparatu i będę nazywał tę klasę drgania aparatu głębi.
‫I tak jak nasz drugi, zamierzamy uczynić z tego własność U.
‫Edytuj walkę z kategorii „Wszędzie”, a teraz mamy klasę potrząsania kamerą tutaj w stawie podstawowym.
‫Teraz rzucę wam wyzwanie, abyś potrząsnął kamerą śmierci dla pionka, gdy ten umrze.
‫Więc zrobisz to, kiedy -- umrze, a to będzie oczywiście dotyczyło zniszczenia.
‫Wybierz odpowiednią lokalizację w tej funkcji, aby odtworzyć to drganie aparatu, a następnie skompiluj swój kod.
‫Ustaw podklasę wartości w obu klasach czołgów i wież i przetestuj ją.
‫Zatrzymaj wideo i zaimplementuj kamerę śmierci.
‫Wstrząśnij teraz.
‫Dobra.
‫Mamy więc naszą klasę drgania kamery def.
‫Przejdźmy do base pond CP i zamierzam przewinąć w górę, aby poradzić sobie z destrukcją.
‫Pierwszą rzeczą, którą zamierzam zrobić, jest upewnienie się, że ustawiona jest klasa drgań kamery głębi, a jeśli
‫tak, to możemy faktycznie odtworzyć drgania kamery.
‫Teraz nie mamy tutaj wskaźnika do kontrolera gracza, więc zadzwonię stąd
‫do Get World, zdobędę kontroler pierwszego gracza i stamtąd zadzwonię.
‫Klient uruchamia drgania aparatu.
‫A tutaj możemy podać głębię aparatu, drgania.
‫Mamy to.
‫Więc skompilujmy to i wskoczymy z powrotem do edytora i otworzymy folder --'s, BP --
‫tank.
‫A tutaj mamy klasę drgania aparatu głębi.
‫Zamierzam to skazać na śmierć.
‫Aparat, potrząśnij, skompiluj, zapisz i zamknij.
‫Zamknę też pocisk.
‫I otwórz staw BP, wieżyczkę i ustaw klasę drgań kamery głębi na głębokość drgań kamery.
‫Teraz możemy przetestować śmierć.
‫Zobaczmy więc, jak to działa.
‫Kay, idę na górę do jednej z wież i.
‫Boehm.
‫Potrząsanie aparatem działa.
‫Teraz ostatnią rzeczą do sprawdzenia jest to, czy kamera się trzęsie, gdy wieże umierają.
‫Więc chodźmy dalej i zabijmy jedną z wież.
‫I tam idziemy.
‫Mamy aparat do potrząsania.
‫Wspaniały.
‫Podsumowując, teraz potrząsamy aparatem.
‫Potrząsamy nim, gdy pocisk w coś trafi i jeden ze stawów umiera.
‫To tylko jeden z tych fajnych efektów dopracowanych, które sprawiają, że nasza gra wygląda nieco bardziej profesjonalnie.
‫Mówiąc o dopracowaniu w naszym następnym filmie, zamierzamy doszlifować grę i doprowadzić
‫ją do ostatecznego stanu roboczego, abyśmy mogli zakończyć tę sekcję i mieć za pasem kompletną, działającą grę.
‫Zobaczymy się wkrótce.