버전
상호작용 음악은 다양한 선택지가 있는 복잡한 도구입니다. 프로젝트 초반에 상호작용 음악에 대한 일관적인 전략을 도입하면 나중에 시간과 노력을 절약할 수 있습니다. 물론 상호작용 음악 오브젝트에 대한 접근법은 아주 다양하며, Wwise를 사용하면 어떤 방법이 최고의 결과를 낳을 수 있을지 확인해볼 수 있습니다. 다음은 상호작용 음악 구현 방식에 대한 권장 사항입니다.
수직적 프로젝트 구조는 여러 개의 트랙을 가진 소량의 세그먼트를 반복하고 변형하는 것에 기반을 둡니다. 기본적인 수직적 프로젝트 구조는 다음과 같이 구성될 수 있습니다.
이 예시에서는 네 개의 트랙을 가진 Music Segment가 상호작용 음악의 기초로 사용됩니다. 그림의 윗 부분에서 세그먼트는 지정된 State가 없이 재생되고 있습니다. 베이스와 드럼 클립은 반복될 때마다 똑같은 클립을 반복하는 일반 트랙으로 설정되어 있습니다. 하지만 기타 트랙은 Sequence Step 트랙으로 설정되었기 때문에 기타 트랙의 클립은 할당된 시퀀스에 따라 재생됩니다. 피아노 트랙은 Random Sequence 트랙으로 설정되었기 때문에 임의의(random) 순서로 클립이 재생됩니다. Sequence Step과 Random Step 트랙 둘 다, 다양성의 핵심은 바로 원본 트랙에 대안이 될 만한 클립을 담은 서브 트랙을 만드는 것입니다.
이전 그림의 아래 부분에서 트랙은 State가 변경됨에 따라 함께 변경됩니다. 게임이 상대적으로 평화로운 Exploration State일 경우 드럼이 들리지 않습니다. 대신 피아노 트랙(여러 가지 서브 트랙으로 구성됨)이 재생됩니다. 보다 흥미로운 Fight State로 전환하면 피아노 트랙의 볼륨은 감소되어 들리지 않으며 드럼 트랙 볼륨이 증가합니다. 기타의 볼륨도 함께 증가합니다. 그러면 전반적으로 음악이 게임의 동작에 맞춰지는 효과를 얻게 됩니다.
수직적 프로젝트에서는 다음과 같은 것을 사용하여 재생할 트랙을 변경할 수 있습니다.
State 변경
Random step 서브 트랙
Sequence step 서브 트랙
수직적 접근법은 특히 상대적으로 State 간의 이동이 적으면서 소량의 복잡한 음악을 사용하는 프로젝트에 적합합니다.
수평적 프로젝트 구조는 몇몇 짧은 세그먼트의 계층 구조적인 배열을 기반으로 합니다. 기본적인 수평형 프로젝트 구조는 다음과 같이 구성할 수 있습니다.
이 예시에서는 두 개의 Music Playlist Container가 Exploration과 Fight 이 두 State에 해당하는 Music Segment를 가지고 있습니다. 첫 번째 컨테이너에서 세그먼트는 Random Group으로 정렬되어 있기 때문에 임의의(random) 순서로 재생됩니다. 두 번째 컨테이너에서 세그먼트는 Sequence Group으로 정렬되어 있기 때문에 미리 정의된 시퀀스에 따라 재생됩니다. Exploration State에서 Fight State로 전환될 경우 Exploration 컨테이너에서 재생되는 가장 마지막 세그먼트가 Fight 컨테이너의 가장 첫 번째 세그먼트로 전환(transition)됩니다. 이 현상은 한 유형의 음악에서 다른 유형의 음악으로 완전히 변하는 듯한 효과를 만들어냅니다.
수평적 프로젝트에서는 다음과 같은 것을 사용하여 재생할 세그먼트를 변경할 수 있습니다.
State 변경
Random Container
Sequence Container
수평적 접근법은 길이가 짧으며 상대적으로 단순한 음악을 많이 사용하며 특히 State 간의 변경이 많은 프로젝트에 적합합니다.
Wwise를 통해 만들어진 대부분의 프로젝트는 수평적 요소와 수직적 요소를 함께 조합하여 사용합니다. 작업 중인 프로젝트에 맞춰 각 유형의 구조의 적합성을 판단하면 됩니다. 예를 들어 각 State마다 다른 세그먼트를 만들면서도 (수평적 구조) 랜덤 서브 트랙을 사용하여 각 트랙이 재생하는 음악을 계속 변화시킬 수 있습니다 (수직적 구조).
Music Switch Container는 여러 개의 State Group 혹은 Switch Group에 연결될 수 있습니다. 게임의 다양한 입력에 따라 음악이 바뀌는 상황에서는 Music Switch Container 여러 개로 계층 구조를 만드는 것을 피하고 모든 입력을 하나의 Music Switch Container에 삽입하는 것이 좋습니다. Music Switch Container의 내용물은 Virtual Folder를 사용하여 정리할 수 있으며 연결 시스템은 하나의 내용물을 여러 State나 Switch 값에 재사용하는 것을 허락하고 있습니다.
여러 계층의 Switch Container를 사용하면 모든 전환 효과(transition)의 중요도 순서를 지정할 수 없는 상황이 발생할 수 있다는 점을 주의하세요. 전환 효과는 한 쌍으로 이뤄진 개별 세트로 정의되어 있는데, 이 둘은 모든 것을 포괄하는 경우도 포함하고 있으며 서로 간에 우선 순위 관계가 존재하지 않습니다. 그렇기 때문에 결과적으로 음악 전환 효과가 랜덤인 것처럼 느껴질 것이고 모든 가능성을 추적하기가 힘들어집니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요