반응형

fsm 2

[Unity C#] FSM 디자인 패턴 적용시켜보기

FSM in Unity 이전에 공부했었던 FSM, finite state machine을 유니티 상에서 구현해 캐릭터의 idle, move 상태를 구현했습니다.이러한 디자인패턴을 기반으로 캐릭터들을 구현하게된다면 좀더 아름다운 코드가 나올수있을것같습니다. 완벽하게는 아니지만 각 객체의 역할을 분리할수있었다는 점에서 편리할수있을것같습니다. 우선 앞으로 정의할 상태들의 인터페이스 IState를 만들었습니다. public interface IState{// 인터페이스로 구현함으로써 player클래스에서 이 인터페이스로 호출합니다.void OnEnter(Player player);void Update();void OnExit();} OnEnter는 상태가 시작될때 호출됩니다. player클래스를 파라미터로 받아..

게임 개발/Unity 2019.03.03

[디자인패턴]02. - FSM (Finite State Machine) 유한상태기계

FSM(finite state machine): 유한상태기계 정의유한한 갯수의 상태들로 구성된 기계를 말합니다.특정 객체의 상태를 관리하기위한 패턴입니다.이벤트를 받고 그에 따라 현재상태에서 다음상태로의 전이가 이뤄집니다. 게임에서 npc의 행동AI에 주로 사용됩니다. 특징유한한 수의 상태들만을 가집니다.자신은 하나의 상태만을 가지고 있습니다. 행동을 하나의 객체로 모듈화 하는것을 목표로 합니다.자신의 현재상태를 확인 할수 있어야합니다.외부로부터의 입력, 즉 이벤트를 받습니다. 자신의 현재상태와 받아온 이벤트로 정해진 논리에 따라 자신의 상태를 변경할 수 있습니다. FSM과 statePattern의 차이 상태패턴(stateParrern)은 객체지향 방식으로 상태기계를 구현하는 행위, 디자인패턴을 말합니다..

반응형