AudioSource는 유니티에서 오디오(음향)를 출력하는 역할을 담당한다.
오디오 파일(AudioClip)을 AudioSource에 할당하고, AudioSource를 통해 사운드를 재생/정지/일시정지/루프 등 다양한 제어가 가능하다.
오디오를 공간상에서 3D로 들리게 할 수도 있고, 2D로 전환하는 것도 가능하다.
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);
}
}
AudioSource는 3D 공간에서 소리가 위치와 거리에 따라 달라지게 만들 수 있다.
Spatial Blend를 1로 두면 3D 사운드가 되고,0으로 두면 2D 사운드가 된다.
3D 사운드에서는 Min Distance, Max Distance 등의 설정도 중요하다.
AudioSource는 오브젝트마다 하나 이상 부착할 수 있다.
AudioSource의 위치에 따라 3D 사운드 효과가 다르게 들린다.
PlayOneShot은 짧은 효과음에 적합하다.
BGM처럼 길게 루프되는 사운드는 clip 할당 후 Play()로 재생하는 것이 효율적이다.
너무 많은 AudioSource가 동시에 Play될 경우, 사운드가 끊기거나 일부가 우선순위에 따라 자동 제거된다.