Spraw, by gracz płynnie wbiegł na schody


11

Mam platformówkę 2D, w której gracz zawsze biegnie w prawo, ale teren nie zawsze jest poziomy. Przykład:

Przykład

Wdrożyłem system kolizji z obwiednią, który sprawdza tylko skrzyżowania ze skrzynką gracza i innymi blokami, aby zatrzymać gracza przed uruchomieniem, jeśli napotkasz duży blok, więc musisz skakać, ale kiedy stawiam schody, chcę, żeby biegnij płynnie, tak jak on jest na poziomym terenie. Z systemem kolizji musisz przeskakiwać schody, aby je minąć!

Myślałem o wygenerowaniu linii między krawędziami schodów i narzuceniu ruchu gracza na tej linii ... Co sądzisz? Czy jest coś mądrzejszego do zrobienia?

Jak tutaj

Odpowiedzi:


11

Jeśli jesteś w stanie obrócić obwiednię, postawiłbym obrócone o 45 stopni pudełko u stóp gracza i połączyłem je z jednym nieobróconym pudełkiem, aby reprezentować resztę ciała. To może sprawić, że odtwarzacz automatycznie przesunie się po czymkolwiek wystarczająco małym.

Chociaż prawdopodobnie spowodowałoby to pewne przycięcie modelu gracza i schodów.

Innym pomysłem jest umieszczenie jednego obwiedni od głowy postaci do króla o większej szerokości niż pole postaci.

Gdy gracz zderzy się z czymś, czego nie robi pudełko „A”, możesz przenieść go na wierzch, z czym się zderzył

_________________
|    |     |    |
|    |     |    |
|  A | pla | A  |
|____| yer |____|
     |     | _________________________ <- step 
     |     | |      
--------------------------------------------- <- ground

12

Istnieją trzy ogólne podejścia do radzenia sobie ze schodami w grach wideo:

Podejście „Mario” polega na tym, że musisz wskoczyć na schody.

Podejście „Castlevania” polega na tym, że poruszanie się po schodach w górę / w dół jest innym rodzajem ruchu; musisz nacisnąć przycisk „w górę” na kontrolerze i odtworzyć specjalną animację „wchodzenie po schodach”, aby przejść przez schody. Wariantem tego jest podejście „Resident Evil”, w którym poruszanie się w górę / w dół schodów jest traktowane jako kompletna przerywnik filmowy, który jest odtwarzany, gdy gracz naciśnie przycisk interakcji; żadne interaktywne wchodzenie po schodach nie jest dozwolone.

Podejście „Prawie każdy inny” to takie, o którym wspominałeś: traktuj schody jak rampa. W zależności od rodzaju gry możesz ustawić rampę na różnych wysokościach względem schodów. Zazwyczaj w grze 2D sztuczka „schody są w rzeczywistości rampą” jest mniej zauważalna dla gracza, jeśli rampa jest na poziomie z dolnymi narożnikami każdego stopnia schodów, podczas gdy w grze 3D jest zwykle mniej zauważalna, jeśli rampa jest na poziomie z górnymi rogami każdego kroku. (tak jak w grze 2D łatwiej jest zauważyć, czy stopy postaci unoszą się nad ziemią, więc chcesz to zminimalizować, podczas gdy w grze 3D łatwiej jest zauważyć, czy stopy postaci przecinają ziemię, więc chcesz to zminimalizować).


Świetna uwaga na temat zmiennoprzecinkowego / obcinania w różnych graficznych punktach widzenia.
Kroltan

Twoje informacje są dość błędne. Tylko w starych grach Mario musisz skakać, aby wejść po schodach. Ale myślę, że to oczywiste. Ale zło rezydenta zdecydowanie miało również schody, na które można wchodzić interaktywnie!
Tara,

4

Większość metod, które napotkałem, zostało już wymienionych powyżej - ale jest jeszcze jedna, o której nie wspomniano. Kiedy gracz napotka przeszkodę pionową, która jest wystarczająco krótka (powiedzmy, 1/3 wysokości), po prostu połóż ją na górze. Na przykład Minecraft i silnik Source przyjmują takie podejście w takiej sytuacji. Ponadto ta metoda pozwala nadal używać czystego AABB dla całej fizyki, nie narażając gracza na ból związany z ciągłym skakaniem po schodach.


Byłoby miło, gdybyś mógł wyjaśnić, jak wykrywać takie przeszkody.
Tara,

0

Obecnie pracuję nad podobną częścią silnika, a sposób, w jaki radziłem sobie ze schodami / zboczami, polega na zliczaniu przezroczystych pikseli w mojej fakturze rampy i kompensowaniu obiektu gracza o znalezioną ilość.

Jest podobny do idei mapy wysokości opisanej szczegółowo w tym artykule: http://info.sonicretro.org/SPG:Solid_Tiles#Slopes_And_Curves

Wyobrażam sobie, że tak naprawdę chciałbyś zrobić i możesz wybrać inną animację, która będzie odtwarzana zgodnie z wejściem na schody.

Istnieje również dobry przegląd różnych koncepcji nachylenia w tym artykule: http://higherorderfun.com/blog/2012/05/20/the-guide-to-implementing-2d-platformers/

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.