유니티 정보

FSM 유한상태머신 ( 알고리즘 )

더크 2021. 7. 24. 11:13

몬스터의 AI는 플레이어를 공격하거나 추적하거나 되돌아가거나 정찰을 하거나 여러 행동 패턴이 존재한다.

이 행동패턴들을 각 상태로 구별해서 상태 전환을 시키고 그 상태에 맞는 행동,애니메이션이 나오도록 하는것이다.

 

그림으로 표현해보자

몬스터의 AI 상태

이렇게 각각의 행동 상태가 존재하도록 하고 이것을 코드로 구현한다고 하면

 

 

enum과 switch를 활용한 유한상태머신

이런식으로 enum 열거형 변수와 switch를 이용해서 해당 상태일 때 행동을 넣어주면 된다.

 

여기서 enum이란?

enum은 열거형으로 간단하게 선풍기 스위치로 생각하면 된다. 선풍기 스위치를 누르면 그 스위치상태가 된다.