FSM : 유한 상태 기계(Finite State Machine)
디자인 패턴의 일종으로 상태와 상태 간의 전환을 기반으로 동작하는 동작 기반 시스템이다.
구성요소로는 상태, 전환 조건, 동작으로 이루어져 있으며 동작원리는
초기 상태에서 시작해 입력 또는 조건에 따라 상태 전환을 하고
상태 전환은 전환 조건을 충족하면 발생하며
전환 조건은 입력 시간 조건 등으로 결정할 수 있다.
상태 전환 시 이전 상태를 종료 동작과 새로운 상태의 진입 동작이 수행된다.
이걸 이용해 플레이어를 만든다면
정지 상태, 이동상태, 점프 상태, 공격 상태 등으로 명확하게 나눠서 정의한다면
상태 간 전환을 일관되게 관리 할 수 있고 복잡한 동작을 상태와 전환 조건을 ㅗ나누어
구현하게 됨으로 코드 유지 보수가 용이하다.
그리고 보다 더 유기적으로 조합하여 원하는 동작을 구현할 수 있다.
반응형
'Today I Learned' 카테고리의 다른 글
[내일배움캠프] 실전 프로젝트 - 기술면접 연습 2 (0) | 2024.01.18 |
---|---|
[내일배움캠프] 실전 프로젝트 - AI Navigation (0) | 2024.01.17 |
[내일배움캠프] 실전 프로젝트 - Queue를 활용한 오브젝트 풀링 (0) | 2024.01.15 |
[내일배움캠프] 실전 프로젝트 - AnimationCurve (0) | 2024.01.13 |
[내일배움캠프] 기술면접 연습 - float와 int의 표현 가능한 수의 범위가 다른 이유 (0) | 2024.01.11 |