Audio Component
AudioListener : 소리를 듣는 역할

❗️ 한 Scene에서 여러대의 카메라를 사용시 반드시 AudioListener는 하나만 존재 해야 한다

AudioSource : 소리를 발생

Basic Settings
-
Audio Clip: 이
AudioSource가 재생할 오디오 클립을 선택합니다. - Mute: 오디오를 음소거합니다.
-
Bypass Effects: 이
AudioSource에 적용된 오디오 이펙트를 무시합니다. - Bypass Listener Effects: 오디오 리스너에 적용된 이펙트를 무시합니다.
- Bypass Reverb Zones: 리버브 존의 영향을 무시합니다.
- Play On Awake: 게임 오브젝트가 활성화될 때 자동으로 오디오 재생을 시작합니다.
- Loop: 오디오 클립이 끝나면 처음부터 다시 재생합니다.
Output Settings
- Priority: 오디오 소스의 우선순위입니다. 낮은 값은 높은 우선순위를 의미합니다.
-
Volume: 이
AudioSource의 볼륨을 조절합니다. -
Pitch: 이
AudioSource의 피치를 조절합니다.
3D Sound Settings
- Stereo Pan: 스테레오 채널 간의 밸런스를 조정합니다.
- Spatial Blend: 2D와 3D 사운드 간의 블렌딩을 조정합니다.
- Reverb Zone Mix: 리버브 존과의 블렌딩을 조절합니다.
- Doppler Level: 도플러 효과의 정도를 설정합니다.
Advanced Settings
- Min Distance / Max Distance: 오디오가 어떻게 거리에 따라 감쇠할지를 설정합니다.
- Rolloff Mode: 거리에 따른 볼륨 감쇠를 어떻게 처리할지 선택합니다 (Linear, Logarithmic 등).
AudioClip (음원)

Load Type - enum

Decompress On Load (Defalult)
- 실행과 동시에 압축을 해제하므로 큰 사이즈의 오디오 파일은 성능상 오버헤드를 발생
- 작은 사이즈의 오디오에 적합
- 압축이 미리 해제된 상태에서 저장되기 때문에 많은 메모리 사용
- CPU 리소스는 덜 소모하는 타입
Compressed In Memory
- 메모리에 압축된 상태로 저장
- 실행시 압축을 해제하므로 약간의 오버헤드 발생
- 큰 사이즈의 오디오에 적합
Streaming
- Persistent 메모리 (HDD, Flash Driver)에 저장된 오디오를 스트리밍 방식으로 재생
- 오디오 파일을 저장하기 위한 메모리가 필요 없다
Compression Format - enum

PCM
- 품질이 높은 대신 파일의 크기는 상대적으로 크기 때문에 짧은 오디오에 적합(비압축 포맷)
ADPCM
- 압축비가 PCM 대비 3.5배 파일의 크기가 작음
- CPU 리소스를 조금더 사용함
- 노이즈가 포함
- 총, 발걸음, 잡음이 일부로 필요한 오디오에 적합
Vorbis / MP3 (Defualt)
- 중간 길이 정도의 효과음 또는 배경음악에 적합
- PCM대비 품질은 떨어지지만, 압축률(Quality) 조절 가능
- 보통 압축률은 70% 설정
Audio Setting Example
| 목적 | Load Type | Compression Format | Quality |
|---|---|---|---|
| 큰사이즈의 배경음 | Streaming | Vobis | |
| 배경음 | Compressed In Memory | Vorbis | 70% |
| 발생 빈도 | 파일 크기 | Load Type | Compression Format |
|---|---|---|---|
| 빈번히 발생 | 작은 크기 | Decompess On Load | PCM or ADPCM |
| 빈번히 발생 | 중간 크기 | Compressed In Memory | ADPCM |
| 가끔 발생 | 작은 크기 | Compressed In Memory | ADPCM |
| 가끔 발생 | 중간 크기 | Compressed In Memory | Vorbis |
Preload Audio Data - bool

- LoadScene 시에 미리 Audio를 Load
- 만약 fasle 상태이면 Scene 시작시 레이턴시 발생 할 수 있음