[UE5] Lena: Dev Diary #9 - 위젯, 소리 및 카메라 쉐이크 추가

ChangJin·2024년 6월 28일
0

Unreal Engine5

목록 보기
75/114
post-thumbnail

2024.06.28

깃허브!풀리퀘!
https://github.com/ChangJin-Lee/Project-Lena https://github.com/ChangJin-Lee/Project-Lena/pull/8

이번 포스팅에서는 위젯을 플레이어 카메라에 보이게 만들고, 문을 여는 소리와 닫는 소리, 아이템을 주울 때 나는 소리를 추가하며, 키가 필요할 때 카메라 쉐이크 효과를 추가한 과정과 고민을 공유합니다. 또한, C++ 폴더 구조를 정리한 내용도 다룹니다.


진행상황

  • ✅ 위젯 플레이어 카메라에 표시
  • ✅ 문 여는 소리 및 닫는 소리 추가
  • ✅ 아이템 줍기 소리 추가
  • ✅ 키 필요 이펙트 추가 (CameraShake)
  • ✅ BGM 변경 (무서운 느낌)
  • ✅ C++ 폴더 구조 정리
  • ⬜ 조합 자물쇠
  • ⬜ 방향 자물쇠
  • ⬜ 버튼 자물쇠

상호작용 관련 상속 관계도

위젯을 플레이어 카메라에 보이게 하기

  • 게임 내에서 특정 정보를 플레이어에게 제공하기 위해 위젯을 화면에 표시하고 싶었습니다. 카메라의 시야에 항상 보이도록 만들고 싶었습니다.
Render Text로 만들어서 가만히 있는 느낌
  • UWidgetComponent를 사용하여 위젯을 생성하고, 이를 카메라에 부착하여 항상 보이도록 설정했습니다. NativeConstruct 함수를 사용하여 위젯 초기화 작업을 수행했습니다.
UWidgetComponent으로 만들어서 선명하게 떠 있는 느낌

참고 자료:


문을 여는 소리와 닫는 소리 추가

  • 문이 열리고 닫힐 때 적절한 사운드를 추가하여 게임의 몰입감을 높이고 싶었습니다.

  • UGameplayStatics::PlaySoundAtLocation을 사용하여 소리를 재생했습니다. 또한, USoundCue를 사용하여 사운드 설정을 관리했습니다.

참고 자료:


아이템을 주울 때 나는 소리 추가

  • 아이템을 주울 때 플레이어에게 피드백을 주기 위해 사운드를 추가하고 싶었습니다.

  • UGameplayStatics::PlaySoundAtLocation을 사용하여 아이템을 주울 때 사운드를 재생했습니다. 또한, USoundBase를 통해 사운드를 설정했습니다.

참고 자료:


키가 없을 때 이펙트 추가

  • 키가 없을 때 플레이어에게 피드백을 주기 위해 이펙트를 추가하고 싶었습니다.

  • CameraShake를 사용하여 키가 필요하다는 피드백을 주었습니다. 이펙트를 통해 플레이어에게 시각적인 충격을 주어 경고했습니다.

  • 동시에 텍스트의 색을 빨간색으로 바꾸어 시각적으로도 알 수 있게 했습니다.

열쇠가 필요하다는 문구가 나오는 위젯

무서운 느낌의 BGM으로 변경

  • 게임의 분위기를 무섭게 만들기 위해 기존 BGM을 변경하고 싶었습니다.

  • 새로운 BGM을 설정하고, 적절한 타이밍에 사운드가 재생되도록 설정했습니다.


C++ 폴더 구조 정리

  • 코드가 복잡해지면서 C++ 파일들의 구조를 정리할 필요성을 느꼈습니다.
폴더 구조
  • 언리얼 엔진의 권장 폴더 구조에 맞게 디렉토리를 정리했습니다. 디렉토리는 다음 기준에 따라 정리했습니다:
  • Game (instance, state, modes)
  • Characters
  • Systems (inventory, stats etc)
  • Ui (widgets)
  • Items (power ups, consumables)
  • Audio (sfx, music)
  • Library (static libs)

참고 자료:


이번 작업을 통해 다양한 기능을 추가하고, 게임의 몰입감을 높이며, 코드 구조를 정리하여 유지보수성을 향상시킬 수 있었습니다. 앞으로도 지속적으로 개선해 나갈 계획입니다.

참고한 자료


profile
게임 프로그래머

0개의 댓글