Untitled

그림과 같이 지형이 존재할 때 플레이어 오브젝트가 지형을 올라가는데 1.지형의 아래에서 점프할 경우 지형에 부딪히지 않고 위로 올라갈 수 있도록 할 것이다.

Untitled

지형의 Inspector에서 Platform Effector 2D 컴포넌트를 추가하고 Use One Way를 체크한다.

(Collider창에서 Used by Effector를 체크해야 활성화 된다.)

Untitled

Surface Arc를 조절하여 유효한 충돌이 일어날 각도를 맞춰준다. 이번에는 160도로 설정했다.

(180으로 설정하면 측면에서 접근했을 때 충돌이 일어나 지면을 뚫지 못한다.)

문제점.

공중에 떠있는 지형에서 점프키를 지속적으로 누르고 있을 경우 발생한다.

먼저 일반적인 점프의 높이는 다음과 같다.

Untitled

지면이 감지되지 않으면 점프키가 유효하지 않다.

Untitled

하지만 공중에 떠있는 지면 바로 아래에서 점프를 길게 누르면 지면과 Player 발 아래에 설정해둔 지면 감지 오브젝트가 맞닿는 즉시 지면인 것으로 판단하여 상승도중 한 번 더 점프를 하게 된다. 따라서 위 그림과 같이 한 번에 높은 위치까지 상승하는 것 같은 효과를 연출한다.

2.따라서 점프를 하면 공중에서 지면으로 떨어지는 경우에만 점프키가 다시 활성화 되도록 할 것이다.

2-1. 지면을 두 번 감지하기

Untitled