캐릭터 이동구현을 PawnMovement를 기반으로 작성하고 있으려니

중력도 직접 넣어줘야하고 지형을 걸어다닐때 언덕을 올라가게 되면

지형과의 충돌로 인하여 속도가 줄어들면서 매우 천천히 올라가는 현상이

있어서 무엇인 문제인지 한참 찾느라 고생이었다.


얌전히 캐릭터클래스를 상속받아서 만들었으면 이런 문제에서 자유로워질수 있을텐데

이미 너무 멀리와버린거 같기도 하고 언리얼의 CharacterMovement를 몇일동안 계속 보면서

어떤 식으로 돌아가는지 드디어 대충머리에 그림이 그려지기 시작했다.


언리얼에서 제공해주는 캐릭터는 현재 상태를 ENUM으로 관리하여서 떨어지는지 점프하는지 걷고있는지 등을 체크하여 매 Tick마다 시뮬레이션을 먼저 실행을 한다.

지금 캐릭터가 무슨상태이고 그 상태에 해당하는 이동방식을 업데이트 해주는식인데

걸어다니고 있는 상태일경우 현재 밟고있는 지형에 대한 정보를 통해서 올라갈때와 내려갈때 충돌을 미리 방지해주는 형태를 취하고 있다.


CharacterMovement에는 서버와 동기화 시키는 코드가 있지만 그건 잘 모르겠어서 넘어가야겠다.

Posted by 별수집가
,