위치를 프레임마다 바꾸거나 Rigidbody를 쓰는 그런 방법이 아니라

입력이랑 여러 변수들, 상태를 관리하는 방식이 궁금해서 글 올려봄


일단 나 같은 경우에는 2D를 기준으로 말해보자면

입력을 관리하는 스크립트랑 상태 관리하는 스크립트를 따로 만들어서

연결한 후, 이벤트로 스탠딩, 달리기, 점프, 공격 같은 상태를 왔다갔다 하도록 만듦


상태 왔다갔다는 PlayerState로 상태 진입, 프레임, 상태 나가기

이 3개를 인터페이스에 함수로 구현한 후, 인풋 매니저가 호출한 이벤트에 

따라 미리 선언된 상태들을 전환하는 방식으로 구현 함.


이렇게 하면 이동할 때마다 패시브를 발동하는 것처럼

다른 캐릭터들과 다른 특이한 놈이 있더라도 이벤트에 추가하거나

기존 동작의 클래스를 상속시킨 후 해당 함수만 수정해주면 되서

여러 캐릭터 만들기도 편했었음


일단 내 것부터 먼저 말하는게 맞는 것 같아서

조금만 찾아보면 나오는 상태머신이지만, 간단하게라도 설명해봄