Jak prawidłowo obsługiwać część lądowania w animacji skoku

16

Spójrz na ten arkusz sprite.

Mega człowiek

Oczywiste jest, że klatka 1-3 to klatki „podskakujące”, po których ostatnia klatka będzie ustalona do „szczytu” skoku (kiedy grawitacja zacznie się cofać). Podczas cofania się używa się ramki 4-7, która kończy się ramką „bezczynną” (która nie jest pokazana tutaj w tym skoku).

Moje pytanie dotyczy ramek 6 i 7 w tej ikonce. Kiedy istota „ląduje” po skoku, należy uruchomić animację 6-7 jako animację „lądowania”. Przechodzenie w dół w ramce skoku 4-5 jest łatwe, ponieważ są one „początkiem” animacji. Ramkę 5 można przechowywać tak długo, jak upadniesz ... ale jaki jest właściwy sposób przejścia z ramki 5 do 6-7-x? Czy sprawdzasz, czy następna klatka jest spadkiem, a następnie „inicjujesz” lądowanie, czy robisz to, kiedy rzeczywiście spadniesz na ziemię?

Nie można ustalić czasu z powodu różnych scenariuszy, takich jak skakanie z klifu lub skakanie pod niskim dachem uderzające w głowę i odbijające cię z powrotem.

Jakieś pomysły?

sPirc
źródło

Odpowiedzi:

17

Sądzę, że zwykle stosuje się trzy stany związane ze skokami: Skakanie (bohater wznosi się do najwyższego punktu skoku), Spadanie (z najwyższego punktu skoku na ziemię), Lądowanie (skok kończy się bohaterem stojącym na ziemi ).

Istnieje kilka sposobów wykrywania tych stanów, zwykle jest to kilka sprawdzeń kolizji ustawiających flagi stanów. Na przykład na etapie fizyki postaci możemy sprawdzić kolizje poniżej, a jeśli nie, to postać jest w powietrzu. Teraz, jeśli postać ma dodatnią prędkość pionową, jest to stan Skakania , w przeciwnym razie jest to stan Spadania . Jeśli jest to stan upadku , a poniżej wykryliśmy kolizję, to jest to stan lądowania , więc przełączmy się na animację lądowania.

Ta animacja jest zwykle odtwarzana, gdy bohater rzeczywiście uderzy o ziemię. Sekwencja animacji jest krótka, więc lądowanie będzie wyglądać z dużą prędkością, a także daje poczucie wyraźnej i precyzyjnej kontroli. Czasami postać może wykonać długą sekwencję lądowania, ale potem może anulować animację lądowania i rozpocząć bieg, np. Castlevania: SotN.

Dosyć
źródło
+1. Dobra uwaga na temat stanów. Ze stanów możesz dowiedzieć się innych szczegółów / trybów.
Kromster mówi o wsparciu Moniki
5

Widziałem to na dwa sposoby:

  1. Kiedy obwiednia najpierw zderzy się z ziemią, wykonaj szybkie przejście 5-> 6-> 7.
  2. Mają drugą ramkę ograniczającą „ducha”, która rozciąga niewielką część poniżej rzeczywistej ramki ograniczającej, aby zainicjować 5-> 6, a następnie po zderzeniu się faktycznej ramki ograniczającej wykonaj 6-> 7.
Adrian Seeley
źródło
Podobał mi się drugi przypadek. Wydaje się bardzo elastyczny, ponieważ ramkę ograniczającą ducha można ustawić daleko, w zależności od prędkości postaci!
pek
Ciekawe podejście Nbr 2. Nigdy nie próbowałem tego, ale będę o tym pamiętać, dziękuję.
sPirc