기능
Player 클래스를 기능별로 분할하고, FSM 문서에 따라 구현한다.
※ 참고 사항
1. Player -> PlayerInteract(물체와 상호작용), PlayerBehavior(FSM와 연계, 애니메이션 재생 유무 판단)로 분할한다.
2. 대기(Idle) : 초기상태로, 캐릭터가 가만히 있는 상태다.
3. 이동(Move) : 조이스틱이나 방향키를 통해 이동하고 있는 상태다.
4. 낙하(Fall) : 공중에서 떨어지고 있는 상태다.
5. 착지(Land) : 낙하 이후 지면과 부딪치면 발생되는 상태다.
6. 회피(Roll) : 몬스터의 공격을 회피하는 상태다.
7. 일반 공격(Normal Attack) : 플레이어가 공격 버튼을 통해 발동되는 상태다.
8. 재생 유무는 PlayerBehavior에서 관리를 한다. 재생이후 bool 값들은 애니메이터에서 관리한다. 관리하는 시점은 Animator Enter, Stay, Exit 3가지 시점으로 구분된다.
! 주의 사항
1. 회피는 모든 상태를 덮어쓸 수 있어야한다.
2. 콤보 공격 순서가 하나씩 발동되어야 한다.
3. 모든 상태는 대기상태로 돌아와야한다.
코드
구현 영상
리펙토링
'유니티 > 3D RPG' 카테고리의 다른 글
010 아이템 구매 및 수정 (0) | 2019.12.23 |
---|---|
09 내 정보 화면(스텟+인벤토리) (0) | 2019.12.22 |
07 아이템 상점&툴팁 (0) | 2019.12.16 |
06 자동 테스트 구현 (0) | 2019.12.15 |
05 대화 시스템 (0) | 2019.12.14 |
댓글