게임 개발 (언리얼 엔진)

UE4 게임 개발 EscapeGame - 13 : BGM(Back Ground Music)

종황이 2020. 12. 20. 22:46

배경음악을 삽입해서 더욱 게임답게 만드는 과정을 진행했습니다.

// MainGameMode.h
class UAudioComponent* AudioComponent;
class USoundCue* MainMusicCue;

// MainGameMode.cpp

// 생성자
static ConstructorHelpers::FObjectFinder<USoundCue> MainMusicAsset(TEXT("SoundCue'/Game/GameContent/Sound/bgm/BackGroundMusic.BackGroundMusic'"));

	if (MainMusicAsset.Succeeded())
	{
		MainMusicCue = MainMusicAsset.Object;
	}

	AudioComponent = CreateDefaultSubobject<UAudioComponent>(TEXT("AudioComponent"));
	AudioComponent->bAutoActivate = false;
    
// BeginPlay()
AudioComponent->SetSound(MainMusicCue);
AudioComponent->Play();

헤더파일에 AudioComponent와 SoundCue를 추가해줍니다.

BGM으로 사용할 파일을 임포트해주고, 생성자에서 애셋을 읽어와서 넣어줍니다.

BeginPlay에서 Play() 해주면 배경음악이 나오게됩니다. 각 게임모드마다 다른 BGM을 넣었으며, 각 게임모드 cpp에 설정해주었습니다.

배경음악은 계속 출력되어야하므로 아래와 같이 Looping 해줍니다.