본문 바로가기

코딩 공부/Unity C#

오디오 관리자 추가 Audio Manager

AudioSource는 오디오 클립을 재생하는 컴포넌트

- 하나의 AudioSource는 하나의 오디오 클립만을 동시에 재생할 수 있다

 

AudioClip은 오디오 파일을 나타내는 객체

- 여러 개의 AudioClip을 준비해두고, 필요할 때마다 AudioSource에서 재생할 수 있다


 

 

 

AudioClipNsmes 스트립트

- 사용되는 오디오 클립의 집합

 

GameAudioSource 스크립트

 

- 게임 시작 시 오디오 소스가 하나만 존재하도록 하고, 씬 전환 시 파괴되지 않게 한다

- 처음 오디오 매니저가 초기화되지 않은 경우 초기화하고, 그렇지 않으면 새로 생성된 오브젝트를 파괴

- 게임오브젝트에 컴포넌트를 추가하고 그 참조를 변수에 저장한다

 

AudioManager 스크립트

- 초기화 여부를 노출할 수 있는 변수(initialized) 오디오 클립을 재생하는데 사용하는 변수(audioSource)

- Dictionary<AudioClipName, AudioClip>
Dictionary는 키-값 쌍을 저장하는 데이터 구조. AudioClipName은 키의 데이터 타입이고, AudioClip은 값의 데이터 타입

 

- 오디오 소스를 파라미터로 설정한다

- 여러 개의 오디오 클립을 딕셔너리에 로드한다

- 오디오 클립명을 변경하고 싶다면 ""안의 이름만 변경해주면 된다

 

- 오디오 클립의 이름을 전달하여 메서드를 호출
- 사운드를 겹치게 재생하기 위해 PlayOneShot 메서드 사용 (Play 메서드는 하나만 재생 가능)