UE 5 스터디/Gameplay Ability System(GAS)
16-4. AI - (9) 캐릭터 사망 이후에 AI 비활성화하기
Crat3
2025. 1. 3. 18:33
0. 개요
몬스터가 죽은 이후 혹은 타겟이 죽은 이후에 AI를 비활성화하도록 비헤이비어 트리를 수정한다.
1. 몬스터 사망시 AI 비활성화
(1) 블랙보드에 Dead 키 추가
(2) 데코레이터 추가
블랙보드 키 Dead의 값을 가져와 Dead의 값이 설정되어 있지 않은 상태(Is Not Set)에서 값의 변화가 발생하면(On Value Change) 본인을 포함한 하위 노드를 전부 중단하도록 설정한다(관찰자 중단 : Both).
(3) AuraEnemy 클래스의 죽음 함수 수정
void AAuraEnemy::Die()
{
// 수명 설정
SetLifeSpan(LifeSpan);
if (AuraAIController)
{
// 블랙보드 키 기본값 설정
AuraAIController->GetBlackboardComponent()->SetValueAsBool(FName("Dead"), true);
}
// 랙돌 효과와 무기 드랍
Super::Die();
}
이제 몬스터가 사망하면 AI가 실행되지 않는다.
2. 플레이어 캐릭터 사망시 AI 비활성화
- BTS_FindNearestPlayer 비헤이비어 트리 서비스 수정
타겟 액터에 대해 Is Dead 함수를 호출하여 bDead를 체크하고 false일 경우에만 로직을 실행한다.