버전

menu_open
Wwise SDK 2024.1.0
중요한 마이그레이션 참고 사항 2019.2

2019.2 버전 새로운 기능이 추가됨에 따라, Wwise 2019.2(으)로 마이그레이션할 때 다음 사항에 주의하시기 바랍니다.

Visual Studio 2013 추후 버전에서는 사용 중단

더 이상 Visual Studio 2013을 지원하지 않기 때문에, 사운드 엔진의 Windows 런타임 DLL의 프리컴파일된 버전을 위해선 Visual Studio 2017용 Windows SDK로 Wwise를 설치해야 합니다.

Visual Studio 2019로 Authoring 빌드

이제 Authoring(저작)을 빌드하는데 Visual Studio 2015 대신 Visual Studio 2019를 사용합니다. Visual C++ 재배포는 Visual Studio 2015, 2017 및 2019에도 동일하게 적용되므로 플러그인 개발시 이 중 어느 것을 택해 컴파일하든 상관 없습니다. 참고로, Audiokinetic은 Visual Studio 버전 16 기반의 vc160에 Visual Studio 2019 툴셋을 참조합니다. 그러나 툴셋의 공식 버전은, Visual Studio 2015 툴셋 (vc140) 및 2017 (vc141)과 호환되는 vc142입니다. 동일한 이유로 Audiokinetic은 vc141을 참조할 때 vc150을 사용합니다.

C++11 컴파일러 필요

올바른 컴파일을 위해 이제 Wwise SDK 헤더는 유효한 C++11을 필요로 합니다. 지원되는 컴파일러 목록은 플랫폼 요구 사항 을 참고하세요.

UTF-8 인코딩

Wwise Authoring 애플리케이션이 생성하는 텍스트 파일의 인코딩 형식이 이제 UTF-8이 되었습니다. ANSI와 Unicode 중에서 인코딩 형식을 선택하는 옵션은 삭제되었습니다. 선/후-SoundBank 생성을 위해 제공되던 내장 매크로 ContentFileFormat 는 추후 버전에서 사용 중단되어 삭제될 예정입니다. 2019.2 버전에서는 항상 'Unicode' 값을 제공하게 됩니다. 또한, SoundFrame으로 전달된 SoundBank 생성 설정은 AK::SoundFrame::SoundBankGenerationSettings::eContentTxtFileFormat 을 무시하고 AK::SoundFrame::SoundBankContentTxtFileFormat_UNICODE 를 기본 설정으로 합니다.

PluginInfo.json 형식

사운드뱅크의 PluginInfo.json 메타데이터 파일이 이제 다른 형태로 구성됩니다. 'Plugin'은 이제 중복되는 키로 맵 안에 맵이 아닌, 맵 안에 배열로 됩니다. 일부 JSON 리더가 이전 형식에서는 데이터를 제대로 파싱할 수 없었습니다.

새로운 메모리 관리자

Memory 카테고리 교체 및 메모리 풀 확장 에 변경된 내용에 따라, 몇몇 관련 인터페이스가 수정되었습니다.

AK::MemoryMgr 인터페이스 (AkMemoryMgr.h) 관련 변경사항:

그 밖에 다른 인터페이스에서 풀 삭제로 인한 변경 사항:

  • AK::SoundEngine::LoadBankAK::SoundEngine::UnloadBank 수정: 좀 더 명확한 표현을 위해 '메모리에서' 오버로드된 AK::SoundEngine::LoadBankMemoryViewAK::SoundEngine::LoadBankMemoryCopy 로 이름 변경.
  • AkCommSettings::uPoolSize 삭제.
  • AkInitSettings::uDefaultPoolSize, AkInitSettings::fDefaultPoolRatioThreshold, AkInitSettings::uPrepareEventMemoryPoolID, AkInitSettings::uMonitorPoolSize 삭제.
  • AkPlatformInitSettings::fLEngineDefaultPoolRatioThreshold 와 AkPlatformInitSettings::uLEngineDefaultPoolSize 삭제.
  • AkStreamMgrSettings::uMemorySize 삭제.
  • AK::StreamMgr::GetPoolID 삭제.

I/O 개선 사항

AK::IAkStdStream 의 커스텀 구현을 사용하고 있다면, 해당 인터페이스에 명시된 새로운 함수인 AK::IAkStdStream::WaitForPendingOperation() 를 반드시 구현해야 합니다. 이는 처리를 차단해 보류 중인 I/O가 완료되었을 때에만 반환하며, 스트림의 새로운 상태를 반환합니다.

Wwise Spatial Audio 마이그레이션 안내

Wwise 2019.2에는 Spatial Audio의 기존 수정 사항이 포함돼있습니다. 이번 릴리즈 버전은 작업 과정을 간소화하고 Spatial Audio의 통합과 사용을 단순화시키며 성능과 확장성을 크게 향상시켰습니다. 안타깝게도 이런 수정 사항들로 인해 2019.2와 직접적인 연관성이 없는 2019.1의 기존 프로젝트와 일부 기능이 지장을 받을 수 있으며, *수작업 마이그레이션*이 필요할 수 있습니다. 이 안내서는 2019.1에서 2019.2로 전환하려는 사용자들에게 중요한 길잡이가 되어 왜 이러한 수정이 필요했는지, 그리고 이로 인해 전반적인 사용 측면에서는 어떤 이점이 있는지에 대한 이해를 돕습니다.

저작 도구에서 직접 Spatial Audio의 환경 설정하기

Wwise의 가장 큰 핵심은 사운드 디자이너에게 힘을 실어주어 프로그래머에 대한 의존도를 낮추는 것으로, 게임 엔진이 아니라 Wwise 저작 도구에서 디자이너들이 스스로 Spatial Audio 환경 설정을 직접 구성할 수 있도록 만드는 것은 지극히 당연한 일입니다. 다음은 Wwise 내 사운드와 버스 오브젝트에 추가된 속성들입니다.

  • Early Reflections Aux Bus. 초기 반사 처리에 대해 이 사운드가 전송할 Auxiliary Bus를 설정합니다. 초기 반사를 렌더링하기 위해 해당 버스는 효과로 삽입된 Wwise Reflect 플러그인을 가져야 합니다. 유효한 초기 반사 버스를 설정하면 Spatial Audio 런타임에 이 사운드의 반사 처리가 활성화됩니다. 이 입력란은 초기 반사를 생성하지 않는 사운드를 위해 비워두어야 합니다.
    • 참고: 이 입력란은 할당되지 않은 채 남겨둘 수 있으며, 대신 초기 반사 버스는 새로운 API인 AK::SpatialAudio::SetEarlyReflectionsAuxSend() 를 통해 게임 오브젝트를 기반으로 설정할 수 있습니다.
  • Early Reflections Send Volume. Early Reflections Aux Bus가 지정한 초기 반사 버스의 센드 볼륨을 설정합니다.
    • 참고: 초기 반사 센드 볼륨은 새로운 API인 AK::SpatialAudio::SetEarlyReflectionsVolume() 를 통해 게임별 오브젝트 기반으로 설정할 수 있습니다. 이 함수로 전달되는 값은 저작 도구에서 사운드별로 설정된 볼륨과 결합됩니다.
  • Enable Diffraction. 이 사운드에 대해 회절 처리를 활성화합니다. 이 체크 상자를 선택하면 다음과 같이 동작합니다.
    • 포털을 관통하는 경로와 지오메트리 모서리를 지나는 경로를 포함, 사운드 이미터와 Spatial Audio 리스너 간 회절 경로를 계산합니다.
    • 회절 계수에 따라 방해(obstruction) 값을 설정합니다.
    • 회절 계수에 따라 Diffraction 내장 게임 매개 변수를 설정합니다.
    • 계산된 가상 사운드 위치에 따라, 사운드를 패닝하고 감쇠하는 데 복수 위치 지정을 사용합니다. 여기서 중요한 점은, Spatial Audio 환경 설정이 이제 *사운드별로 지정*된다는 것입니다. 이전에는 동일한 게임 오브젝트에서 재생중인 두 사운드를 서로 다르게 설정할 수 없었습니다. 유일한 해결 방법은 새로운 이미터 설정으로 게임 오브젝트를 추가로 생성하는 것이었습니다.

이미터 등록 삭제

이제 프로젝트에서 직접 설정 내용을 지정할 수 있게 됨에 따라, Spatial Audio 속성을 정의하고 그에 따라 처리가 필요한 오브젝트에서 사운드가 언제 재생될 것인지를 Spatial Audio 런타임에서 알 수 있습니다. 이와 함께, 더 이상 게임 오브젝트를 'Spatial Audio Emitter'로 등록할 수 없게되었으며, AkEmitterSettings 또한 삭제되었습니다. 더 접근하기 쉽고 사용이 편리한 Spatial Audio를 만들기 위한 노력의 일환으로서, AkEmitterSettings 보다 적게 저작 도구에 fewer settings 이 있습니다. 다음은 AkEmitterSettings 의 각 필드를 마이그레이션하고 이 새로운 값을 Wwise 프로젝트에서 어디에 설정할 것인지 알려주는 가이드입니다.

  • name. 더 이상 적용되지 않습니다. 대신 사운드 엔진에 게임 오브젝트를 등록할 때 디버그 이름을 사용합니다.
  • reflectAuxBusID. 이제 사운드별 기반으로 Wwise 저작 도구에서 지정됩니다. 초기 반사 버스가 사운드와 버스에 대해 일반 설정(General Settings) 탭에서 정의되는 것으로 변경되었습니다.
  • reflectionMaxPathLength. 더 이상 필요하지 않습니다. 이제 Spatial Audio 설정이 있는 사운드가 지정한 감쇠 곡선에 Spatial Audio가 접근할 수 있게 되었으며, 곡선의 최대 거리가 반사 거리 휴리스틱에 사용됩니다.
  • reflectionsAuxBusGain. 이제 Wwise 저작 도구에서 사운드별 기반으로 지정됩니다. 초기 반사 센드 볼륨이 사운드와 버스에 대해 일반 설정(General Settings) 탭에서 정의되는 것으로 변경되었습니다.
  • reflectionsOrder. 이제 반사 순서가 Spatial Audio init 설정으로 전달되는 전역 설정으로 되었으며, 더 이상 게임 오브젝트 단위로 사용할 수 없게 되었습니다. Wwise 2019.2의 새로운 반사 엔진은 높은 차수의 반사를 훨씬 더 효율적으로 처리할 뿐만 아니라씬 안의 이미터 개수에 훨씬 덜 민감합니다. 모든 이미터의 반사는 한 번에 효율적으로 계산되어, 각 이미터별로 반사 순서를 지정할 필요가 없어졌습니다.
  • reflectorFilterMask. 이 기능은 차용이 제한적이고 성능에 유해한 영향을 끼치는 이유로 Wwise 2019.2에서 삭제되었습니다.
  • roomReverbAuxBusGain. 센드 레벨을 공간 보조 버스로 변경하고, 저작 도구의 General Settings 탭에서 게임 정의 센드 볼륨을 수정합니다.
  • diffractionMaxEdges. 특정 사운드에 대해 회절을 활성화하고, 저작 도구의 Positioning 탭에서 Enable Diffraction 체크 상자를 설정합니다. Wwise 2019.2에서 최대 모서리 매개 변수가 이제 전역적으로 설정됩니다.
  • diffractionMaxPaths. 특정 사운드에 대해 회절을 활성화하고, 저작 도구의 Positioning 탭에서 Enable Diffraction 체크 상자를 설정합니다. Wwise 2019.2에서 최대 경로 매개 변수는 이제 컴파일 타임 상수입니다.
  • diffractionMaxPathLength. 더 이상 필요하지 않습니다. 이제 Spatial Audio 설정이 있는 사운드가 지정한 감쇠 곡선에 Spatial Audio가 접근할 수 있게 되었으며, 곡선의 최대 거리가 회절 최대 경로 길이에 사용됩니다.
  • useImageSources. 사실상 항상 true입니다. 게임별 오브젝트에 허음원(image source)을 지정할 수 있기 때문에 이 추가 설정은 필요가 없어져 삭제되었습니다.

불필요한 Spatial Audio API 삭제

Wwise 2019.1 및 그 이전 버전에서는 사운드 엔진의 API와 중복되는 Spatial Audio의 수많은 API가 있었지만 Spatial Audio 이미터로 등록된 게임 오브젝트에 한정해서만 적용되는 경우가 많았습니다. 이는 매우 혼란스러울 뿐만 아니라 제대로 된 API를 호출했는지 확신하는데도 어려움이 있었습니다. 2019.2에서는 더 이상 이미터를 등록할 필요가 없어졌기 때문에 다음 API가 삭제되었습니다.

Portal의 감쇠가 더 이상 필요하지 않게 됐음

대부분의 경우, 사용자는 Wwise Authoring Tool에서 공간 버스에 적용된 감쇠를 모두 제거해야 합니다. Wwise 2019.2의 Spatial Audio는 사운드의 감쇠에 이미터와 리스너 간 전체 경로 거리를 적용하기 때문에, 공간 오브젝트에는 더 이상 감쇠가 필요 없습니다.

사용자들이 Wwise 2019.2 이전 버전에서 포털을 사용할 때 주로 마주치는 문제는, 서로 다른 감쇠가 있는 두 사운드의 상대 믹스에서 포털을 통해 전달되는 잔향이 일정하지 않았다는 것입니다. 짧은 감쇠가 있는 발자국과 긴 감쇠가 있는 총소리가 동일한 포털을 통해 재생되는 경우를 예로 들어보겠습니다. 두 소리는 포털이 있는 장소에서 함께 믹싱되고 같은 위치에서 다시 공간화되었습니다. 사운드의 감쇠는 이미터와 포털 간 거리로 평가되었습니다. 이는 이미터와 리스너 간 전체 거리의 일부분에 불과했으며, Spatial Audio는 포털의 감쇠에 의존해 잔향을 감쇠했었습니다. 결과적으로 리스너가 포털에서 멀어짐에 따라, 사운드의 원본 감쇠 곡선이 결정하는 대로 발자국이 총소리보다 더 빨리 디케이(decay)되는 대신 두 사운드의 상대 볼륨이 동일하게 머물러있게 됩니다. 이는 변조 경로(wet path)와 직접 경로(direct path) 간 작동이 의도한 바대로 이뤄질 경우에 한해서 발생하는 문제라는 점을 참고하세요.

Wwise 2019.2의 Spatial Audio에서는 포털의 '픽업 (pickup)' 위치를 리스너와 동일한 위치에 효과적으로 배치함으로써 이 문제를 해결했습니다. 이런 방식을 통해, 공간의 3D 버스에 사운드를 믹싱해넣기 이전에 음원과 리스너 간 경로의 전체 거리가 사운드의 감쇠 곡선에 적용됩니다. 포털(즉, 공간 버스)에 적용된 감쇠가 더 이상 필요 없어졌지만, 여전히 사용하고자 하는 경우가 있을 수 있습니다. 믹싱 후 감쇠는 잔향의 볼륨을 줄이거나 포털을 통과하는 잔향에 추가 필터링을 적용할 수 있습니다.

WwiseConsole이 WwiseCLI를 대체

WwiseConsole로 인해 WwiseCLI가 사용 중단됩니다. 여전히 WwiseCLI는 이전과 같이 제공되고 동작합니다. WwiseCLI에서 하던 모든 기능들은 WwiseConsole에서 여전히 사용 가능하며, 다만 구문의 차이가 있을 뿐입니다. 앞으로 등장할 새로운 기능들은 오직 WwiseConsole에만 추가될 예정이므로 WwiseConsole로 마이그레이션하기를 권장합니다.

WwiseCLI와 WwiseConsole 의 차이

WwiseConsole은 스스로 문서를 만듭니다. 매개 변수 없이 WwiseConsole을 실행하면 지원되는 작업의 목록을 열거합니다. 거기서 원하는 작업에 대한 도움말을 열 수 있습니다. WwiseConsole의 문서는 SDK 문서에도 포함돼있으며, 온라인과 오프라인 버전으로 제공됩니다.

예를 들어 SoundBank 생성에 대한 도움말을 열려면

WwiseConsole generate-soundbank --help

를 이용합니다.

표준 구문은

WwiseConsole operation project --option1 valueOfOption1 --option2 valueOfOption2

입니다.

WwiseConsole 예제

다음은 WwiseCLI 구문과 새로운 WwiseConsole 구문을 비교한 몇 가지 예시입니다.

Windows와 Linux 플랫폼 전용 SoundBank 생성.

WwiseCLI C:\MyProject\MyProject.wproj -GenerateSoundBanks -Platform Windows -Platform Linux
WwiseConsole generate-soundbank C:\MyProject\MyProject.wproj --platform Windows Linux

Verbose 로그로 WAAPI 서버 실행.

WwiseCLI C:\MyProject\MyProject.wproj -Waapi -Verbose
WwiseConsole waapi-server C:\MyProject\MyProject.wproj --verbose

Windows와 LInux 플랫폼을 지원하는 새로운 프로젝트 생성.

WwiseCLI C:\MyNewProject\MyNewProject -CreateNewProject -Platform Windows -Platform Linux
WwiseConsole create-new-project C:\MyNewProject\MyNewProject.wproj --platform Windows Linux

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요