728x90
반응형
- 개요
몬스터에 드롭되는 아이템에 애니메이션과 사운드 효과를 추가하고
인게임에서 게임을 종료할 수 있도록 기능을 추가한다
- C++ 사이드
1) AuraEffectActor 클래스

CalculatedLocation 멤버변수와 CalculatedRotation 멤버변수에
BlueprintReadWrite 어트리뷰트를 사용하도록 설정하여 값을 수정할 수 있도록 한다
2) AuraAttributeSet 클래스

ShowFloatingText 함수에 위와 같이 로직을 추가하여
SourceCharacter가 유효하지 않거나, TargetCharacter가 유효하지 않은 경우를 체크한다
- 블루프린트 사이드
1) BP_Pickup_Base 블루프린트
1 - 1) BeginPlay 이벤트

BeginPlay 이벤트를 위와 같이 수정하여 다음의 로직을 수행한다
- 스폰되면서 소리를 재생 + 타임라인이 시작
- 타임라인에 따라 아이템의 크기와 위치를 설정하고 아이템이 땅에 닿으면 충격음을 재생
- 타임라인이 종료되고 StartSinusoidalMovement 함수와 StartRotation 함수 호출
1 - 2) Destroyed 이벤트

Destroyed 이벤트를 위와 같이 설정하여 파괴음을 재생한다
2) WBP_AreYouSure 위젯 블루프린트
2 - 1) CenteredXPosition 함수

CenteredXPosition 함수를 위와 같이 구성하여 뷰포트의 가로 중앙에 위젯을 배치하기 위한 좌표값을 반환한다
2 - 2) Construct 이벤트

Construct 이벤트를 위와 같이 구성하여 삭제 버튼 + 취소 버튼 둘 중 하나라도 눌렸다면 위젯을 제거한다
3) WBP_Overlay 위젯 블루프린트

Construct 이벤트의 3번째 시퀀스를 위와 같이 추가한다
인게임 종료 버튼을 누르게 되면 시퀀스 노드를 통해 작업을 수행한다
- AreYouSure 위젯 생성
- AreYouSure 위젯의 종료 버튼에 로드 맵을 오픈하는 이벤트를 바인드
- AreYouSure 위젯의 취소 버튼에 인게임 종료 버튼을 활성화하는 이벤트를 바인드
- 최종 실행 결과
728x90
반응형
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 게임 맵 - 문제 수정) GameplayModMagnitudeCalculation 클래스의 동작 방식 개선 (0) | 2026.01.13 |
|---|---|
| 게임 맵 - 4) 아이템 드롭 (0) | 2026.01.12 |
| 게임 맵 - 3) 몬스터 스포너와 맵 재시작 구현 (0) | 2026.01.11 |
| 게임 맵 - 2) 던전 구조물과 입구 추가 (0) | 2026.01.10 |
| 게임 맵 - 1) 커서 동작 수정 (0) | 2026.01.09 |