언리얼 엔진 - 게임 프로젝트/GAS 프레임워크 RPG 프로젝트

게임 맵 - 최종) 드롭되는 아이템 애니메이션 수정 + 인게임 종료 버튼

monstro 2026. 1. 15. 10:22
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번째 시퀀스

 

Construct 이벤트의 3번째 시퀀스를 위와 같이 추가한다

인게임 종료 버튼을 누르게 되면 시퀀스 노드를 통해 작업을 수행한다

  • AreYouSure 위젯 생성
  • AreYouSure 위젯의 종료 버튼로드 맵을 오픈하는 이벤트를 바인드
  • AreYouSure 위젯의 취소 버튼인게임 종료 버튼을 활성화하는 이벤트를 바인드

 

- 최종 실행 결과

 

728x90
반응형