자극을 수집한다
AIPerceptionComponent가 플레이어 위치, 소리, 피해 발생을 AIController에 전달합니다.
AIController가 감지한 세계 상태는 Blackboard에 모이고, Decorator와 Service가 실행 흐름을 바꾸며, Task는 이동과 전투를 실제 액션으로 옮깁니다.
AIPerceptionComponent가 플레이어 위치, 소리, 피해 발생을 AIController에 전달합니다.
목표 액터, 목표 위치, 경계 상태, 재사용 대기시간을 키 타입에 맞게 저장합니다.
Observer Aborts로 현재 행동 유지와 상위 브랜치 전환을 정합니다.
Move To, Run EQS, 공격 Task가 성공/실패를 반환해 트리를 닫습니다.
현재 노드, 블랙보드 값, 이동 경로를 함께 보아 AI가 왜 멈췄는지 좁힙니다.
플레이어 거리나 시야 여부처럼 계속 변하는 조건은 Tick Interval을 두고 갱신해 트리 순회 비용을 제어합니다.
블랙보드 키, 성공 조건, 실패 조건을 명확히 하면 C++ Task와 블루프린트 Task를 같은 트리에서 안전하게 섞을 수 있습니다.