- 개요
배경 음악과 인게임 UI를 조작하였을 때의 SFX 효과를 추가한다
- 스크립트 작업
1) AudioManager 클래스

게임에서의 음향 효과를 처리하는 AudioManager 클래스를 생성한다
멤버변수는 위와 같이 구성하여 2개의 AudioSource 컴포넌트를 사용하여 각각 다른 음향을 재생한다
- BGM 관련 멤버변수
- bgmSource 멤버변수 : BGM 재생에서 사용할 AudioSource 컴포넌트
- bgmClips 멤버변수 : 배경음악으로 사용할 음악들
- currentBgmIndex 멤버변수 : 현재 재생중인 배경음악의 인덱스
- bgmCheckCoroutine 멤버변수 : 2초 간격으로 배경음악을 재생하는 코루틴
- UI SFX 관련 멤버변수
- uiSfxSource 멤버변수 : UI 조작시에 재생할 음향 효과

Awake 함수를 추가하고 구성하여 2개의 AudioSource에 대한 playOnAwake 옵션을 비활성화한다

OnEnable 함수와 OnDisable 함수를 위와 같이 구성한다
AudioManager를 서비스 로케이터에 등록하여 외부에서 사용할 수 있도록 설정한다
또, CoCheckBGMRoutine 코루틴 함수를 호출하고 캐싱하여 2초 간격으로 랜덤한 BGM을 재생한다
마지막으로 메인 화면으로 돌아가는 이벤트가 발동되면 동일하게 2초 간격으로 랜덤한 BGM을 재생한다

PlayBGM 함수를 추가하고 위와 같이 구성한다
현재 재생되고 있는 배경음악을 중단하고 인자로 받은 인덱스에 해당하는 배경음악을 재생한다

PlayRandomBGM 함수를 추가하여 랜덤한 배경음악을 재생한다

PlayBGMIfNeeded 함수를 추가하여 배경음악이 재생되고 있지 않다면 랜덤한 배경음악을 재생한다

CoCheckBGMRoutine 코루틴 함수를 추가하여 2초 간격으로 랜덤한 배경음악을 재생한다

PlayUISFX 함수를 추가하여 UI 음향 효과의 AudioSource를 통해 SFX를 겹쳐서 재생한다
2) UI_BuildBtn 클래스

유닛 생성 버튼에 2개의 AudioClip 멤버변수를 추가하여 호버링과 클릭에 대한 음향 효과를 재생한다

BuildTower 함수에 위와 같이 로직을 추가하여 유닛 생성시에 클릭 SFX 효과를 재생한다

OnPointerEnter 함수에 위와 같이 로직을 추가하여 유닛 생성 버튼에 커서를 올리면 호버링 SFX 효과를 재생한다
- 최종 실행 결과

'유니티 엔진 - 게임 프로젝트 > 타워 디펜스 게임' 카테고리의 다른 글
| 적 추가 - 1) 무리지어 오는 적의 추가 (0) | 2026.09.22 |
|---|---|
| 오디오 - 최종) 유닛의 공격 효과음 추가 + 설정 UI와 오디오 연결 (0) | 2026.09.17 |
| 레벨 관리 - 최종) 게임 씬 이동 방식 변경 및 추가 수정 (0) | 2026.09.14 |
| 레벨 관리 - 6) 게임 클리어와 레벨 잠금 해제 (0) | 2026.09.08 |
| 레벨 관리 - 5) 게임 패배 처리와 레벨 선택 준비 (0) | 2026.09.08 |