101-01. 적막에서 소리까지
이 글은 AudiKineic의 교육자료를 참고해서 작성했다.
Wwise 열기.
Wwise 프로젝트는 단일 파일이 아니다.
Wwise 프로젝트는 게임에 사운드가 통합될 수 있도록 하는데 필요한 다양한 리소스 파일들을 담고 있는 여러 개의 폴더로 구성되어있다.
프로젝트의 생성과 초기 설정은 프로툴과 비슷한 방식처럼 느껴진다.
게임 프로파일링하기.
1. Wwise와 연결가능한 버전의 게임을 실행한다.
2. Wwise/ 메뉴바의 Layout - profiler선택.
3. 좌측상단의 Connect to remote Platform 버튼을 클릭.
4. 프로파일링할 게임이 실행되고 있는 컴퓨터를 선택하여 커넥팅.
5. Capture버튼을 클릭하여 게임 프로파일링 시작.
위 과정을 통하여 Wwise Sound Engine이 사용된 게임의 자세한 정보를 프로파일링 할 수 있다.
게임이 보내는 게임 콜을 Wwise에서 확인할 수 있다.
위 사진의 Capture Log처럼 게임이 발송하는 정보를 확인할 수 있다.
사진에서 발생되는 Error는 게임이 발송한 GameCall에 대하여 Wwise가 반응하지 못함으로 생기는 오류이다.
따라서 적절한 Event를 생성해주면 Error가 해결될 것이다.
Event와 Game Call.
Event는 Wwise Game Call의 한 종류이다.
Event는 사용목적을 식별할 수 있도록 이름을 정하며,
이 이름은 프로그래머가 사용하는 Evnet이름과 사운드 담당자가 사용하는 Event이름이 같아야 한다.
Event 만들기.
프로그래머는 오디오 반응을 필요로 하는 모든 것들에 코드를 추가한다.
이렇게 추가된 코드들이 앞서 언급한 Game Call을 생성한다.
오디오 엔진이 Game Call을 수신하면, 사운드 디자이너가 설정한 다양한 일들이 발생하는 것이다.
여기서 중요한 점은 '오디오 엔진이 Game Call을 수신하면'이라는 부분이다.
프로그래머가 적절한 Game Call을 생성했더라도, Wwise에서 해당 Game Call을 수신할 일종의 우편함이 필요하다는 말이다.
그 우편함은 프로그래머가 생성하는 Game Call과 동일한 이름을 가진 Event이다.
1. Layout - Designer (단축키 F5)
2. Project Explorer 뷰 - Event 탭
3. Events 계층구조에 포함된 WorkUnit에 원하는 Event를 생성
위 방식대로 Event를 생성할 수 있다.
아주 간단한 방법이지만, 주의해야 할 것은 Event 이름을 Game Call과 완벽하게 같은 이름으로 설정해야 한다는 것이다.
조금이라도 틀리면 절대 작동하지 않고, 계속해서 Error가 발생한다.
사운드 가져오기.
정확한 이름으로 Event를 생성하였다면, Event가 수신될 때 재생할 사운드를 설정해야 한다.
1. ProjectExplorer view - Audio 탭.
2. Actor - Mixer Hierarchy의 WorkUnit에 Sound SFX 오브젝트 생성.
SFX 이름은 SFX의 속성을 알아볼 수 있도록 설정하는 것이 좋다.
처음 SFX를 생성하고 나면 이름이 빨간색으로 표시가 되는데,
이는 해당 SFX에 연결된 오디오 파일이 없다는 뜻이다.
1. SFX 우클릭 - Import Audio Files를 클릭
2. 가져올 Wav파일을 선택 후 창의 우측 하단 Import 클릭
위 과정을 통해 SFX오브젝트에 오디오 파일을 연결할 수 있다.
SFX오브젝트에 오디오 파일을 연결하였으면 SFX오브젝트의 이름이 파란색으로 표시된다.
SFX오브젝트의 이름 색이 뜻하는 내용은 다음과 같다.
Sound SFX의
- 이름이 빨간색 : 연결된 오디오 없음
- 이름이 파란색 : 연결된 오디오 있음
- 이름이 하얀색 : 연결된 오디오 있음, 오디오 파일이 (최적화를 위해) 변환되었음.
Action 적용하기.
생성된 Event와 SFX를 연결하는 일이 남았다. 그렇게 해놓으면,
Game Call이 수신되었을 때 Evnt가 동작하면서 Event와 연결된 SFX가 재생될 것이다.
1. Event Viewer - 연결하려고 하는 Event 클릭.
2. Event Editor 좌측 하단 Add>> 버튼 클릭.
3. 사용 가능한 액션 목록 중에서 필요한 액션을 선택.
4. 비어있는 Target 칸에 3에서 선택한 액션이 적용되어야 할 SFX를 드래그&드롭.
위 과정을 거칠 필요 없이,
SFX를 Event Editor에 드래그&드롭하면 바로 추가된다.
게임에 사운드 통합하기.
Event를 생성하고, SFX를 생성하고, 두 가지를 연결하고 나면,
Wwise에서 해야 할 일은 끝났다.
마지막으로 Wwise와 게임을 통합하는 일이 남았다.
SoundBank에 Event 추가하기.
SoundBank는 런타임 때 사용되는 코드와 오디오 에셋을 모아둔 것이다.
그렇기 때문에 실제 게임에 사운드 디자이너가 생성한 사운드를 재생하려면 자신이 만든 사운드를 SoundBank에 추가해야 한다.
Soundbank의 이름도 Event와 마찬가지로 프로그래머와 통일된 이름을 사용해야 한다.
게임에서 필요한 Soundbank를 로드시키도록 요청하기 때문이다.
1. Layour - SoundBank (단축키 F7)
2. New클릭.
3. Name입력란에 프로그래머와 동일한 soundbank name입력 후 ok클릭
위 과정을 통하여 필요한 soundbank를 생성할 수 있다.
이렇게 생성된 soundbank에 Event를 추가해야 한다.
1. Default Work Unit 좌측 화살표 클릭.
2. Event를 추가할 soundbank에 추가할 Event 드래그&드롭.
SoundBank 생성하기.
1. 생성하고자 하는 SoundBank 선택.
2. 알맞은 플랫폼과 언어를 선택.
위 과정을 거치고 나면, SoundBank가 게임 파일 구조의 어디에 배치되어야 하는지 경로를 정해야 한다.
이 정보는 보통 프로그래머가 제공한다.
1. User Settings 클릭.
2. Override Project SoundBank Paths 옵션을 선택.
3. Soundbank가 저장될 경로를 지정하기.
위 두 과정을 거쳐 어떤 soundbank를 생성할지 설정하고, 저장 경로까지 지정했다면
Generate Select 버튼을 클릭하여 Soundbank를 생성한다.
이후 게임을 껐다 켜면 사운드 디자이너가 작업한 결과물이 게임에 적용되어 있다.