AI FSM
NPC나 오브젝트에 AI 상태를 설정하는 기능이에요.

샘플맵 바로가기🔗
ScriptingFinite State Machine
오브젝트에 상태 머신🤖을 설정🔧하여 조건에 따른 상태 전환 기능을 제공해요.

FinteState
객체의 각 상태를 나타내요.🧍🏃🧘
ParallelState
FinteState의 하위 상태에요.⛹️
ParallelState를 설정하면 FinteState와 함께 실행돼요.
FiniteState 하위에는 하나☝️의 ParallelState만 생성할 수 있어요.
하나의 FiniteState에 2개 이상의 ParallelState를 설정하면 마지막에 설정한 ParallelState만 적용돼요.⏭️
FSM의 상태 플로우(동작 순서)
각 상태🏃마다 EnterEvent > UpdateEvent > ExitEvent 순으로 진행돼요.
💡하위 상태(ParallelState)가 존재하는 경우, 상위 EnterEvent > 하위 EntetEvent > 상위 UpdateEvent… 순서로 진행돼요.

FSM 사용 함수
void AddFSM()
Server / Client
대상에게 FSM를 부여해요.
void AddFiniteState (string StateName)
Server / Client
FSM 내부에 상태 추가해요.
void AddParallelState (string StateName)
Server / Client
FSM 추가된 상태에 하위 상태를 추가해요. 각 상태마다 하나씩만 추가할 수 있어요.
EnterEvent
Server / Client
상태가 시작될 때 호출되는 이벤트에요.
UpdateEvent
Server / Client
상태가 진행중일 때 호출되는 이벤트에요.
ExitEvent
Server / Client
상태가 끝날 때 호출되는 이벤트에요.
void AddTransition (string StateName, string StateName, function, number)
Server / Client
다른 상태로 전환할 때 사용하는 함수에요. 시작 상태 이름, 전이할 상태 이름, 연결 함수, 우선순위(0에 가까울수록 높아요.)가 필요해요.
void StartFSM()
Server/Client
FSM를 활성화 해요.
void StopFSM()
Server/Client
FSM를 비활성화 해요.
void GetOrCreateFSM (string StateName)
Client
FSM을 생성하거나 Server에 있는 FSM을 불러와요.
Server에서 FSM 사용 예
Client에서 FSM 사용 예
Last updated
Was this helpful?