AudioMixer는 AudioSources에서 생성하는 오디오 시그널을 더 복잡하게 라우팅하고 믹싱하는 AudioSources를 참조할 수 있는 에셋입니다. 에셋의 유저에 의해 생성된 AudioGroup 계층 구조를 통해 믹싱을 기반으로 하는 카테고리를 생성합니다.
오디오 시그널이 AudioSource에서 AudioListener로 라우트되기 때문에 DSP 효과 및 다른 오디오 마스터링 개념을 오디오 시그널에 적용할 수 있습니다.
http://en.wikipedia.org/wiki/Audio_mixing
오디오 라우팅은 다수의 오디오 출력을 취하고 하나 이상의 출력 시그널을 아웃풋하는 프로세스입니다. 여기에서 시그널은 디지털 오디오 데이터의 연속 스트림을 의미하며 디지털 오디오 채널로 나뉠 수 있습니다(스테레오 또는 5.1(6 채널) 등).
내부적으로 보통 믹싱, 효과 적용, 감쇠 등 실행되는 시그널에 작업이 존재합니다. 이후에 설명할 다양한 이유로, 이는 오디오 프로세싱의 중요한 부분이며 이러한 작업이 AudioMixer가 설계된 이유입니다.
보내기 및 반환을 제외하고(차후 다룰 예정입니다) AudioMixer는 수많은 인풋 시그널을 허용하고 시그널을 믹스하고 정확하게 한 결과물을 보유한 AudioGroups를 포함합니다.
오디오 프로세싱 분야에서 이 라우팅과 믹싱은 일반적으로 오디오 행동과 디자이너가 씬에 표시되는 오브젝트 또는 컨셉트와 매우 다르게 상호작용하기 때문에 씬 그래프 계층 구조와 독립적으로 이루어집니다.
이전 버전의 Unity에서는 라우팅과 믹싱의 개념이 없었습니다. 씬에 AudioSources를 위치시키고(예를 들어, AudioClips를 통해) 생성되는 오디오 시그널을 모든 오디오 시그널이 한 지점에서 함께 믹스되는 AudioListener에 직접 라우팅할 수 있었습니다. 이것은 씬 그래프 및 씬에 AudioSources가 어디 존재하든지에 관계없이 발생합니다.
AudioMixers는 이제 오디오 시그널 프로세싱 스페이스에 AudioSource와 AudioListener 사이에 위치하여 AudioSource로부터 출력 시그널을 가져와 모든 오디오가AudioListener로 최종적으로 출력되고 스피커에서 나올 때까지 원하는 어떠한 라우팅 및 믹싱 작업도 수행할 수 있도록 해줍니다.
믹싱과 라우팅은 게임에서 오디오를 어떤 개념으로든지 원하는 카테고리로 분류해줍니다. 일단 사운드가 이 카테고리로 분류되면, 효과 및 다른 작업들이 통째로 이 카테고리에 적용될 수 있습니다. 게임 로직 변경을 여러 가지 사운드 카테고리에 적용할 뿐 아니라 디자이너들이 런타임 시점에 전체 사운드스케이프의 “마스터링”을 동적으로 실행하기 위해 믹스의 여러가지 부분을 수정할 수 있게 해주는 매우 강력한 툴입니다.
몇 가지 사운드 개념은 씬 그래프 및 3D 월드와 관련이 있습니다. 가장 명확한 점은 3D 거리에 기반한 감쇠 적용, AudioListener에 상대적인 속도 및 환경 리버브 효과입니다.
이 작업이 씬과 관련이 있고 AudioMixer의 사운드 카테고리와는 관련이 없기 때문에 효과는 시그널이 AudioMixer에 들어가기 전에 AudioSource에 적용됩니다. 예를 들어, AudioListener로부터의 거리를 바탕으로 AudioSource에 적용되는 감쇠는 AudioSource를 떠나기 전에 시그널에 적용되며 AudioMixer로 전송됩니다.
위에서 언급한 바와 같이 AudioMixers는 사운드 타입을 효과적으로 분류하고 카테고리에 작업을 진행하도록 도와줍니다. 이 개념이 중요한 이유는 분류작업 없이는 모든 사운드가 동일하게 재생되기 때문에 믹싱이 적용되지 않아 전체 사운드스케이프가 어느새 무분별하게 뒤섞인 노이즈가 되기 때문입니다. 덕킹과 같은 개념이 있으면 믹스에 풍부한 사운드가 추가되어 사운드 카테고리가 서로에게 영향을 줄 수 있습니다.
디자이너가 카테고리에서 하고자 하는 작업의 예제
카테고리는 상당히 게임에 특화되어 있으며 서로 다른 프로젝트마다 다양하지만 카테고리 분류의 예제는 아래와 같이 설명될 수 있습니다.
레이아웃의 카테고리 계층 구조는 아래와 같은 모양입니다.
씬 그래프 레이아웃은 사운드 카테고리 레이아웃과 다르게 표시된다는 점을 참고하시기 바랍니다.
게임 사운드의 믹싱과 라우팅 또한 디자이너가 바라는 몰입도를 생성하는 데 사용될 수 있습니다. 예를 들어 동굴 안에 들어와 있는 듯한 느낌을 주기 위해 모든 게임 사운드와 뮤직을 감쇠하는 데 리버브를 적용할 수 있습니다.
AudioMixer는 게임에서 분위기를 만드는데 효과적으로 사용될 수 있습니다. 게임에서 스냅샷(나중에 설명)이나 서로 다른 믹서와 같은 콘셉트를 사용하여 게임은 쉽게 분위기를 전환할 수 있고 디자이너가 바라는대로 플레이어가 감정을 표출할 수 있게 해주는데 이게 바로 게임의 몰입에서 가장 강력한 툴입니다.
AudioMixer는 게임에서 모든 사운드의 전반적인 믹스를 조절하는 데 사용됩니다. AudioMixers는 전반적인 믹스를 조절하고 사운드 인스턴스를 전송하는 정적 싱글톤 믹스로 생각하면 됩니다.
다시 말해, AudioMixers는 항상 씬 라이프타임 내내 존재하며 사운드 인스턴스는 게임이 진행되고 이러한 전반적인 AudioMixers를 통해 재생되는 동안 생성 및 파괴될 수 있습니다.
스냅샷은 게임이 진행되는 동안AudioMixer의 상태와서로 다른 상태간의 전환을 캡처할 수 있습니다. 스냅샷은 믹스의 분위기와 테마를 정의하고 플레이어가 게임을 진행할 때 분위기를 변경할 수 있게 해주는 대단히 좋은 방법입니다.
스냅샷은 AudioMixer의 모든 파라미터 값을 캡처합니다.
스냅샷을 게임 로직과 통합하면 사운드스케이프의 여러 가지 화면을 변경할 수 있습니다.