유니티게임개발/기초공부

유니티(Unity) 오디오 소스(AudioSource) 플레이 함수 Play()와 PlayOneShot() 차이

디지털콘텐츠크리에이터 2024. 10. 15. 15:04

유니티(Unity) 오디오 소스(AudioSource) 플레이 함수 Play()와 PlayOneShot() 차이

유니티에서 오디오를 재생하는 데 사용되는 두함수 AudioSource.Play()와 AudioSource.PlayOneShot() 차이

AudioSource.Play()

오디오 소스에 지정된 오디오 클립(AudioClip)을 재생합니다. 새로운 Play() 호출은 이미 재생중인 클립을 취소하고 새로운 재생을 시작합니다. AudioSource는 모든 Play 함수 호출에 재생할 새 오디오 클립이 있다고 가정합니다.
https://docs.unity3d.com/ScriptReference/AudioSource.Play.html

 

Play함수를 새로 호출하면 클립이 다시 시작된 것처럼 들립니다.
AudioSource audioSource;
AudioClip clip;
audioSource.Clip = clip;
audioSource.Play(); 
yield return new WaitForSeconds(3);
audioSource.Play(); 

AudioSource.PlayOneShot()

지정된 오디오 클립(AudioClip)을 한번 재생합니다. AudioSource.Play(또는 AudioSource.PlayOneShot)에서  이미 재생 중인 클립을 취소하지 않으며 여러 번 호출해도 각각 독립적으로 재생됩니다. 짧은 효과음(SFX) 같은 클립을 재생할 때 유용합니다.
https://docs.unity3d.com/ScriptReference/AudioSource.PlayOneShot.html

여러 번 호출해도 각각 독립적으로 재생됩니다.
AudioSource audioSource;
AudioClip clip;
audioSource.PlayOneShot(clip);
yield return new WaitForSeconds(0.2f);
audioSource.PlayOneShot(clip);
yield return new WaitForSeconds(0.2f);
audioSource.PlayOneShot(clip);