[Unity] AudioSource 정리

Lumos Velog·2025년 7월 11일
1

AudioSource

AudioSource는 유니티에서 오디오(음향)를 출력하는 역할을 담당한다.

오디오 파일(AudioClip)을 AudioSource에 할당하고, AudioSource를 통해 사운드를 재생/정지/일시정지/루프 등 다양한 제어가 가능하다.

오디오를 공간상에서 3D로 들리게 할 수도 있고, 2D로 전환하는 것도 가능하다.




주요 속성

  • Audio Clip
    재생할 오디오 파일을 할당하는 곳이다.
    WAV, MP3, OGG 등 다양한 포맷이 지원된다.

  • Output
    출력될 오디오 믹서 그룹(Audio Mixer Group)을 지정한다.
    사운드를 그룹별로 믹싱, 볼륨조절, 효과 적용 등에 활용한다.

  • Mute
    체크 시 오디오 출력이 음소거된다.

  • Bypass Effects / Listener Effects / Reverb Zones
    각종 오디오 효과(이펙트) 및 공간 효과를 우회할지 여부를 설정한다.

  • Play On Awake
    체크하면 오브젝트가 활성화되자마자(씬에 등장하자마자) 사운드가 자동 재생된다.

  • Loop
    체크 시 오디오가 끝나면 자동으로 처음부터 다시 재생된다(루프).

  • Priority
    낮을수록 더 우선해서 재생된다.
    동시에 너무 많은 사운드가 재생될 때, 우선순위가 낮은 사운드부터 자동으로 꺼진다.

  • Volume
    사운드의 크기를 설정한다(0~1).

  • Pitch
    재생 속도를 조절한다(1이 정상 속도, 2는 두 배 빠름).

  • Stereo Pan
    좌우 소리의 위치를 지정한다. -1은 왼쪽, 1은 오른쪽.

  • Spatial Blend
    0은 2D(전체 플레이어에게 균일하게 들림), 1은 3D(위치에 따라 다르게 들림)이다.
    0~1 사이 값으로 혼합도 조절 가능.

  • Reverb Zone Mix
    리버브 존(공간 효과)과의 혼합 정도를 설정한다.



주요 함수

  • Play()
    지정된 오디오 클립을 재생한다.
    기본적으로 0초부터 시작한다.

  • Stop()
    현재 재생 중인 사운드를 즉시 멈춘다.

  • Pause()
    사운드를 일시정지한다.

  • UnPause()
    일시정지된 사운드를 다시 재생한다.

  • PlayDelayed(float delay)
    지정한 시간만큼 지난 후에 사운드를 재생한다.

  • PlayOneShot(AudioClip clip, float volumeScale = 1.0f)
    지정한 오디오 클립을 한 번만 재생한다.
    PlayOneShot은 이미 다른 사운드가 재생 중이어도 겹쳐서 재생된다(즉, 기존 사운드를 끊지 않음).

public class AudioTest : MonoBehaviour
{
    public AudioSource audioSource;
    public AudioClip clip;

    void Start()
    {
        // AudioClip 지정
        audioSource.clip = clip;
        
        // 재생
        audioSource.Play();
        
        // 일시정지
        // audioSource.Pause();
        
        // 다시 재생
        // audioSource.UnPause();
        
        // 정지
        // audioSource.Stop();
        
        // 원샷 재생
        // audioSource.PlayOneShot(clip);
    }
}



3D 사운드와 Spatial Blend

AudioSource는 3D 공간에서 소리가 위치와 거리에 따라 달라지게 만들 수 있다.

Spatial Blend를 1로 두면 3D 사운드가 되고,0으로 두면 2D 사운드가 된다.

3D 사운드에서는 Min Distance, Max Distance 등의 설정도 중요하다.




주의 사항

  • AudioSource는 오브젝트마다 하나 이상 부착할 수 있다.

  • AudioSource의 위치에 따라 3D 사운드 효과가 다르게 들린다.

  • PlayOneShot은 짧은 효과음에 적합하다.

  • BGM처럼 길게 루프되는 사운드는 clip 할당 후 Play()로 재생하는 것이 효율적이다.

  • 너무 많은 AudioSource가 동시에 Play될 경우, 사운드가 끊기거나 일부가 우선순위에 따라 자동 제거된다.



0개의 댓글