[TIL] Unity - Audio Source

MINO·2024년 6월 5일
0
post-thumbnail

2024-06-05


Audio Source

씬에서 오디오 클립을 재생하는 컴포넌트.

  • Audio Source 에서 음원을 재생하면,
    • Audio Listener 를 통해 플레이어가 들을 수 있다.

Property

많은 속성이 있어 Unity Docs - Audio Source를 통해 알아보았다.


Property기능
AudioClip재생할 음원 (스크립트를 통해 AudioSource 에 넣거나, 인스펙터창에서 드래그 앤 드롭으로 넣음)
Output클립이 재생될 출력 장치 (기본 세팅 시, Audio Listener 에 직접 출력됨)
Mute음소거된 상태로 재생
Bypass EffectsAudio Source에 적용된 필터 효과를 바이패스 (전원 켜거나 끄기)
Bypass Listener EffectsAudio Listener 에 적용된 효과를 바이패스
Bypass Reverb Zones모든 리버브 존 효과를 바이패스
Play On Awake씬이 실행되는 시점에 사운드가 재생 (Ex : BGM 등에 사용)
Loop재생이 끝날 때, 자동으로 재생
Priority씬 안에 존재하는 모든 Audio Source 중의 우선 순위 (0 ~ 256)
(0 : 최우선, 128 : 디폴트 , 256 : 최하)
VolumeAudio Listener 로부터 1m 거리에서 소리가 얼마나 크게 들리는지
PitchAudio Clip 의 재생 속도 (디폴트 : 1)
Stereo Pan소리가 재생될 때 좌우 스피커 간의 소리의 분포를 조절하는 기능 ( -1.0 ~ 1.0)
(-1 : 왼쪽 스피커에서만, 0 : 양쪽 스피커에서 균등하게, 1 : 오른쪽 스피커에서만)
Spatial BlendAudio Source 컴포넌트에서 3D 사운드와 2D 사운드 사이의 혼합 조절( 0.0 ~ 1.0)
(0 : 사운드가 2D로 재생 - 거리와 상관없이 일정 , 1 : 3D로 재생 - 거리에 따라 변화)
Reverb Zone Mix리버브 존으로 보내지는 출력 신호의 양을 조절 ( 0.0 ~ 1.1)
(0 : 리버브 존의 영향 X, 1 : 오디오 소스와 리버브 존 사이의 혼합이 최대로 적용 , 1.1 : 10dB 증폭)

Reverb Zone ?

벽, 바닥, 천정 또는 건물의 다른 부분을 반사하여 울리는 소리를 Reverb 라고 한다.
(동굴에서 소리가 울리는 효과를 연출하고 싶다면, Reverb Zone Mix 값을 높이면 된다.)


3D Sound Settings

Spatial Blend 에 비례해서 적용되는 속성,
사운드에 입체감을 더하고 싶다면 해당 프로퍼티를 관여해야 한다.

Property특징
Doppler Level도플러 효과, 거리에 따라 사운드의 높낮이가 달라짐
(0 : 효과 X )
Spread사운드가 퍼지는 각도 (0도 ~ 360도)
(0 : 한 점에서 사운드가 나옴, 360 : 모든 방향으로 균일하게 퍼짐)
Min Distance최소 거리 내에서 최대 음향 유지, 넘어가면 소리가 작아짐
Max Distance사운드가 더 이상 작아지지 않는 거리

Rolloff Mode

사운드가 페이드되는 속도를 조정 (그래프)

  1. Logarithmic Rolloff : 로그 함수 형태
    • 가까우면 사운드가 크고, 멀어지면 상당히 빠른 속도로 사운드가 작아짐
  2. Linear Rolloff : 선형 함수 형태
    • 거리에 따라 일정하게 사운드가 변화
  3. Custom Rolloff : 그래프를 직접 조절하여 조정

LogarithmicLinearCustom

활용 계획

자동차 오브젝트에 Audio Source 및 스크립트를 추가
(Spartial Blend 를 1로 설정하여 3D 게임에 맞게 거리에 비례하는 사운드 효과 On)

  1. Doppler Level = 0 으로 설정
  2. Play On Awake 를 통해, 오브젝트가 생성되면 경적 사운드 를 재생 (Loop O)
  3. OnTriggerEnter() 를 통해, 플레이어를 감지하면 급 제동 사운드 를 재생 (Loop X)
  4. OnCollisionEnter() 를 통해, 충돌을 감지하면 폭발 사운드 를 재생 (Loop X)

TIL

Sound Source 의 Property 만으로도
사운드의 리버브 효과와 도플러 효과를 적용할 수 있다는 점이 매우 신기했다.

profile
안녕하세요 게임 개발하는 MINO 입니다.

0개의 댓글