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일 경우에만 로직을 실행한다.
'UE 5 스터디 > Gameplay Ability System(GAS)' 카테고리의 다른 글
17-1. 전투 폴리싱 - (1) 창 고블린 사운드, 타격 이펙트와 사운드 (0) | 2025.01.07 |
---|---|
16-5. 멀티플레이어 디버그, 고블린 주술사 디졸브 추가 (0) | 2025.01.03 |
16-3. AI 마법 공격 - (3) 주술사 파이어볼트 공격 어빌리티, 몽타주에 소리 추가 (0) | 2025.01.03 |
16-2. AI 마법 공격 - (2) 고블린 주술사 몽타주 (0) | 2025.01.03 |
16-1. AI 마법 공격 - (1) 고블린 주술사 (0) | 2025.01.03 |