개념공부

Unity에서 Sound의 기본 개념

Cadi 2024. 12. 24. 00:32

Sound의 주요 컴포넌트

1. Audio Listener

  • 사운드를 '듣는' 역할
  • 씬 상 하나만 존재해야 함 ( 일반적으로 카메라에 추가)
  • 소리가 발생하는 위치와 방향을 계산해 리스너 기준으로 소리를 출력

2. Audio Source

  • 사운드를 '재생' 하는 역할
  • Audio Source는 소리, 크기, 반복 여부 등을 정의
  • 오디오 클립 연결 , 속성 제어

3. Audio Clip

  • 실제 재생되는 사운드 데이터
  • WAV, MP3 , OGG 등의 파일 형식

AudioSource의 주요 속성과 메서드

 

속성

  • audioSource.clip : 재생할 Audio Clip을 설정
  • volume : 오디오 볼륨 (0.0~1.0)
  • pitch :재생 속도 (-3.0~3.0), 기본값 1.0)
  • loop : 오디오를 반복할지 여부(true/false)
  • spatiaBlend : 2D/3D 오디오 간의 비율 // 완전한 2D사운드(0.0) ~ 완전한 3D 사운드(1.0)

 

 

메서드

  • Play() : 오디오 클립을 처음부터 재생
  • Stop() : 현재 재생 중인 오디오를 정지
  • Pause() : 오디오를 일시 중지
  • UnPause() : 일시 중지된 오디오를 다시 재생
  • PlayDelayer(float delay) :오디오를 지연 후 재생
  • PlayOneShot(AudioClip clip, flaot volumeScale = 1.0f) : 특정 오디오 클립을 한 번 재생/(겹치기가능)
  • PlayScheduled(double time) : 특정 시간에 오디오를 재생
  • SetScheduledEndTime(double time) : 재생 중인 오디오를 특정 시간에 멈춤
  • SetFloat() : Mixer의 파라미터 값을 설정

3D 관련 속성

  • spatialBlend : 2D 사운드는(0.0) 리스너와 상관 없이 균일하게, 3D 사운드(1.0)은 위치에 따라 감쇠하며 들림
  • minDistance/maxDistance : 최소/최대 거리에서 감쇠를 제어 (최대 볼륨, 볼륨의 한계선)
  • aumdioSource.spatialBelend,minDistance,maxDistance로 제어 가능
  • dopplerLevel: 소리가 이동 속도에 따라 변조됨(1.0f, 가 기본값 높을수록 효과가 강함)

 

추가적인 정보들

  • Audio Mixer를 생성해 사운드를 믹싱하고 볼륨 피치 등  효과를 추가할 수 있음
  • Reverb zZone 컴포넌트를 사용하여 특정 영역에서 잔향을 추가하거나 Low Pass/High Pass Filter로 
    저주파/고주파만 통과하게 할 수 있음
  • Audio Distortion Filter 로 소리를 왜곡하여 특수 혀과 생성 가능

 

전체 게임의 사운드를 관리하는 Singleton 패턴을 사용하면 편리하게 관리 가능.

긴 음악은 스트리밍 모드로 로드, 오디오 풀링으로 Audio Source 재활을 해 최적화를 할 수 있음.

'개념공부' 카테고리의 다른 글

Singleton in Unity  (1) 2025.01.01
About UI ( with Unity)  (1) 2024.12.27
Unity Camera  (0) 2024.12.23
Gizmos 관련 메서드  (0) 2024.12.23
Unity Animation with method  (1) 2024.12.22