본문 바로가기

Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-40

사운드

발사체가 발사됐을 때와 탱크나 터렛이 죽었을 때의 사운드를 추가해주자.

이를 위해 발사체에 발사시 사운드와 히트 사운드, 베이스폰에 데스 사운드 이렇게 총 3개가 필요하다.

우선 발사체에서 사운드 변수를 선언해주자.

사운드를 위해서 UBaseSound 타입 포인터 변수를 사용하게 된다.

 

같은 변수를 2개 사용하기에 앞에만 전방선언 해줘도 뒤에 변수는 해줄 필요가 없다.

또는  미리 전방선언을 따로 해주는 방법도 있다.

 

그리고 베이스폰에서도 선언해주자.

 

이제 언리얼로 돌아가서 각각에 맞는 사운드 파일을 할당해주자.

여기서 Launch Sound와 Hit Sound는 같은 걸로 할당해주었다.

 

Death Sound의 경우 탱크와 터렛 각각에 할당해주어야 한다.

 

이제 사운드를 재생시키는 방법을 알아야 한다.

사운드 재생은 아래와 같은 함수를 사용한다.

해당 함수는 변수가 많아 보이지만, 대부분이 디폴트 값을 가지고 있다.

VScode에서 해당 함수를 작성해보면 어떤 값을 할당해주어야 할 지 더 자세히 알 수 있다.

내용을 보면, 월드컨텍스트오브젝트 (this)와 사운드, 위치를 할당해주면되고 나머지는 디폴트 값을 가지고 있는 것을 볼 수 있다.

따라서 앞에 3가지 값만 작성해주면 된다.

 

이제 해당 함수를 작성해주어야 한다.

우선 HitSound의 경우 발사체의 OnHit 함수 내부에 생성해주자.

 

그리고 LaunchSound의 경우 시작 시 사운드이기에 BeginPlay에서 작성해주면 된다.

 

마지막으로 DeathSound의 경우 베이스폰의 HandleDestruction 함수에서 생성해주면 된다.

 

이제 플레이를 해보면 발사체 발사 시와, 발사체가 부딪혔을 때, 탱크나 터렛이 죽었을 때 사운드가 재생되는 것을 알 수 있다.