점프 애니메이션에서 랜딩 부분을 올바르게 처리하는 방법


16

이 스프라이트 시트를보십시오.

메가맨

프레임 1-3은 "점프 업"프레임이며, 그 후 마지막 프레임은 점프의 "피크"(중력이 되감기 시작할 때)까지 고정됩니다. 아래로 이동하면 프레임 4-7이 사용되며 모두 "유휴"프레임으로 끝납니다 (이 점프 스프라이트에는 표시되지 않음).

내 질문은이 스프라이트에서 프레임 6과 7에 관한 것입니다. 엔티티가 점프 후 "랜딩"하면 "랜딩"애니메이션으로 애니메이션 6-7을 실행한다고 가정합니다. 점프 프레임에서 아래로 이동할 때 4-5는 애니메이션의 "시작"이기 때문에 쉽습니다. 프레임 5는 넘어지는 동안 보관할 수 있지만 프레임 5에서 6-7-x로가는 적절한 방법은 무엇입니까? 다음 프레임이 넘어 졌는지 확인한 다음 착륙을 "시작"하거나 실제로 바닥에 닿았을 때 그렇게합니까?

절벽에서 뛰어 내리거나 낮은 지붕 아래에서 머리를 때리고 튀는 등 다양한 시나리오로 인해 시간을 측정 할 수 없습니다.

어떤 아이디어?

답변:


17

일반적인 접근 방식은 점프 (영웅이 가장 높은 점프 지점으로 상승), 낙하 (가장 높은 점프 지점에서지면으로 이동), 착륙 (점프가 영웅이 지상에 서있는 것으로 끝남) ).

이러한 상태를 감지하는 방법에는 여러 가지가 있으며 일반적으로 상태 플래그를 설정하는 몇 가지 충돌 검사입니다. 예를 들어, 캐릭터의 물리 단계에서 아래의 충돌을 확인할 수 있으며,없는 경우 캐릭터가 공중에 있습니다. 캐릭터가 긍정적 인 수직 속도가 이제 경우 A의 점프 그렇지 않으면 A의 상태 떨어지는 상태. 그것은 만약 떨어지는 상태 및 그것보다는 우리가 아래 충돌을 감지 상륙 상태 때문에 착륙 애니메이션에 스위치를 할 수 있습니다.

이 애니메이션은 보통 영웅이 실제로 땅에 닿을 때 재생됩니다. 애니메이션 시퀀스가 ​​짧기 때문에 착륙 속도가 빨라지고 선명하고 정밀한 컨트롤 느낌을줍니다. 때로는 캐릭터가 긴 랜딩 시퀀스를 수행 할 수 있지만 캐릭터가 랜딩 애니메이션을 취소하고 달리기를 시작할 수 있습니다 (예 : Castlevania : SotN).


+1. 상태에 대한 좋은 지적. 상태에서 다른 세부 사항 / 모드를 알아낼 수 있습니다.
크롬 스터는 모니카

5

나는 이것이 두 가지 방법으로 수행되는 것을 보았다.

  1. 바운딩 박스가 처음지면과 충돌 할 때 빠른 전환 5-> 6-> 7을합니다.
  2. 실제 경계 상자 아래로 작은 부분을 확장하여 5-> 6을 시작한 다음 실제 경계 상자 충돌시 6-> 7을 수행하는 두 번째 '고스트'경계 상자가 있습니다.

두 번째 경우를 좋아했습니다. 고스트 바운딩 박스는 캐릭터의 속도에 따라 멀리 떨어져있어 매우 유연 해 보입니다!
pek

재미있는 접근법 Nbr 2. 나는 그것을 시도해 본 적이 없지만 감사합니다.
sPirc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.