난간 상승 애니메이션 및 움직임 (2d 플랫 포머)


11

물리 기반 2D 플랫 포머를위한 난간 상승 메카니즘의 구현 결정에 어려움을 겪고 있습니다. 지나치게 복잡하지 않고이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

지금까지 나는 (비전문가가 아닌) 취미를 포함하여 몇 가지 옵션을 이해합니다.

  1. 루트 위치가 손 위치 바로 위에 올 때까지 y 축의 강체에 제어 된 힘을 가한 다음 캐릭터가 플랫폼에 서 있도록 x 축에 충분한 힘을가하십시오. 동시에 어떻게 든 이것을 등반 애니메이션과 동기화합니다.

    비고 : 여기에서의 움직임은 쉽고 프리즘 슬라이딩 조인트로 제어 할 수도 있지만 애니메이션 (척추)을 움직임과 동기화하는 방법을 잘 모르겠습니다.

  2. 캐릭터의 루트 위치를 구동하는 루트 모션 애니메이션. 완결시 강체를 순간 이동시키고 어떤 물체가 하늘에서 떨어지면 충돌 box2d가 충돌에 적절히 반응 할 수 있습니다.

    비고 : 실제로 애니메이션하기는 쉽지만 척추 이동, box2d 이상에서 라인 이동 플랫폼 및 다양한 높이 플랫폼에 문제가 발생하는지 확실하지 않습니다.

  3. 손에 프로그래밍 방식으로 IK 구속 조건을 적용하여 뼈를 제자리에 고정하고 뼈를 수동으로 회전하거나 작은 프리셋 (몇 키 / 프레임) 애니메이션을 적용하면서 필요한 힘을 강체에 동시에 적용합니다.

    비고 : 이것으로 플레이어를 최대한 제어 할 수있는 것처럼 보이지만 시작 위치를 정확히 알지 못하는 수준에서 구현하기가 복잡해 보입니다.

모든 입력에 미리 감사드립니다!

참고 : box2d가 포함 된 ECS (libgdx + ashley) 기반 엔진입니다. 난간 횡령은 이미 별도의 시스템으로 구현되었으므로 여기서 캐릭터가 어떤 높이 난간에 매달릴 수 있다고 가정 할 수 있습니다.

답변:


1

적절한 결정을 내리기 전에 여기에 더 많은 디자인 선택이 필요하다고 생각합니다. 구체적으로 말하면, 그가 매달거나 등반하는 동안 캐릭터에게 어떤 일이 일어날 수 있습니까?

당신은 게임이 물리학 기반이라고 말했기 때문에 교수형이나 등산 중 머리에 떨어지는 바위가 있다고 가정합니다. 등반하는 동안 약간 다른 교수형 상태에 있습니다. 유일한 차이점은 등반 작업을 시작할 수 없다는 것입니다.

이제 이것은 전체 매달린 상황이 통제되고 있다고 가정합니다. 즉, 매달린 상태에서 어떤 상호 작용이 발생하면 캐릭터가 올바르게 반응합니다.

그런 다음 등반 애니메이션이 완료되면 캐릭터의 상태를 다시 유휴 상태로 설정하면됩니다.


0

발을 난간에 올려 놓고 물리를 일시적으로 잊을 때까지 transform.y를 n 번 위로 움직일 수 있습니다. 정상적으로 작동한다고 생각합니다. 변환 번역. 충돌이 발생했는지 확인하십시오.


0

플레이어가 올라갈 수있는 물체에 닿으면 위 / 아래로 움직여 Y 축으로 움직입니다. 이 상태에서는 X 축으로 이동할 수 없습니다. 이동하면서 상승 애니메이션에서 Animation.Sample을 호출하여 애니메이션의 포인트가 모든 시간을 측정하지 않고 상승한 거리와 일치하도록 할 수 있습니다.


0

제 생각에는 "가장 좋은"방법은 : 등반이 가능한 것을 감지하면 플레이어의 위치를 ​​일시적으로 잠그는 것입니다. 루트 모션으로 애니메이션을 사용하고 컨트롤을 잠그십시오. 애니메이션이 끝나면 플레이어 위치와 컨트롤의 잠금을 해제하십시오.

물론 무모하게하면 이상한 것처럼 보이거나 완벽한 픽셀 정밀도가 필요할 것입니다. 그러나 당신은 그것을 피할 수 있습니다-플레이어에게 그들이 올라갈 수있는 범위를 제공하고, lerp와 함께 신속하게 위치를 완벽한 지점으로 조정하십시오.


0

공중에있는 동안 플레이어가 수평으로 자유롭게 움직일 수 있습니까 (공기 조절)? 그렇다면 플레이어의 발을 플랫폼 위로 가져 가기 위해 적절한 양의 수직 힘을 가하면 플레이어가 수평으로 움직입니다.

이렇게하면 플레이어가 캐릭터를 더 많이 제어하고 더 많은 이동 옵션을 열 수 있습니다. 예를 들어, 플레이어가 난간에 매달려있는 경우 플랫폼에서 무언가를 쏘고 다시 넘어져서 발사체가 목표물로 이동 한 상태에서 발사체가 발사 한 발사체를 피하기 위해 난간. 이러한 전술은 흥미로운 보스 싸움 전략을 만들 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.