본문 바로가기

FSM2

[Unity] FSM(유한 상태 머신)을 사용한 몬스터 로직 구현 https://github.com/IGC-The-Binding-Of-Issac/The-Binding-Of-Issac GitHub - IGC-The-Binding-Of-Issac/The-Binding-Of-IssacContribute to IGC-The-Binding-Of-Issac/The-Binding-Of-Issac development by creating an account on GitHub.github.com 해당 글은 2023년도 진행했던 The Binding of Issac 모작 프로젝트에서 제작하였던 몬스터 Ai에 관련한 정리글입니다. 💡 도입이유 : 초기에는 상위 Enemy를 상속받는 Fly와 Issac과 Spider를 상속받는 하위 몬스터들이 존재했음.→ 상속이 깊어짐으로써 구조가 복잡.. 2025. 5. 26.
[Unity] FSM 패턴과 Brigde패턴을 사용한 EnemyAi 📝 고민이때까지 몬스터 AI를 제작하면서 FSM를 상속받는 클래스 내부에 동작을 작성했다예를 들어서 FSM를 상속받는 클래스인 EnemyTracking 클래스 내부에서 플레이어를 따라가는 동작, 추적 중 공격 범위 안에 들어오면 attack 상태로 변환, 추적 범위를 벗어나면 배회 상태로 변환 등의 동작을 구현했다하지만 평범하게 추적하는 몬스터가 아닌 지그재그로 움직이는 몬스터가 있다고 생각해보자이 몬스터의 움직임을 구현하기 위해서 FSM을 상속받는 EnemyTrackingZigZag 클래스를 만든 뒤 동작을 구현해야 한다.이렇게 같은 tracking 상태이지만 다른 동작을 하는 enemy가 많아지면 많아질수록 FSM을 상속받는 클래스가 불필요하게 늘어나게 된다.또한 FSM 배열을 관리하는 메서드를 매.. 2025. 4. 1.