버전
다음 섹션을 읽어보세요. 이 섹션에서는 오디오 개발 과정에서 플랫폼과 언어 버전을 관리하는 데에 도움이 되는 팁과 모범 사례를 제공합니다.
컨테이너와 같은 높은 레벨의 오브젝트를 우클릭한 후 바로가기 메뉴에서 Convert를 선택하면 여러 개의 오디오 파일을 동시에 변환할 수 있습니다. 오브젝트 그룹 전체에 Conversion Settings를 적용하고 싶을 경우 최상위 오브젝트를 우클릭하여 바로가기 메뉴에서 Conversion Settings를 선택하세요. 또한 Project Explorer에서 오브젝트를 일괄 선택한 후 Conversion Settings를 정의하거나 동시에 변환할 수 있습니다.
스튜디오가 게임을 개발할 때에는 보통 각 플랫폼을 검토하고 나서 메모리 사용 공간, CPU, 대역폭 등에 '예산'을 할당합니다. 오디오 팀에게 이 예산의 일부가 주어지며 각 플랫폼별로 예산을 효율적으로 관리하는 것은 오디오 팀에게 달려 있습니다. 플랫폼에 따라 이러한 허용량이 다르기 때문에 오디오 디자이너는 이러한 차이를 효율적으로 절충하는 동시에 다양한 Conversion Settings를 사용해서 훌륭한 사운드를 전달하는 방법을 이해해야 합니다. Game Profiler를 통해 게임에서 프로젝트의 성능을 모니터링하고 예산에 따라 필요한 대로 Conversion Settings를 조정하면 작업이 잘 되고 있는지 확인할 수 있습니다.
오디오 포맷도 반드시 예산에서 고려해야 합니다. Wwise에서 지원하는 각 포맷의 특성을 확인하면 프로젝트에 알맞은 선택을 하는 데에 도움이 됩니다. 일반적으로 파일이 덜 압축(compress)될수록 필요한 처리 능력도 적어집니다. 하지만 압축되지 않은 파일은 보통 더 많은 메모리나 디스크 공간을 차지합니다.
다음 표는 오디오 파일 인코딩 방식을 결정하는 데에 도움을 주는 기본적인 권장 사항과 정보를 제공합니다.
파일 포맷 |
압축 비율 |
CPU |
Memory |
일반적인 용례 |
한계 |
---|---|---|---|---|---|
PCM |
1:1 |
아주 낮음 |
높음 |
높은 음질이 필요한 사운드. |
없음. |
ADPCM |
4:1 |
낮음 |
보통 |
환경음과 효과음. |
64 샘플 경계에서만 반복 재생. |
Vorbis |
3~40:1 |
보통에서 높음 |
보통 ~ 아주 낮음 |
대사, 음악, 환경음, 효과음. |
다른 포맷보다 메타데이터 오버헤드가 약간 더 크기 때문에 아주 짧은 사운드(수십 밀리초 미만)에는 사용하지 말아야 함. 빠른이동에 사용할 빠른이동 테이블(seek table)이 필요함. |
WEM Opus |
10~60:1 |
높음 (하드웨어로 가속되지 않을 때), 아주 낮음 (하드웨어로 가속될 경우) |
보통 ~ 아주 낮음 |
대사, 단순한 음악, 환경음, SFX. | 제한 사항은 플랫폼 성능에 따라 다릅니다. 더 자세한 내용은 아래 “How platform capabilities influence WEM Opus limitations and trade-offs”를 봐주세요. |
기본적으로 Vorbis 인코더의 Seek table granularity (sample frames) 즉, 빠른이동 테이블의 세분성은 16384로 설정되어 있습니다. 빠른이동 테이블이 항상 필요한 것은 아니지만 다음 상황에서는 반드시 필요합니다.
'From Elapsed Time(경과한 시간에서부터 재생)'으로 설정된 가상 보이스에 Vorbis 인코더를 사용할 경우.
상호작용 음악 파일에 Vorbis 인코더를 사용할 경우, 특히 사운드 엔진이 파일의 시작 부분이 아닌 다른 곳에서부터 파일 읽기를 시작해야 하는 경우.
Seek Action과 함께 Vorbis 인코더를 사용할 경우.
선택된 Vorbis 파일의 빠른이동 테이블을 활성화하려면 다음과 같이 따라하세요.
Conversion Settings 대화 상자에서 Vorbis 인코더를 사용하는 플랫폼의 Edit를 클릭합니다.
Vorbis Encoder Parameters 대화 상자에서 Seek table granularity 목록에서 숫자를 선택하여 세분성(granularity)을 지정합니다.
빠른이동 테이블의 세분성이 더 작을수록 더 많은 메모리를 필요로 합니다. 샘플 단위로 정확해야 하는 빠른 이동 (상호작용 음악이나 빠른 이동 동작)은 세분성이 너무 클 경우 CPU가 급격히 치솟을 수 있으며, 디스크 스트리밍 세분성보다 더 클 경우 비효율적인 I/O 사용이 일어날 수 있습니다. 일반적으로 초기화 도중 AkDeviceSettings::uGranularity
에서 사용되는 값인 디스크 스트리밍 세분성보다 작거나 동일한 시크 테이블 크기를 선택하는 것이 좋습니다.
참고 | |
---|---|
파일이 Seek table granularity보다 작거나 거의 비슷할 경우 빠른이동에 실패할 수 있습니다. 그럴 경우 Seek table granularity를 줄이세요. |
WEM Opus는 디코딩 작동 방식이 플랫폼의 성능에 따라 다르다는 점에서 특별합니다. 특히, WEM Opus는 하드웨어 가속이 지원되는 플랫폼에서 하드웨어 가속을 사용하려고 시도합니다. 그렇기 때문에 제한 사항 (그리고 전반적인 유용성)이 대상 플랫폼에 따라 다릅니다.
대부분의 플랫폼에서 WEM Opus는 CPU에서 디코딩됩니다. 이 경우 압축이 더 뛰어난 대신 Vorbis보다 CPU 사용량이 전반적으로 높다는 제약이 있습니다.
대상 플랫폼이 Opus 하드웨어 가속을 지원할 경우 이 제한 사항은 사라지며, 심지어 빠른 이동할 경우에도 CPU 사용량이 아주 낮아집니다. 이러한 플랫폼의 경우, Wwise 사운드 엔진이 초기화 도중 레이턴시가 낮은 하드웨어를 켜고 끌 수 있는 옵션을 제공합니다.
레이턴시가 적은 디코딩이 비활성화되어 있을 경우, WEM Opus 재생이 한 오디오 프레임 늦게 재생을 시작할 수 있습니다 (보통 10.6ms로 기본 설정됨). 빠른 이동 작업에서도 비슷한 지연이 일어나게 됩니다.
레이턴시가 적은 디코딩이 활성화되어 있을 경우, WEM Opus에서 위에서 설명한 추가 레이턴시가 일어나지 않게 됩니다. 하지만 동시에 WEM Opus로 인코딩된 사운드를 너무 많이 재생할 경우 보이스 기아 상태가 일어날 확률이 높아집니다. 그 이유는 사운드 엔진이 다른 사운드를 함께 믹싱하기 전에 플랫폼의 하드웨어가 디코딩을 마칠 때까지 기다려야 하기 때문입니다.
이 옵션은 전역적으로 설정되며 개별 사운드에서 켜거나 끌 수 없다는 점을 주의하세요. 프로젝트의 특정 사용 사례에 따라 절충 사항을 신중하게 고려해야 합니다.
대상 플랫폼이 Opus 하드웨어 가속을 지원하는지의 여부와 레이턴시가 낮은 디코딩을 켜고 끄는 방법은 해당 플랫폼의 SDK 설명서 페이지를 참고해 주세요.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요