[Unity] 오디오 사용하기

Learning 

When: 1학년 6월 3일

 

How:

학교에 들어오고 나서 팀 프로젝트만 해서 오디오는 잘 사용해보지 않았기 때문에 기초적인 오디오 사용법을 공부해보았습니다.

 

Understanding:

일단 오디오는 게임 오브젝트의 AudioSource 컴포넌트를 넣고, AudioClip 형식의 mp3, wav 등의 파일을 Asset 폴더에 넣어서 그 파일을 AudioSource에서 실행시키는 방식으로 사용할 수 있습니다.

AudioClip 형식의 변수를 지정해서 클립을 저장해 스크립트에서 여러 클립을 마음대로 실행시킬 수 있는데, AudioSource 컴포넌트의 설정을 알아보겠습니다.

이것이 Audio Source 컴포넌트의 설정인데, 처음꺼 부터 순서대로 설명해보겠다.

  • 실행할 오디오 클립 (Audio Clip을 넣으면 그것을 실행시켜줌)
  • 오디오 믹서에 연결해서 볼륨, 이펙트 조절할 때 사용 ( 배경음과 효과음을 따로 믹서 그룹으로 구분해서 볼륨 조절)
  • 무음으로 만들기 (재생은 되는 중)
  • 오디오 믹서의 효과 안받기
  • 오디오 리스터의 효과 안받기
  • 반향음(튕겨서 돌아오는 소리) 안받기
  • 게임 오브젝트가 활성화될 때 자동으로 실행
  • 소리가 끝나도 처음부터 계속 반복하기
  • 소리가 너무 많으면 자동으로 끊는 기능이 있는데 이것이 높으면 잘 안끊김
  • 1은 100%, 0은 0%의 크기로 재생
  • 소리의 높낮이, 2로 하면 2배 빠르고 높음, 낮으면 느리고 낮음
  • 이어폰이나 스피커에서 위치감을 표현할 때 사용, -1: 왼쪽, 0: 중앙, 1: 오른쪽
  • 0: 화면 전체에 고정된 소리, 1: 위치 기반 사운드
  • 얼마나 잔향 효과 받을지

그리고 플레이하거나 멈추는 등의 메서드도 있는데 AudioSource 타입의 변수에서 바꿀 수 있습니다.

Play() 설정된 (안에 들어가 있는) 클립을 재생
PlayDelayed(float delay) 일정 시간 기다렸다가 재생
PlayScheduled(double time) 지금부터 시작해서 PlayDelayed보다 정확한 시간까지 기다렸다가 재생
PlayOneShot(AudioClip Clip) Clip을 하나 따로 만들어서 재생 ((효과음 넣을 때 쓰기 좋음)멈추기 같은거 못함)
Pause() 일시정지
UnPause() 일시정지 풀기
Stop() 소리 즉시 정지
SetScheduledStartTime(double time) PlayScheduled랑 비슷한데 Play로 따로 호출해줘야함
SetScheduledEndTime(double time) 정확한 타이밍의 강제 종료 예약
IsPlaying (속성) 재생 중인지 확인

 

Result: 정리표를 보고 잘 활용하면 어렵지 않게 사용할 수 있습니다.