에디터 상에서는 소리가 잘 나왔는데,
막상 모바일로 빌드해보면 소리가 약간 늦게 나온다거나 하는 현상이 있다.
기본 설정에서는 빌드할 때는 오디오 파일을 압축해서 재생할때 플레이 하게 되는데
이 때 걸리는 시간이 오디오 딜레이 현상의 원인.
또한 프로젝트쪽에서 오디오 버퍼를 설정하는 것으로도 개선의 여지가 있다고 함.
1. 프로젝트 세팅에서 오디오 버퍼 세팅 조정
Edit - ProjectSettings - Audio 에서
DSP Buffer Size를 Best Performance -> Best latency로 설정
2. 개별적인 오디오마다 임포트 세팅 설정
1) Force To Mono(모노 강제조정) :
채널을 하나만 사용한다. 최적화를 중시한다면 체크 / 사운드의 퀄리티를 원한다면 언체크
2) Load In Background(지연된 로딩) :
배경음악이라면 체크 / 타이밍에 맞춰 재생하는 효과음이라면 언체크
3) Load Type
(1) Decompress On Load : 미리 메모리에 통채로 올려놓고 바로바로 읽어낼 수 있음. 효과음에 사용.
레이턴시가 제일 적다. 하지만 메모리를 엄청먹으니 PCM하고만 같이 사용할 것을 추천함.
(2) Compressed In Memory : 압축 상태로 메모리에 올려놓고 읽을 때 압축 풀어서 재생함. 보이스 사운드 등에 사용
(3) Streaming : 필요할때 실시간으로 읽어냄. 레이턴시가 상관없는 보통 배경음악에서 사용
4) Compression Format
(1) PCM : 최고품질 / 용량 큼 / Load Type은 Decompress On Load로 하자
(2) ADPCM : 중간 품질 / 용량 중간
(3) Vobis : 최저품질 / 용량 작음
5) Quality(음질) : Vobis의 최종적인 음질을 결정함. ( 100%면 의미없고 보통 70%정도 )
결론
1) 배경음악 : Load In Background 체크
- Load Type : Streaming
- Compression Format : Vobis (퀄리티에 따라 다르지만 보통 70-80%)
2) 타이밍 중요한 효과음 :
- Load Type : Decompress Decompress On Load
- Compression Format : PCM
3) 보이스 혹은 타이밍 적당히 중요한 효과음 :
- Load Type : Compressed In Memory
- Compression Format : ADPCM
4) 딜레이가 있어도 상관없는 효과음 :
- Load Type : Compressed In Memory
- Compression Format : Vobis
# 21.03.03 추가
- 유니티 서울 2020의 최적화 팁에서 가이드 라인을 마련해줌.
- iOS : 단순효과음 - ADPCM / 배경음 - MP3
- Android : Vorbis
- 200kb미만 : Decompress On Load
- 200kb이상 : Compressed In Memory
- 1mb 이상 : Streaming
- 압축해제를 위한 버퍼가 200kb가 할당되기때문에 200kb 미만은 그냥 압축을 풀어서 사용 하는 편이 메모리 사용량을 절약할 수 있다.
'🌍 Unity > 최적화' 카테고리의 다른 글
Unity MaterialPropertyBlock (1) | 2020.03.16 |
---|---|
유니티 Sprite / UI OverDraw 최적화 (0) | 2019.08.11 |
Unity Postprocessing stack v2 / Camera effect / image Effect (0) | 2018.12.29 |
유니티 스프라이트 UI 최적화 관련 메모 / Unity Sprite UI Optimize (0) | 2017.10.03 |
이펙트 드로우 콜에 대하여 (0) | 2017.05.21 |