Unity C# > 컴포넌트 : Audio 관련 컴포넌트들과 프로퍼티/함수 모음

Date:     Updated:

카테고리:

태그:

공부하면서 알게된 것만 정리합니다.😀

👩‍🦰 Audio Source

wav 파일이나 mp3파일을 재생시키는 컴포넌트. 마치 카세트 같은 것. 테이프로 쓸 오디오 클립(mp3 파일)만 넣어주면 된다.

🚀 에디터

  • Play On Awake : 게임 시작하자 마자 재생할건지
  • Loop : 음악이 끝나도 다시 반복할건지
  • Pitch : 재생 속도
  • Volume : 재생 소리 크기
  • 3D Sound Settings
    • Min Distance
      • 이 컴포넌트가 붙은 오브젝트를 기준으로 하여 Min Distance 내에서는 최고 음량을 유지한다. (이 거리 내에선 돼지 소리가 최대로 들림)
      • 이 컴포넌트가 붙은 오브젝트를 기준으로 하여 Min Distance 을 벗어나면 서서히 음량이 감소한다. (벗어나면 돼지 소리가 거리에 따라 서서히 작게 들리기 시작)
    • Max Distance
      • 이 컴포넌트가 붙은 오브젝트를 기준으로 하여 Max Distance 내에서는 서서히 음량이 감소한다. (이 거리 내에선 거리에 따라 돼지 소리가 서서히 작게 들리기 시작)
      • 이 컴포넌트 오브젝트를 기준으로 하여 Max Distance 을 벗어나면 소리가 완전히 들리지 않는다. (벗어나면 돼지 소리가 아예 들리지 않음)

image

작은 원이 Min Distance 범위이고 큰 원이 Max Distance 범위다. Min Distance 거리 내에 있을 땐 돼지의 Audio Source 가 재생하는 소리를 최대 볼륨으로 들을 수 있으며 Min Distance ~ Max Distance 범위 안의 거리에서는 돼지의 소리가 거리에 반비례하여 들린다. 멀 수록 돼지 소리가 작게 들림. Max Distance 거리 밖에서는 돼지의 소리를 아예 들을 수가 없게 된다.

  • 디버그 모드
    • Pan Level Custom Curve
      • 1 에 가까운 커브일 수록 3 D 로 소리를 재생한다.
        • 가까이 있을 수록 크게, 멀리 있을 수록 작게
      • 0 에 가까운 커브일 수록 2 D 로 소리를 재생한다.
        • 거리에 따른 볼륨 차별화가 없음.


🚀 함수

✈ Play

public void Play(ulong delay = 0);

  • 클립을 재생. 단, 인수를 필요로 하지 않으므로 미리 clip에 재생시킬 클립이 할당 되어 있어야 한다.
  • 소리를 중첩시키지 않기 때문에 이미 재생 중이었던 소리는 중지 시킨후 자신의 클립을 재생시킨다.


✈ PlayOneShot

public void PlayOneShot(AudioClip clip, float volumeScale = 1.0F);

  • 클립을 1회 재생. 단 Play()와는 다르게 재생시킬 clip을 인수로 받는다.
  • Play()와는 다르게 소리를 중첩해서 재생할 수 있다. 이미 재생 중이었던 소리를 중지시키지 않은 채로 자신의 클립을 같이 그 위에 재생시킨다.
  • 던져지는 개념이라 Play() 와 달리 중간에 멈출 수가 없다. 한번 던져지면 재생기 Audio Source가 꺼지는게 아닌 이상 끝까지 재생된다.


✈ PlayClipAtPoint

public static void PlayClipAtPoint(AudioClip clip, Vector3 position, float volume = 1.0F);

거리에 따라 사운드 크기가 달라야 경우에는 오브젝트에 Audio Source 를 붙여야한다. 그 오브젝트 자체가 소리의 진원지가 될 수 있도록!

  • 오브젝트에 Audio Source 를 붙인다.
  • 근데 반드시 꼭 Audio Source 달고 있는 오브젝트에서만 소리가 나야하는건 아니다! 다른 좌표에서도 소리를 재생하게 할 수 있다. 그 함수가 바로 PlayClipAtPoint
    audioSource.PlayClipAtPoint(clip, new Vector3(5, 1, 2));
    


👩‍🦰 Audio Listner

Audio Source가 소리를 발생시키는 근원지라면 Audio Listner 컴포넌트는 소리를 듣는 관객, 듣는 사람, 귀.

한 Scene 안에 하나만 있으면 된다. 이게 있어야 소리를 들을 수 있다. Main Camera에 기본적으로 붙어있다.

  • 좀 더 3 D 현실감을 주고 싶다면 플레이어의 귀 부분에 Audio Listener 컴포넌트를 달 수도 있겠다!
  • 단, 활성화 되어 있는 Audio Listener 컴포넌트 월드에서 하나만 존재해야 하기 때문에 이럴땐 메인 카메라의 Audio Listener 컴포넌트를 비활성화 해주자.


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

UnityDocs 카테고리 내 다른 글 보러가기

댓글 남기기