인프런 커뮤니티 질문&답변

themoon007님의 프로필 이미지

작성한 질문수

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

10강 : 캐릭터의 광역 스킬 구현

여러 대상에게 Effect를 전달하는 방법

해결된 질문

24.01.27 16:25 작성

·

223

0

AttackHit어빌리티의 스킬 공격 판정 결과 함수에서

스킬 타겟 액터는 HitResult 대신 Actors 에 충돌된 액터들을 넣어서 보내주기 때문에 TargetDataHandle에 대상 액터들이 들어있을 텐데요.

 

이를 엔진 내부에서 사용하여

한번의 ApplyGameplayEffectSpecToTarget() 호출로 각 대상 액터들에게 모두 Effect를 적용하는 걸로 예상하고 있습니다.

 

그런데 ASC에서 직접 BP_ApplyGameplayEffectSpecToTarget()을 할 때는 대상 액터가 여러개라면 For문으로 직접 여러번 호출할 수 밖에 없어 보이는데, 혹시 ASC도 Effect를 한번 호출로 여러 타겟에 적용하는 함수가 있나요??

답변 1

0

이득우님의 프로필 이미지
이득우
지식공유자

2024. 01. 27. 23:41

사실 ApplyGameplayEffectSpecToTarget를 분석해 ASC에서 유사하게 호출해도 된다고 생각합니다만,
이펙트가 발동될 때는 그 인과관계를 명확하게 설정하는 것이 좋다고 생각합니다.
향후 디버깅을 위해서라도 ASC에 직접 접근하는 것은 가급적 자제하고, 특별한 경우가 아니라면 한 프레임에 실행될지라도 인과관계가 명확하게 어빌리티로부터 출발해 이펙트가 발동되는게 좋을 것 같습니다.

themoon007님의 프로필 이미지
themoon007
질문자

2024. 01. 28. 00:02

의견 감사합니다.