공부일지

유한 상태 머신 (finite-state machine) - 작성중 본문

코딩/Unity

유한 상태 머신 (finite-state machine) - 작성중

이하택 2023. 10. 7. 00:29

유한 상태 머신이란?

  • Idle, Move, Attack 등등의 상태에서 상태로 조건에 따라 전환되며 동작되는 장치의 모델

  • Idle 상태 (멍 때리는 동작) → 조건(밥) 충족 → Happy 상태 (웃는 동작, 춤추는 동작)
    • 유한 상태 머신 : 상태 + 조건 + 동작
    • 싸이코패스마냥 행복한 상태와 정적인 상태 또는 행복한 상태와 화난 상태가 동시적이지 못하는 것처럼, 순간마다 상태는 한번에 하나만 진행된다.

예시

예시 - Enemy

  • Idle 상태\color{white}\colorbox{pink}{Idle 상태}였던 적의 감지범위에
  • 플레이어가 들어오게 된다면
    • 플레이어가 감지(조건)\color{#cbaacb}\colorbox{#f6eac2}{플레이어가 감지(조건)}
  • enemy가 플레이어를 쫓는다.(동작)\color{black}\colorbox{#b6e3e9}{플레이어를 쫓는다.(동작)}

예시 - Player

  • 상태(State) : 정지해 있는 상태, 움직이고 있는 상태, 점프하고 있는 상태
    • ? 움직이는 동작, 점프하는 동작이니까 액션 아니야?
      • “~하고 있는” 이라는 워딩을 사용하며 곧 다른 진행 중임을 표시하고 있음
      • 점프 하고 있는 상태일 때 점프 처리 하는 등의 방식
  • 조건(Condition) : W,A,S,D / Space 등의 입력
    • 혹은 동작 등의 어떤 기준으로부터 흐른 시간일 수도 있음
  • 동작(Action) : 이동 애니메이션, 점프처리, 점프 중 이속 저하 등등

  • 이 친구도
  • 친구도

  • 최신형 인공지능이 탑재되어 알아서 판단하고 행동하는 것처럼 보이지만
    • 하지만 까고 보면 결국 이 FSM 머신이라는 약속된 패턴에 의해 작동하는 것일 뿐.


장점

  1. 상태 자체 제작 쌉가능
  1. 헬 난이도의 동작도 상태와 조건으로 나누니 만만함.
  1. 여기저기 유기적으로 조합하기 좋음.



Reference

내일배움캠프
국비지원 코딩, 내일배움캠프는 개발자 취업까지 자신 있습니다. 기간 제한 없는 취업 컨설팅을 받으며 비전공자 IT취업 준비, 확실히 끝내세요.
https://nbcamp.spartacodingclub.kr/game
FSM Finite State Machine의 이해
해당 포스팅은 예전에 제가 Embedeed System Computing 과목을 수강받을 때 제가 공부하면서 포스팅을 ...
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=taehun3718&logNo=140162190370


Uploaded by N2T

'코딩 > Unity' 카테고리의 다른 글

Delegate(대리자) - 작성중  (1) 2023.10.26
코드 컨벤션  (0) 2023.10.20
싱글톤의 변형과 제네릭 개념  (1) 2023.09.27
MonoBehaviour 추가 강의[09.21] (1)  (1) 2023.09.21
Unity에서 쓰지말라고 한 이유 (1)  (0) 2023.09.21