inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

Multi Layered State Machine

StateMachine 가독성

453

BiN_

작성한 질문수 10

0

코드 상에서 일일이 Transition을 만들고 하다 보니 가독성이 딸리는 느낌이더라구요 그래서 그런데 혹시 강의 뒤에 StateMachine의 가독성을 높이기 위한 방법이 나오나요?

unity modules

답변 1

1

Developer G

수강해주셔서 감사합니다.

뒷 부분부터는 FSM을 Skill에 적용하는 내용만 있고 FSM Code 자체를 더 건드리는 내용은 없습니다.


FSM 같은 경우 Node와 Transition이 많아질수록 보기에 복잡해지는건 필연적이구요, 전이 조건들을 통합하거나 Node들을 통합해서 자체적으로 최적화하는 방법이 있습니다. 그나마 Skill처럼 시스템화 되는 곳에서는 한번 설정하고나면 이후 크게 건드릴 일이 많지 않아서 좀 나은 편입니다. 특히 Skill 같은 경우는 Node가 많지도 않고 Transition이 한 방향으로 흐르기 때문에 그 복잡도가 덜한편이구요.

가시성을 높히고 싶으시면 FSM용 Node Editor를 구현하거나 Asset Store에서 Node Editor를 제공하는 FSM Asset을 구매하셔서 강의의 내용대로 FSM을 구성하시면 되는데, 확실히 말씀드릴 수 있는건 Node Editor는 어느 Node가 어느 Node에 연결되는지만 명확히 보일 뿐 가독성 올려주진 않습니다.

저 같은 경우 조건 구성의 불편함 때문에 Node Editor보다는 강의에서처럼 Code로 FSM을 구성하는걸 선호하구요, AI나 복잡한 Player 동작 Logic의 구성이 필요한 경우 BT에 FSM을 섞는 형태로 사용합니다. 예를 들면, AI의 동작을 BT로 제어하다가 Skill을 사용하는 상황이 오면 대기(Wait)하여 FSM(Skill과 관련된 동작)동작 완료를 기다린 뒤, FSM 동작 완료가 되면 다시 BT를 진행하는 식으로요. 상황에 따라서는 FSM 상태에 따라 BT의 동작 제어를 할 수도 있구요.

해당 내용은 GDC에서도 소개됐으니 한번 보시면 좋으실겁니다.
https://www.youtube.com/watch?v=Qq_xX1JCreI
(강연자가 저랑 다른 방식 BT와 FSM을 혼합합니다.)

감사합니다.

Indicator와 SelectionAction 및 SearchAction 간의 관계에 대해 질문있습니다.

0

70

2

ChargingState에서 질문이 있습니다.

0

49

1

Effect.GetData 함수 질문있습니다.

0

45

2

CanTransitionToSelf 질문 있습니다.

0

53

2

Stat의 MaxValue에 관하여 질문이 있습니다.

0

42

1

Stat vs StatScaleFloat

0

75

4

애니매이션 버그가 있는것 같습니다.

0

65

2

StatsOverride질문이 있습니다.

0

50

2

SetBonusValue함수 질문있습니다.

0

46

2

오늘 수강시작한 취준생입니다.

0

49

1

사소하지만 에디터 관련 질문있습니다

0

69

1

스킬시스템을 데이터 테이블화 하는 법에 대해 감이안잡혀서 질문드립니다.

0

146

2

TargetSearcher에 대해서 질문이 있습니다

0

52

1

돌진해서 몸박을하면 피격자를 날리면서 데미지를 입히는 스킬은 이 시스템에서 어떻게 만들 수 있을까요??

0

116

2

스킬 관련 질문입니다

0

110

2

통일된 Stat을 사용하지 않고 모듈화 방식으로 Stats를 만드신 이유가 궁금합니다.

0

152

1

Effect에 기능 확장에 대해서 질문이 있습니다.

0

149

2

SkillData 구조체 질문

0

122

1

스킬트리 저장 질문입니다

0

135

2

BT와 FSM을 활용해 몬스터 AI 구현

0

350

2

MonoStateMachine을 만든 이유가 잘 이해가 가지 않습니다.

0

128

1

근접 콤보 공격을 만들고 싶습니다.

0

153

1

하나의 스킬 내에서 타겟, 이펙트가 여러번 바뀌게 하는 방법이 궁금합니다.

0

190

1

올해에 예정된 새로운 강의가 있으신지요?

0

115

2