Sound의 주요 컴포넌트
1. Audio Listener
- 사운드를 '듣는' 역할
- 씬 상 하나만 존재해야 함 ( 일반적으로 카메라에 추가)
- 소리가 발생하는 위치와 방향을 계산해 리스너 기준으로 소리를 출력
2. Audio Source
- 사운드를 '재생' 하는 역할
- Audio Source는 소리, 크기, 반복 여부 등을 정의
- 오디오 클립 연결 , 속성 제어
3. Audio Clip
- 실제 재생되는 사운드 데이터
- WAV, MP3 , OGG 등의 파일 형식
AudioSource의 주요 속성과 메서드
속성
- audioSource.clip : 재생할 Audio Clip을 설정
- volume : 오디오 볼륨 (0.0~1.0)
- pitch :재생 속도 (-3.0~3.0), 기본값 1.0)
- loop : 오디오를 반복할지 여부(true/false)
- spatiaBlend : 2D/3D 오디오 간의 비율 // 완전한 2D사운드(0.0) ~ 완전한 3D 사운드(1.0)
메서드
- Play() : 오디오 클립을 처음부터 재생
- Stop() : 현재 재생 중인 오디오를 정지
- Pause() : 오디오를 일시 중지
- UnPause() : 일시 중지된 오디오를 다시 재생
- PlayDelayer(float delay) :오디오를 지연 후 재생
- PlayOneShot(AudioClip clip, flaot volumeScale = 1.0f) : 특정 오디오 클립을 한 번 재생/(겹치기가능)
- PlayScheduled(double time) : 특정 시간에 오디오를 재생
- SetScheduledEndTime(double time) : 재생 중인 오디오를 특정 시간에 멈춤
- SetFloat() : Mixer의 파라미터 값을 설정
3D 관련 속성
- spatialBlend : 2D 사운드는(0.0) 리스너와 상관 없이 균일하게, 3D 사운드(1.0)은 위치에 따라 감쇠하며 들림
- minDistance/maxDistance : 최소/최대 거리에서 감쇠를 제어 (최대 볼륨, 볼륨의 한계선)
- aumdioSource.spatialBelend,minDistance,maxDistance로 제어 가능
- dopplerLevel: 소리가 이동 속도에 따라 변조됨(1.0f, 가 기본값 높을수록 효과가 강함)
추가적인 정보들
- Audio Mixer를 생성해 사운드를 믹싱하고 볼륨 피치 등 효과를 추가할 수 있음
- Reverb zZone 컴포넌트를 사용하여 특정 영역에서 잔향을 추가하거나 Low Pass/High Pass Filter로
저주파/고주파만 통과하게 할 수 있음 - Audio Distortion Filter 로 소리를 왜곡하여 특수 혀과 생성 가능
전체 게임의 사운드를 관리하는 Singleton 패턴을 사용하면 편리하게 관리 가능.
긴 음악은 스트리밍 모드로 로드, 오디오 풀링으로 Audio Source 재활을 해 최적화를 할 수 있음.
'개념공부' 카테고리의 다른 글
Singleton in Unity (1) | 2025.01.01 |
---|---|
About UI ( with Unity) (1) | 2024.12.27 |
Unity Camera (0) | 2024.12.23 |
Gizmos 관련 메서드 (0) | 2024.12.23 |
Unity Animation with method (1) | 2024.12.22 |