Unity 오디오클립에 관한 설정 정보 페이지. Unity Docs

 

https://docs.unity3d.com/kr/2021.1/Manual/class-AudioClip.html

 

오디오 클립 - Unity 매뉴얼

오디오 클립 은 오디오 소스가 사용하는 오디오 데이터를 포함합니다. Unity는 모노, 스테레오 및 멀티 채널의 오디오 에셋(최대 여덟 개 채널)을 지원합니다. Unity에서 임포트할 수 있는 오디오

docs.unity3d.com

 

현재 사용하고 있는 배경 음악이 기본 사이즈가 19 MB에 해당하는데, 매우 큰 용량이다. 

진행중인 작업이 모든 소스들의 경량화인데, 오디오 소스가 매우 커다란 용량을 차지하고 있다. 

이때에 스프라이트에 적용하듯이, 사용자가 인지하는 퀄리티를 크게 저해하지 않으면서 용량을 줄이기 위해서 유니티 자체에서 제공하는 여러가지 압축 방법들을 잘 선택해서 적용하면 기존에 19 mb 에 해당하는 아주 커다란 용량의 배경음악을 ( 이 경우 2분짜리 배경 클립) 1.0 mb 까지 줄일 수 있었다. 추가적으로 더 줄여 보기 위해서 노력해볼 생각이지만 일단 이렇게나 큰 차이를 만들 수 있다는걸 알아두도록 하고, 차후에도 가장 적절한 수준으로 압축하는 것을 신경쓰면서 최적의 설정을 찾아보도록 하자. 

 

이와 관련해서 위에서 첨부해놓은 페이지들을 확인하면, 오디오 클립에서 선택할 수 있는 개별 선택지들이 어떠한 기능을 하는지에 대해서 알 수 있고, 어떠한 경우에 선택하는것이 유리한지에 대해서도 확인할 수 있다. 오디오 클립에 대해서 다시 손볼때에 또 위의 문서를 확인해보면서 설정의 완성도를 높여 나가보도록 하자. 

 

 

<Compression Format> 을 PCM 으로 하면 imported Size 가 원본 사이즈인 19.7mb 가 되는데, 

compression format 을 vorbis 로 선택하고 퀄리티를 낮추면 imported Size 를 1.0mb 까지 낮출 수 있다. 

 

이와 관련하여서 압축과 재생에 관련된 부분을 GPT-4o 에 검색해보았고 해당 내용을 첨부한다 (24_5_18_ 토요일. gpt-4o에 대한 접근이 허용되어서 사용하기 시작함. 굉장히 생성 속도가 빠르고 내용이 보기에 편하게 구성되어 있음) 

 


Vorbis 오디오 압축과 해제는 주로 Unity 엔진 자체가 담당합니다. 구체적으로 설명하자면:

### 압축과 해제를 담당하는 로직

1. **Unity 엔진 내의 오디오 시스템**:
   - Unity 엔진은 내장된 오디오 시스템을 통해 다양한 오디오 포맷을 지원하며, Vorbis 압축 및 해제를 처리할 수 있는 기능을 포함하고 있습니다.
   - Unity는 프로젝트 빌드 시 Vorbis 형식으로 압축된 오디오 파일을 생성하고, 게임 실행 시 이 파일들을 실시간으로 디코딩하여 재생합니다.

2. **재생 시 디코딩**:
   - 게임이 실행되면, Unity의 오디오 시스템이 Vorbis 파일을 메모리에 로드하고, 재생할 때 실시간으로 디코딩합니다. 이 과정은 Unity의 오디오 엔진 내부에서 처리되며, 운영체제의 기본 오디오 디코딩 기능을 사용하는 것이 아니라 Unity의 자체 구현을 사용합니다.

### 운영체제와의 관계

- **운영체제의 역할**:
  - 운영체제는 Unity 애플리케이션이 실행될 수 있도록 환경을 제공하며, Unity가 요청하는 메모리 할당, 파일 시스템 접근, CPU 자원 등을 관리합니다.
  - 그러나 Vorbis 파일의 압축 해제 및 디코딩 로직 자체는 Unity 엔진 내에서 수행됩니다. 운영체제는 이러한 작업을 직접 수행하지 않고, Unity가 필요한 자원을 효율적으로 사용할 수 있도록 지원합니다.

### Unity와 Vorbis

- **Unity 엔진의 기능**:
  - Unity는 오디오 파일을 임포트할 때, Vorbis로 압축하여 빌드에 포함합니다.
  - 게임 실행 시, Unity의 오디오 시스템이 이 압축된 파일을 디코딩하여 PCM 데이터로 변환하고 재생합니다.

- **성능 최적화**:
  - Unity는 Vorbis 디코딩을 최적화하여 실시간 재생 시 성능 영향을 최소화합니다. 이는 Unity의 오디오 엔진이 효율적인 코드를 사용하여 압축 해제를 빠르게 수행할 수 있도록 설계되었기 때문입니다.

### 요약

Vorbis 압축과 해제는 Unity 엔진의 오디오 시스템에 의해 처리됩니다. 운영체제는 Unity 애플리케이션이 실행되는 환경을 제공하지만, Vorbis 파일의 압축 및 디코딩 로직은 Unity 엔진 내에 포함되어 있습니다. Unity는 이러한 작업을 최적화하여 게임 성능에 미치는 영향을 최소화합니다.

 


 

나중에 내가 출시한 프로덕트를 리버스 엔지니어링을 이용해서 역설계 해본뒤에, 해당 음악 소스가 역설계시에 어떠한 퀄리티로 추출되는지 확인해보고 해당 정보를 추가로 기입해보도록 하겠다. 사용자의 디바이스에서 어느정도의 수준으로 도달되고 부하를 주는지 확인해보도록 하자. 

 

++++

참고할만한 정보들이 모여있는 블로그 글 첨부 

 

https://blog.naver.com/PostView.naver?blogId=ckdduq2507&logNo=222113891105

 

유니티(Unity) 사운드 최적화 가이드

  1. 3D Sound Settings 사운드 파일이나 Audio Source 컴포넌트를 붙이게 되면 3D Sound Set...

blog.naver.com

 

https://jwidaegi.blogspot.com/2019/07/unity-sound.html

 

Unity Sound 설정

모바일 게임을 제작하다 보면, PC-에디터에서는 잘 나오던 게임 사운드가 핸드폰에서는 밀려 나오는 경우를 종종 겪을 수 있다. 이런 상황을 해결하기 위한 설정값을 기록해 둔다. 출처 :  https://

jwidaegi.blogspot.com

 

 

  Comments,     Trackbacks