FSM은 유한 상태 기계(Finite State Machine)의 약어로, 입력 신호와 출력 신호를 처리하는 추상적인 모델링 도구입니다. FSM은 현재 상태를 유한한 개수의 상태 중 하나로 나타내고, 입력 신호에 따라 상태를 변화시키며 출력 신호를 발생시킵니다.
FSM은 상태 전이도(state transition diagram)를 사용하여 그래프로 표현할 수 있습니다. 상태 전이도는 상태를 노드로, 입력 신호와 출력 신호를 에지로 나타내며, 상태 전이를 표현하는데 유용합니다. 또한, FSM은 상태 전이 표를 사용하여 구현할 수도 있습니다. 상태 전이 표는 입력 신호와 현재 상태에 대한 출력 신호와 다음 상태를 나타내며, 이를 통해 각 상태에서 어떤 입력 신호가 들어왔을 때 어떤 출력 신호를 발생시키고 다음 상태로 이동할지를 결정합니다.
FSM은 하드웨어 및 소프트웨어 디자인에 많이 사용됩니다. 예를 들어, 자동판매기, 엘리베이터, 자동차의 신호등 등에서 FSM을 사용하여 동작을 모델링하고 구현할 수 있습니다. 또한, FSM은 컴퓨터 네트워크에서 프로토콜을 설계하고 구현하는 데에도 사용됩니다.
이 FSM(상태기반)을 이용해 간단한 AI 를 로직해보려 한다. 저번에 만든 enum 타입의 State 라는 변수를 가져와 Swich로 구분해서 실행한다.
Idle 상태일때는 적으로 생각하는 클래스가 있는지 체크하고 이동상태로 해준다
Move 상태가 되면 적의 Vector에서 내 Vector값을 빼 방향 Vector 값을 구한뒤 이동을시키고 내가 원하는 거리에 오면 Attack 이벤트를 실행해준다.
'언리얼엔진 > 블루프린트' 카테고리의 다른 글
PlayerControlloer (0) | 2023.03.27 |
---|---|
캐릭터 회전 (0) | 2023.03.25 |
블루프린트 체력게이지 (2) | 2023.03.21 |
블루프린트 DataTable (0) | 2023.03.21 |
Select, State 패턴 (0) | 2023.03.18 |
댓글