- 개요
비전 파편 스킬에서 애니메이션 몽타주를 재생하여 스킬을 사용하는 애니메이션을 재생하고
GC를 실행하여 소환되는 비전 파편을 연출한다
- C++ 사이드
1) DefaultGameplayTags.ini

재생할 애니메이션 몽타주와 GameplayCue의 Tag를 추가한다
- 블루프린트 사이드
1) GC_ArcaneShards 블루프린트

FX와 관련된 Burst Effects 설정을 위와 같이 구성한다

해당 GC에 대한 Gameplay Cue Tag를 위와 같이 설정한다

On Burst 함수를 위와 같이 오버라이드한다
2) AM_Cast_ArcaneShards 애니메이션 몽타주

몽타주의 애니메이션의 적합한 프레임에 Anim Notify를 추가하고 Event Tag를 설정한다
3) GA_ArcaneShards 블루프린트

ActivateAbility 이벤트를 위와 같이 수정한다
첫 번째 로직은 다음과 같다
- 비전 파편을 소환하는 소환진을 보여줌
- 키 입력을 대기하고 키 입력이 들어오면 마우스 커서로 클릭한 위치를 MouseHitLocation 변수로 저장

두 번째 로직은 위와 같다
- MouseHitLocation의 위치에 BPPointCollection을 생성하고 PointCollection 변수로 저장
- PointCollection의 위치를 기준으로 GetGroundPoints 함수를 호출하고 반환값을 GroundPoints 변수로 저장

세 번째 로직은 위와 같다
비전 파편 스킬 어빌리티의 AvatarActor가 MouseHitLocation을 향하도록 UpdateFacingTarget 함수를 호출한다

네 번째 로직은 위와 같다
적합한 애니메이션 몽타주를 재생하고 다음의 로직을 처리한다
- Anim Notify에 연결된 Tag의 이벤트가 활성화되기를 대기 + 활성화되었다면 이후 로직 수행
- 몽타주가 중간에 끊기거나 취소된 경우 : 서버로부터의 레플리케이션을 대기한후에 어빌리티 종료

다섯 번째 로직은 위와 같다
SetTimerbyEvent 함수를 호출하여 ShardSpawnDeltaTime 만큼 반복실행하는 타이머를 생성한다
생성한 타이머를 ShardSpawnTimer 변수로 저장한다
이후 비전 파편을 소환하는 소환진을 숨기고 비전 파편을 소환한다

여섯 번째 로직은 위와 같이 구성하였으며 비동기적으로 동작한다
- 소환된 비전 파편의 수가 최대값보다 적은 경우 : 해당하는 위치에 비전 파편을 소환 + GC를 재생
- 소환된 비전 파편의 수가 최대값과 동일한 경우 : ShardSpawnTimer 변수를 초기화 + 레플리케이션후에 어빌리티 종료
- 최종 실행 결과
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 비전 파편 스킬 - 최종) 쿨타임 + 코스트 적용 그리고 추가적인 설정 (1) (0) | 2025.12.09 |
|---|---|
| 비전 파편 스킬 - 4) 파편에 피격당한 적에게 피해 적용 (0) | 2025.12.07 |
| 비전 파편 스킬 - 2) 파편을 소환하는 위치 계산 (0) | 2025.12.06 |
| 비전 파편 스킬 - 1) 파편을 소환하는 원 설계 (0) | 2025.12.06 |
| 패시브 스킬 - 최종) 패시브 스킬의 발동 + FX 연출 (0) | 2025.12.06 |