본문 바로가기
CS

FSM

by 남생이야 2024. 5. 1.

 

FSM (Finited State Machine)

  FSM(Finite State Machine)은 우리말로는 유한 상태 기게라고 하며. 이름 그대로 한정된 상태를 가지는 소프트웨어 공학적 모델 중 하나이다. 

  FSM의 상태는 특정한 대상이 가지거나 행할 수 있는 모습이나 사건들을 말하며 게임으로 예를 들면, 캐릭터에는 각각의 공격, 대기, 이동 등의 모습 등이 있다고 정의를 내린다면 이것들이 각각의 상태라고 할 수 있다. 

 FSM은 한 번에 하나의 상태만을 가진다. 각 상태에서 어떠한 사건에 의해서 다른 상태로 변화할 수 있는데, 이를 전이라고 한다. 

 

FSM의 장점 

  • 한 번에 하나의 상태만을 가지는 성질때문에 전이 시점이 명확하다.
  • 상태를 외부에서도 조정할 수 있기 때문에 디버깅 등에서 파악이 쉽다. 

 

FSM의 단점

  • 상태가 많아지게 되면 상태를 관리해주는 코드가 복잡해질 수 있다. 
  • 복잡한 AI 를 구성하는데에 한계가 있다. 

 

유니티에서는 Animator에서 FSM을 직접적으로 확인할 수 있다. 

각 애니메이션은 하나의 상태로 취급하여 애니메이션 별 전이 조건을 설정하여 여러 상태별 애니메이션을 실행할 수 있다.

'CS' 카테고리의 다른 글

CBD(Component Based Developing)  (0) 2024.05.04
오토마타  (0) 2024.05.02
직렬화(Serialization)  (0) 2024.04.29
키프레임 애니메이션  (0) 2024.04.25
메모리 계층 구조  (0) 2024.04.24