목차

Wwise SDK 2019.2.5
Using the legacy Command Line (deprecated)
주의
Wwise CLI still works, but is now deprecated and has been replaced by newer version called Wwise Console. Refer to 명령줄 사용하기 for more information.

Wwise 작업 중 상당수가 명령줄 인터페이스에서 실행할 수 있으며, 여기엔 SoundBank 생성도 포함됩니다. 이는, 예를 들어 오디오 에셋이 있는 게임 빌드를 매일 실행할 경우와 같이 Wwise를 자동화 처리의 일부로 포함시킬 때 매우 유용한 방편이 됩니다.

Wwise Command Line

Wwise를 Windows에서 실행하는지 Mac에서 실행하는 지에 따라 Wwise 명령줄 실행 파일인 WwiseCLI.exe를 호출하는 데는 두 가지 다른 방법이 있습니다.

Windows 기반
Windows에서 Wwise를 실행할 경우, WwiseCLI.exe는 "%WWISEROOT%\Authoring\x64\Release\bin"에서 바로 호출됩니다. 명령줄 매개 변수는 이 기본 구조를 따라야 하며, projectoperation 은 필수입니다.
WwiseCLI.exe project.wproj -operation [-option1 [parameters]] [-option2 [parameters]] ...
Mac 기반
Mac에서 Wwise를 실행할 경우, WwiseCLI.exe는 WwiseCLI.sh 셸 스크립트로 직접 호출됩니다. Mac에서 WwiseCLI.sh 셸 스크립트를 성공적으로 실행하기 위해서 사용자들은 다음과 같은 과정을 거쳐야 합니다.
  1. Wwise.app을 실행하고 MS VC++ 재배포를 설치하세요.
  2. Wwise.app을 종료하세요.
이제 Windows에서 Unix나 Windows 스타일 경로를 사용하는 것과 같이 동일한 명령줄 인자를 전송하는 Terminal에서 WwiseCLI.sh 셸 스크립트를 불러올 수 있습니다.
Unix 경로 예시:
MAC:~ username$ /Path/to/Authoring/Wwise.app/Contents/Tools/WwiseCLI.sh "/Volumes/Drive/Path/to/project.wproj" -operation [-option1 [parameters]] [-option2 [parameters]]
Windows 경로 예시:
MAC:~ username$ /Path/to/Authoring/Wwise.app/Contents/Tools/WwiseCLI.sh "Z:\Volumes\Drive\Path\to\project.wproj" -operation [-option1 [parameters]] [-option2 [parameters]]

Any string parameter containing spaces should be wrapped in quotation marks, as illustrated in this Example. 모든 경로 매개 변수는 반드시 역슬래시로 지정해야 하지만, 맨 끝에 붙는 역슬래시는 허용되지 않습니다.

Operations

명령줄에 아래 작업들 중 하나만 지정돼야 합니다.

작업 설명 옵션
-ConvertExternalSources External Source 변환. -GenerateSoundBanks 로도 External Source를 트리거할 수 있으며, Wwise Project에 포함돼있지 않은 음원을 처리하는 데는 -ConvertExternalSources 를 사용할 수 있습니다. 이 작업에는 플랫폼과 WSOURCES 파일 경로, 이 두 가지 선택적 매개 변수가 있습니다. 특정 플랫폼을 제시하면 해당 플랫폼만 생성합니다. WSOURCE 파일을 제시하면 주어진 플랫폼에 대해 Project Settings의 External Source Input 파일 경로를 오버라이드합니다 (특정 플랫폼이 지정되지 않은 경우, 모든 플랫폼에 대해 오버라이드). 이 작업은 -Save 옵션과 함께 사용할 수 없습니다. 예시:
  • -ConvertExternalSources: 모든 플랫폼을 Project Settings에 제시된 음원 목록으로 변환.
  • -ConvertExternalSources Windows: Windows 플랫폼의 음원만 변환.
  • -ConvertExternalSources Windows -ConvertExternalSources XBoxOne : Windows와 Xbox One만 변환.
  • -ConvertExternalSources MySources.wsources : 모든 플랫폼에 대해 지정된 목록 변환.
  • -ConvertExternalSources Windows MySources.wsources : Windows의 모든 파일을 변환하고 지정된 파일 목록을 사용.
  • -ConvertExternalSources -ExternalSourcesOutput ..\..\YourNewExternalSourceFolder : 모든 플랫폼에 대해 기본 외부 음원 출력 폴더를 오버라이드.
  • -ConvertExternalSources Windows -ExternalSourcesOutput ..\..\YourNewExternalSourceFolderForWindows : Windows 플랫폼의 기본 외부 음원 출력 폴더를 오버라이드.
-CreateNewProject 새로운 빈 프로젝트 생성. 해당 프로젝트는 기존에 존재하지 않는 프로젝트여야 합니다. 폴더 이름은 WPROJ 파일 이름과 동일해야 합니다. 해당 폴더가 존재하지 않는 경우, 새로 생성됩니다. -Platform 을 사용해 프로젝트에 사용되는 최소 하나의 플랫폼을 정의합니다. 두 개 이상의 플랫폼을 정의할 수 있습니다.
-LoadProject Load a project. Will not run any other operation and will simply exit after loading the project. Can be used with -Save to migrate and save the project.
-GenerateSoundBanks SoundBank generation. SoundBank 생성은 프로젝트에 저장된 설정에 지정된 내용대로 실행됩니다. SoundBank 생성을 명령줄로 실행할 경우엔 사용자 지정 설정이 무시됩니다. 그러나 이 설정 중 몇 개는 명령줄에서 오버라이드할 수 있습니다.
참고: -Platform, -Bank, -Language 플래그를 지정하지 않으면 해당 애플리케이션이 모든 플랫폼과 언어에 대해 SoundBank를 생성합니다.
-SoundFrameServer 명령줄 SoundFrame 서버를 실행해 클라이언트 이 옵션의 매개변수에는 숫자로 된 Process ID를 지정할 수 있어, 이 서버가 주어진 처리의 연결만 허용할 수 있도록 합니다. 서버는 CTRL-C 신호를 받을 때까지 실행됩니다.
-TabDelimitedImport 탭으로 구분된 파일을 불러와 서로 다른 오브젝트 계층 구조를 생성하고 수정. -Save 옵션이 지정돼있지 않으면, 불러온 탭 구분 파일의 결과물인 프로젝트의 변경 사항이 유지되지 않습니다.
-Waapi Wwise 저작 API를 사용하는 클라이언트 애플리케이션이 연결할 수 있는 명령줄 Wwise 저작 API 서버를 실행.
참고: 지원 사양 섹션에 설명한 것처럼, 일부 WAAPI 함수는 Wwise 저작을 GUI로 실행할 때에만 작동합니다.

Options

Each option is applicable to only certain Operations. 유효하지 않은 옵션은 무시됩니다.

  • -AbortOnLoadIssues:프로젝트 로딩 문제가 감지되면 -GenerateSoundBanks 같은 원래의 명령을 중단시킵니다. 로그된 모든 프로젝트 문제가 화면에 출력됩니다.
  • -AudioSourceFromOriginal:불러오는 파일과 동일한 이름의 오디오 음원 파일이 이미 프로젝트 있는 경우가 있습니다. 이럴 때에는 플래그를 추가해 기존에 있던 오디오 음원 파일을 사용하도록 하고 탭으로 구분된 파일에 나온 내용으로 대체하지 않습니다.
  • -Bank:어느 SoundBank를 생성할 지를 지정합니다. 이 작업 후 반드시 SoundBank 이름을 생성해줘야 합니다. 복수의 SoundBank를 지정할 수 있습니다. 아무 SoundBank도 지정되지 않으면 모든 SoundBank가 생성됩니다. 또는 '.txt' 확장자를 포함한 전체 경로를 텍스트 파일로 전달하여 SoundBank 이름의 목록이 담긴 텍스트 파일을 지정할 수도 있습니다.
  • -Cache:프로젝트의 캐시 폴더 경로를 오버라이드하고 명령으로 지정된 상대 경로를 사용합니다.
  • -ClearAudioFileCache:음원 파일 변환 및 SoundBank 생성에 앞서 Wwise 오디오 파일 캐시 폴더의 내용물을 삭제하여 모든 음원 파일이 재변환되도록 합니다. 이 옵션은 -GenerateSoundBanks 플래그가 지정되지 않은 경우에는 무시됩니다. -Platform 인자와 상관 없이 모든 플랫폼에 대해 전체 캐시가 삭제되니 주의하세요.
  • -ContinueOnError:정의 파일을 불러오는 도중 오류가 발생했을 때 작업을 계속하려면 이 플래그를 사용합니다.
  • -CustomGlobalClosingCmd:Wwise에 정의된 전역적 종료 단계를 오버라이드합니다. 이 옵션은 반드시 새로운 명령줄(공백이 있을 경우 인용 부호 사용)이 뒤따라야 합니다. 명령줄에 빈 문자열("")을 정의하면 아무 전역적 종료 단계도 실행되지 않는다는 뜻입니다.
  • -CustomGlobalOpeningCmd:Wwise에 정의된 전역적 시작 단계를 오버라이드합니다. 이 옵션은 반드시 새로운 명령줄(공백이 있을 경우 인용 부호 사용)이 뒤따라야 합니다. 명령줄에 빈 문자열("")을 정의하면 아무 전역적 시작 단계도 실행되지 않는다는 뜻입니다.
  • -CustomPostGenCmd:Wwise의 해당 플랫폼에 대해 정의된 사용자 지정 생성 직후 단계(post-generation)를 오버라이드합니다. 이 옵션 뒤에는 플랫폼 식별자(위 상세 목록 참고)가 와야 하며, 그 후 새로운 명령줄(공백이 있을 경우 인용 부호 사용)이 뒤따라야 합니다. 다른 플랫폼의 사용자 지정 생성 직후 단계 명령을 오버라이드하려면 -CustomPostGenCmd 플래그를 반복하고 원하는 다른 플랫폼의 식별자와 해당 명령줄을 새로 입력합니다. 명령줄에 빈 문자열("")을 정의하면 아무런 생성 직전 단계도 실행되지 않는다는 뜻입니다.
  • -CustomPreGenCmd:Wwise의 해당 플랫폼에 대해 정의된 사용자 지정 생성 직전 단계(pre-generation)를 오버라이드합니다. 이 옵션 뒤에는 플랫폼 식별자(위 상세 목록 참고)가 와야 하며, 그 후 새로운 명령줄(공백이 있을 경우 인용 부호 사용)이 뒤따라야 합니다. 다른 플랫폼의 사용자 지정 생성 직전 단계 명령을 오버라이드하려면 -CustomPreGenCmd 플래그를 반복하고 원하는 다른 플랫폼의 식별자와 해당 명령줄을 새로 입력합니다. 명령줄에 빈 문자열("")을 정의하면 아무런 생성 직전 단계도 실행되지 않는다는 뜻입니다.
  • -ExternalSourcesOutput:Project Settings에서 설정한 변환된 외부 음원 파일의 출력 경로를 오버라이드합니다. 이 옵션에는 플랫폼(선택 사항)과 경로(반드시 상대적이어야 함), 이 두 개의 매개 변수가 있습니다. 이 옵션은 -ConvertExternalSources 를 사용할 때에만 유효합니다.
  • -HeaderFile:이 옵션이 프로젝트 설정에서 지정돼있지 않더라도 Wwise_IDs.h 헤더 파일을 생성합니다. 이 옵션은 -GenerateSoundBanks 플래그가 지정돼있지 않으면 무시됩니다.
  • -HeaderFilePath:프로젝트 설정에 지정된 헤더 파일 경로를 오버라이드합니다. 이 옵션은 헤더 파일(Wwise_IDs.h)이 작성될 곳을 나타내는 경로(절대 또는 상대)가 반드시 뒤따라야 합니다. 헤더 파일의 생성이 필요할 경우에만 유효합니다.
  • -ImportDefinitionFile:SoundBank 정의 파일을 불러옵니다. 이 옵션은 반드시 불러올 뱅크 정의 파일의 전체 경로가 뒤따라야 합니다. 복수의 파일을 지정할 수 있습니다. -Save 옵션이 지정돼있지 않으면 불러온 정의 파일의 결과물인 프로젝트의 변경 사항이 유지되지 않습니다.
  • -ImportLanguage:탭으로 구분된 불러오기 작업을 통해 보이스를 불러올 수 있습니다. 이 플래그는 불러오는 보이스의 언어를 정의하는 데 사용합니다. 이 옵션 후 반드시 -Language 플래그로 언어 식별자 중 하나를 정의해줘야 합니다. 이 작업에서는 오디오 파일만 추가할 수 있다는 점에 유의하세요. 볼륨 조정 같이 다른 작업을 하려는 시도는 무시됩니다.
    주의: -ImportLanguage 플래그가 누락되면, 불러오기 작업이 모든 오디오 음원 파일을 보이스가 아닌 SFX로 취급합니다.
  • -Language:SoundBank가 어느 언어에 대해 생성될 지를 정의합니다. 이 옵션 후에는 반드시 프로젝트에서 정의한 언어 식별자가 뒤따라야 합니다. 각 지정된 언어의 앞에는 이 플래그를 접두어로 붙여야 합니다. 이 옵션은 -GenerateSoundBanks 플래그가 지정돼있지 않으면 무시됩니다.
  • -NoDecode:.cache 폴더에 DECODED 파일들을 생성하는 것을 방지해 CPU와 디스크 공간을 절약할 수 있습니다. 이는 또한 SoundBank 생성 시간을 줄이는 역할도 합니다.
    주의: DECODED 파일을 생성하지 않을 경우, Wwise Authoring에서 이 사운드를 재생할 때 재생이 업데이트되지 않거나 아예 아무런 재생이 일어나지 않을 수 있습니다. 이 옵션 실행 후 파일 캐시를 삭제할 것을 권합니다.
  • -NoWwiseDat:오디오 파일을 변환할 때, 숨겨진 'wwise.dat' 파일 사용을 비활성화합니다. 기존에 파일 의존성을 다루는 빌드 툴로부터 WwiseCLI를 호출할 때 -ConvertExternalSources 와 함께 사용하면 Wwise의 여러 인스턴스가 동일한 디렉토리로 충돌 없이 동시에 변환할 수 있기 때문에 매우 유용합니다.
  • -Platform:SoundBank가 어느 플랫폼에 대해 생성될 지를 정의합니다. 이 옵션 후에는 반드시 플랫폼 식별자(아래 상세 목록 참고)를 정의해줘야 합니다. 각 지정된 플랫폼 앞에는 이 플래그를 접두어로 붙여야 합니다.
    • Android
    • iOS
    • Mac
    • PS4
    • Windows
    • XboxOne
  • -Quiet:오류를 일으키지 않은 모든 콘솔 텍스트 출력을 비활성화합니다.
  • -Save:Wwise 프로젝트 저장을 활성화합니다. - ImportDefinitionFile 이나 -TabDelimitedImport 와 함께 사용하면, 뱅크 가져오기 작업으로 인해 변경된 프로젝트 내용이 Work Unit에 저장됩니다. 저장을 활성화하면 명령줄에서 프로젝트 마이그레이션도 할 수 있습니다. 프로젝트를 저장할 때, 프로젝트가 '읽기 전용'이 아닌지 반드시 확인해야 합니다. 즉, 명령줄 요청 이전에 소스 컨트롤의 모든 '체크아웃' 작업은 사용자에게 책임이 있습니다.
  • -SoundBankPath:이 플랫폼에 대해 지정된 SoundBank 경로를 오버라이드합니다. 이 옵션 뒤에는 플랫폼 식별자(위 상세 목록 참고)와 새로운 경로(절대 또는 상대, 공백이 있을 경우 인용 부호 사용)가 뒤따라야 합니다. 다른 플랫폼의 경로를 오버라이드하려면 -SoundBankPath 플래그를 반복하고 다른 플랫폼의 지정자와 새로운 경로를 입력합니다.
  • -TabDelimitedOperation:오브젝트를 불러올 때 생성 방식을 결정합니다. 각 오브젝트를 생성할 때마다,
    • CreateNew는 새로운 오브젝트를 생성하고 여기에 원하는 이름을 별도로 부여하세요. 그렇지 않으면 새로운 고유 이름을 사용합니다.
    • UseExisting는 기존 오브젝트가 있으면 해당 지정 속성을 업데이트해 사용합니다. 그렇지 않으면 새로운 새로운 오브젝트를 생성합니다.
    • ReplaceExisting는 새로운 오브젝트를 생성합니다. 기존 오브젝트가 동일한 이름을 갖고 있을 경우, 기존 것이 삭제됩니다.
      참고: -TabDelimitedOperation 플래그가 누락되면, 불러오기 작업이 기본 설정인 UseExisting 로 실행됩니다.
  • -Verbose:추가 콘솔 텍스트 출력을 활성화합니다.
  • -WaapiAllowedAddr:WAAPI 연결이 허용된 IP (IPv4 또는 IPv6) 주소를 지정합니다. 이 옵션 후에는 반드시 쉼표로 구분된 목록이 와야 합니다. (예: 127.0.0.1,::1) *를 사용해 어떤 호스트든 연결할 수 있도록 합니다.
    경고: Using * could present a security risk. WAAPI를 안전하게 사용하는 방법에 대한 자세한 내용은 네트워크 보안 를 참고하세요.
  • -WaapiAllowedOrigin:WAAPI 연결이 허용된 호스트를 지정합니다. 이 옵션 뒤에는 반드시 쉼표로 구분된 목록이 와야 합니다. (예: www.myhost.com,www.myhost2.com) HTTP의 Origin 헤더에서 검사를 실행합니다. 파일 기반 연결(예: file://)을 포함해 Origin 헤더가 없는 연결도 허용됩니다. *를 사용해 어떤 호스트든 연결할 수 있도록 합니다.
    경고: Using * could present a security risk. WAAPI를 안전하게 사용하는 방법에 대한 자세한 내용은 네트워크 보안 를 참고하세요.
  • -WaapiHttpPort:HTTP POST를 사용할 때 Wwise 저작 API가 사용하는 포트 번호를 지정합니다. 이 옵션 뒤에는 반드시 포트 번호(0에서 65,535 사이)가 와야 합니다. 0을 사용하면 서버가 실행되지 않습니다.
  • -WaapiWampPort:WAMP를 사용할 때 Wwise 저작 API가 사용하는 포트 번호를 지정합니다. 이 옵션은 사용자 환경 설정보다 우선시되며, 반드시 뒤에 포트 번호(0에서 65,535 사이)가 와야 합니다. 0을 사용하면 서버가 실행되지 않습니다.
  • -WaapiHttpMaxClients:Specifies the maximum number of concurrent WAAPI clients that can connect to the server when using HTTP POST. This option must be followed by a number between 0 and 100. 0을 사용하면 서버가 실행되지 않습니다.
  • -WaapiWampMaxClients:Specifies the maximum number of concurrent WAAPI clients that can connect to the server when using WAMP. This option must be followed by a number between 0 and 100. 0을 사용하면 서버가 실행되지 않습니다.

Example

다음은 명령줄에서 SoundBank를 생성하는 예제입니다. 이 예제는 Windows 플랫폼에 대해 영어(미국)와 프랑스어(캐나다) SoundBank를 생성합니다. 또한, 특정한 사용자 지정의 생성 직후(post-generation) 명령을 정의해, 프로젝트와 사용자 설정에서 정의된 생성 직후 단계를 오버라이드합니다.

"%WWISEROOT%\Authoring\x64\Release\bin\WwiseCLI.exe" "C:\Project name.wproj" -GenerateSoundBanks -Language English(US) -Language French(Canada) -Platform Windows
-Bank BankLevel1 -Bank BankLevel2 -ImportDefinitionFile "C:\BankDefinitionFile\MyProjectDefinition.txt"
-CustomPostGenCmd Windows "\"$(WwiseExePath)\tools\FilePackager.Console.exe\" -generate -info \"$(InfoFilePath)\" -output \"$(SoundBankPath)\$(WwiseProjectName).pck\" -blocksize 16 -hideprogressui true"

외부 음원 변환 예제

다음은 외부 음원을 명령줄에서 변환하는 예제입니다. 여기서는 Xbox One 플랫폼 대상으로만 변환했습니다.

"%WWISEROOT%\Authoring\x64\Release\bin\WwiseCLI.exe" "C:\Project name.wproj" -ConvertExternalSources XboxOne

새로운 프로젝트 생성하기 예제

다음은 Windows와 Mac 플랫폼 대상의 새로운 Wwise 프로젝트를 명령줄에서 생성하는 예제입니다. Wwise 프로젝트 폴더가 기존에 존재하지 않아야 한다는 점에 유의하세요.

"%WWISEROOT%\Authoring\x64\Release\bin\WwiseCLI.exe" "C:\ProjectName\ProjectName.wproj" -CreateNewProject -Platform Windows -Platform Mac

Migrating A Project Example

Here is an example for migrating a Wwise project from the command line.

"%WWISEROOT%\Authoring\x64\Release\bin\WwiseCLI.exe" "C:\ProjectName\ProjectName.wproj" -LoadProject -Save

탭 구분 불러오기 예제

다음은 탭으로 구분된 파일 불러오기의 예제로, American English 보이스를 담고 있는 오브젝트 계층 구조를 설명하고 있습니다. 기존에 존재하던 오브젝트를 교체하지만 원본 오디오 음원 파일을 사용합니다.

"%WWISEROOT%\Authoring\x64\Release\bin\WwiseCLI.exe" "C:\Project name.wproj" -TabDelimitedImport "C:\tab delimited file.txt" -TabDelimitedOperation ReplaceExisting -ImportLanguage English(US) -AudioSourceFromOriginal

Error Codes

명령줄에서 작업할 때, WwiseCLI.exe가 다음 반환 코드 중 하나를 반환합니다.

  • WWISE_ERROR_CODE_SUCCESS 0
  • WWISE_ERROR_CODE_ERROR 1 (Fatal Error나 Error 발생시)
  • WWISE_ERROR_CODE_WARNING 2 (Warning 발생시)

경고가 뜨더라도 SoundBank가 제대로 생성될 수도 있지만, 이 경고들을 오류로 간주해 확인해보는 것이 좋습니다. 예를 들어, 음원 파일이 누락되었을 경우 WwiseCLI.exe가 오류 코드를 반환합니다. 음원 파일이 누락되었다고 해서 SoundBank의 생성 자체에는 방해가 되지 않지만, 반환된 SoundBank가 불완전할 수 있습니다.

Wwise의 Project Settings > Logs에 가면, SoundBank 생성 도중 발생하는 메시지 대부분의 심각도(severity)를 변경할 수 있습니다. 메시지의 심각도를 변경하면 반환 코드에도 영향을 끼치게 됩니다.

Error Tracking

명령줄 애플리케이션에서 작업할 때, 모든 오류는 stdout를 사용해 보고됩니다.

명령줄에서 Wwise 저작 도구 사용하기

Wwise 명령줄 인터페이스 (WwiseCLI.exe) 외에도, Wwise.exe를 사용해 명령줄에서 Wwise 저작 도구를 호출할 수 있습니다. 여기에는 세 가지 옵션이 있습니다.

  • -AutomationMode: Wwise에서 자동화 모드를 활성화합니다. 이 옵션은 메시지 상자나 대화 상자로 인해 발생할 수 있는 중단을 줄여줍니다. 예를 들어, 자동화 모드를 활성화하면 프로젝트 마이그레이션, 프로젝트 로딩 로그, EULA 수락, 프로젝트 라이선스 표시 및 일반 메시지 상자를 암묵적으로 수락합니다.
  • -SetTitleBarText:주요 Wwise Authoring 창의 타이틀 바에 표시할 텍스트 줄을 지정합니다. 이 옵션 뒤에는 표시할 문자를 입력해야 하며, 공백이 있을 경우 인용 부호로 감싸야 합니다.
  • -ShowNewProject:Wwise 저작 도구를 실행할 때 New Project 창을 엽니다.
AK_ID_DECLARE BasePlatformID Mac
Definition: PlatformID.h:99
AK_ID_DECLARE BasePlatformID XboxOne
Definition: PlatformID.h:135
AK_ID_DECLARE BasePlatformID Windows
Definition: PlatformID.h:87