코린이 부트캠프 일상
유니티 FSM -유한 상태 기계
게발인개발자
2023. 12. 26. 20:39
FSM(Finite - State Machine) 이란?
상태를 기반으로 동작을 제어하는 방식을 구현하기 위한 디자인 패턴이다.
FSM의 핵심은 단 하나의 상태만을 가진다는 점이다. 상태를 기준으로 어떤동작을 수행할지 결정하기 때문에 현재 상태만 알 수 있으면 어떤 동작을 수행하려 하는지 명확히 파악할 수 있고 구현이 쉽다는 장점이 있다.
Ex) 플레이어, 적, NPC와 같은 캐릭터의 행동을 "대기","걷기", "근거리 공격" 등과 같이 쉽게 처리할 수 있는 상태 단위로 관리하는 것
FSM의 장점
쉬운 구현 / 오류수정 용이 / 유연한 코드 / 직관적인 코드
FSM의 활용
-플레이어, 적, NPC와 같은 개인 단위의 행동 관리
-스포츠, RTS 등의 장르와 같이 여러 캐릭터를 한꺼번에 다룰 때 단체 행동 관리
-유니티의 씬 단위 관리
-유니티의 애니메이션 시스템