이전 블로그에서는 디자이너가 임펄스 반응(IR)의 초기 부분과 관련된 음향 현상을 Wwise Spatial Audio를 사용하여 원하는 대로 음향 결과물을 저작하는 방법을 살펴봤습니다. 이제 IR의 후기 부분에 관해서도 똑같이 살펴봅시다.
그림 1 - 임펄스 반응 [20]
Room과 Portal을 통한 환경적 전송
후기 잔향 설계에 관한 Wwise Spatial Audio 접근 방식은, 보조 전송을 사용하여 게임의 시각적 요소와 심미성에 맞도록 잔향 효과의 설정을 조정하는 기존 저작 환경 방법과 아주 유사합니다. 사실 엔진이 잔향을 공간화한다는 사실과 Room(공간) 및 Portal(포털)을 통해 현실 세계를 구현한다는 것만 빼면 완전히 같다고 할 수 있죠.
Room은 기존의 보조 전송 방법을 경량 확장한 방법이라고 할 수 있으며, 잔향 효과가 있는 보조 버스를 각 환경이나 환경 종류에 부여해주며 보이스 (혹은 리스너)가 있는 버스로 보이스를 전송해줍니다. 이 공간과 포털에서 포털은 공간 사이를 연결해주는 역할을 합니다. 사운드는 해당 공간을 자극하며, 서로 연결된 공간과 포털을 통해 리스너에게 전달되죠. 신호의 흐름 측면에서 볼 때, 사운드는 신호를 해당 공간의 보조 버스로 전송하며 일련의 보조 전송을 통해 리스너에게 도달하도록 합니다. 포털은 회절(diffraction), 공간화, 그리고 인접한 공간의 잔향 음장의 확산을 처리합니다. 저희 팀원인 네이슨(Nathan)이 쓴 블로그에서 이 시스템에 관한 훌륭한 개요를 확인해보실 수 있습니다 [21].
공간 음향 패러다임
이 블로그 시리즈의 처음 두 글에서 살펴본 레이캐스팅 엔진과 위에서 설명한 공간과 포털 시스템은 각각 설계 작업 과정과 성능을 고려하는 두 개의 패러다임을 따릅니다. 전자는 지오메트리 음향 시뮬레이션 (Geometrical Acoustic Simulation)이라는 패러다임을 따르며, 후자는 음향 매개 변수로부터의 잔향 효과 제어 (Reverb Effect Control from Acoustic Parameters)라는 패러다임을 따릅니다.
지오메트리 음향 시뮬레이션
지오메트리 음향 시뮬레이션은 삼각형과 물질을 사용하며, 디자이너는 물질의 흡수율과 거리 및 회절 곡선 (Wwise의 경우)을 제어할 수 있습니다.
레이 기반 방법의 경우 IR의 후반부를 렌더링하는 데에 사용되기 때문에 계산이 엄청나게 복잡해질 수 있습니다. 사실 이러한 방법을 순전히 확장만 할 경우 반향의 밀도가 현저히 낮기 때문에 후기 잔향을 올바르게 생산하지 못해서 소리가 '거칠고' '매끄럽지 못할' 수 있습니다. 실제로 현실에서는 '표면 산란 및 모서리 회절 구성 요소는 몇 차수의 반사음 후에 결국 정반사를 덮어버리는 경향이 있습니다 [22].' 다시 말해, 결국 레이 기반 방법이 예측하는 단순한 모델과 사용 중인 단순화된 지오메트리가 허용하는 파면보다 리스너에게 도달하는 파면이 더 많아집니다.
이런 세부 수준을 더욱 미세한 수준으로 높여서 극복하는 것은 굉장히 비현실적입니다. 대신 레이 기반 방법은 더 그럴듯한 결과를 얻기 위해 종종 모델에 확률적인 구성 요소를 추가하는 경우가 많습니다. 마치 그래픽이 단순히 메쉬에 의존하지 않고 셰이더와 확산 조명 기술의 힘을 빌려서 더욱 멋지게 보이도록 하는 것과 같죠.
오디오 1 - 16차순, 정반사만으로 이루어진 IR. 이 IR은 디지털 임펄스를 약간의 사다리꼴 상자가 있고 회절이 비활성화된 변조된 버전의 Wwise Reflect로 생성되었습니다.
그림 2 - CPU 비용 vs. 시뮬레이션 길이. 시뮬레이션 길이는 잔향 시간과 약간의 상관관계가 있지만, 레이가 더 많은 지오메트리와 상호작용한다는 것을 의미하기도 합니다. 실선은 무차별 대입 방식을 나타내며, 후기 잔향을 정확하게 계산하기 위해 비용이 기하급수적으로 늘어난다는 것을 보여줍니다. 점선은 근사값이 성능을 제어하는 데에 얼마나 도움이 되는지를 보여줍니다.
Oculus의 소리 전달 기술은 이 패러다임을 따릅니다. 이 기술은 레이 트레이싱을 사용해서 높은 차순의 현상을 계산하고 초기 반사와 후기 잔향 모두를 렌더링합니다 [23]. 아마 후기 잔향의 기하급수적 복잡성을 피하기 위한 몇 가지 기술도 사용할 것입니다. 디자이너는 보통 물질의 속성을 사용하여 소리를 조정합니다.
음향 매개 변수로부터의 잔향 효과 제어 (Reverb Effect Control from Acoustic Parameters)
이 두 번째 패러다임은 '음향 매개 변수'를 사용하며 잔향 효과를 사용하여 IR을 렌더링합니다. 디자이너는 잔향 효과 설정 및 전송 레벨을 제어할 수 있으며, 음향 매개 변수가 이러한 설정을 런타임에서 변경합니다. 이 방법은 대부분의 CPU가 소리 전달 계산 대신 잔향 효과를 처리하는 데에 사용되기 때문에 꽤 저렴합니다.
당연히 음향 매개 변수는 게임에서의 리스너 혹은 이미터의 위치에 따라 변경됩니다. 하지만 매개 변수의 특성과 획득 과정은 솔루션에 따라 크게 달라집니다. 필요한 공간적 샘플링도 다르지만, 보통 IR의 후반부보다 초반부의 잔향 효과 정보를 제공하는 데에 더 많은 정보가 필요하다는 법칙을 따릅니다.
실제로 IR의 초반부는 방향성을 알 수 있는 오디오 이벤트로 구성되어 있으며, 이 방향성은 환경 안에 있는 이미터와 리스너의 위치에 따라 크게 달라집니다. 예를 들어 직접 (회절된) 경로의 방향성은 이미터와 리스너의 상대적 위치와 방해하는 장애물의 여부에 따라 완전히 달라집니다. 초기 반사의 방향성도 이와 비슷하지만 근처에 있는 벽과의 근접성에 따라서도 달라집니다. 반면, IR의 후반부는 방향성이 거의 없으며 랜덤 방향에서 리스너와 부딪히는 파면으로 구성되어 있습니다. 그렇기 때문에 공간 샘플링이 보다 세분적이지 않더라도 충분합니다.
그림 3 - 지오메트리 정보에 따른 음향 매개 변수에 의한 잔향 효과 제어 음향 매개 변수의 공간 샘플링 밀접도. (이 매개 변수는 임펄스 반응의 여러 다른 부분을 정확하게 렌더링하기 위해 필요합니다.) 이미터와 리스너가 동일한 공간/환경에 있으며 상대적으로 가까울 경우, IR의 초반부는 이미터와 리스너의 위치에 별다른 영향을 받지 않는 후반부보다 훨씬 정교한 샘플링을 필요로 합니다. 공간적 밀도가 더 높다고 해서 CPU 사용량이 더 많아지는 것은 아니지만, 적어도 메모리 사용량과 매개 변수화를 구동하는 데에 필요한 작업량은 더 많아집니다.
Microsoft의 Project Acoustics가 개발한 솔루션이 바로 이 지오메트리 정보에 따른 음향 매개 변수의 잔향 효과 제어 중 하나입니다. 매개 변수화 과정은 자동적으로 진행되며 오프라인 파동 기반 시뮬레이션을 사용합니다. 추출된 매개 변수는 잔향 효과와 전송 레벨을 구동하는 데에 사용됩니다 [24]. 이 솔루션은 직접 경로를 포함한 완전한 IR을 다루기 때문에 이미터-리스너 짝의 가능한 모든 위치에 대해 꽤나 정교한 격자선에서 각각 서로 다른 매개 변수 세트가 계산됩니다 (1/n 미터의 차수).
반대로 Wwise Spatial Audio 공간의 음향 매개 변수는 주어진 공간에 어떤 보조 버스가 지정되었는지를 아는 것으로 구성됩니다. 현재 이 매개 변수는 지오메트리에서 추론되지 않으며, 대신 지오메트리가 어떻게 들렸으면 좋겠다는 디자이너의 선호에 따라 수동적으로 할당됩니다. 또한 공간마다 음향 매개 변수가 한 세트만 제공되기 때문에 이전에 살펴본 요점을 참고하자면 공간적 샘플링이 아주 거칩니다.
Wwise Spatial Audio의 이중 접근 방식
다음은 위에서 살펴본 내용을 요약한 표입니다.
지오메트리로 구동되는 음향 시뮬레이션 (Geometry-Driven Acoustic Simulation) |
음향 매개 변수로부터의 잔향 효과 제어 (Reverb Effect Control from Acoustic Parameters) |
|
디자이너 제어 | 거리와 회절 곡선, 물질 흡수 | 잔향 설정과 전송 레벨 |
엔진 입력 | 지오메트리와 태그된 물질 | 음향 표면, 어느 정도 지오메트리로부터 추출됨 |
비용 | CPU 비용이 상대적으로 높으며 시뮬레이션의 길이에 따라 기하급수적으로 증가함 | 런타임 비용이 저렴하며 초기 IR을 캡처하기 위해 매개 변수화 샘플링이 아주 세분적이어야 함. |
표 1 - 지오메트리로 구동되는 음향 시뮬레이션과 음향 매개 변수로부터의 잔향 효과 제어 패러다임 비교.
Wwise Spatial Audio는 두 패러다임의 최고 장점을 모두 가져오려고 합니다. Spatial Audio Room을 사용하면 후기 잔향의 Reverb Control 제어 방식을 이용하여 음향 매개 변수의 양을 최소로 유지해줍니다. 한편 직접 경로와 초기 반사의 경우에만 지오메트리로 구동되는 시뮬레이션을 사용하여 [25] 이 접근 방식의 CPU 비용을 줄여줍니다.
다음 그림은 이 이중 접근 방식을 보여줍니다.
그림 4 - 이중 접근 방식. Wwise Spatial Audio는 CPU 비용이 낮은 IR의 초반부에서 지오메트리 구동 시뮬레이션을 사용하며, 필요한 공간적 샘플링의 밀도가 낮아도 되는 후반부에서는 잔향 제어를 사용합니다.
잔향 회전
앞서 말씀드렸듯이 공간마다 음향 매개 변수가 한 세트만 주어지기 때문에 잔향을 위해 이 공간 안에서의 이미터와 리스너의 위치가 고려되지 않습니다. 하지만 공간에는 정의된 방향이 있기 때문에 리스너와의 상대적인 방향을 고려할 수 있습니다. 그리고 3D 버스의 마법으로 인해 아무 노력 없이 이 상대적인 방향을 고려할 수 있죠.
이에 대해 설명해드리겠습니다. 잔향은 보조 버스의 다채널 신호를 출력합니다. 이 보조 버스는 Room 게임 오브젝트에 연결되어 있는데, 이 오브젝트는 게임에서 정의된 방향을 가지고 있습니다. 리스너가 이 방 안에 있을 경우 보조 버스 신호는 확산이 거의 100%에 가까운 음원의 역할을 합니다. 3D Spatialization Position and Orientation (3D 공간화 위치와 방향) 모드로 설정되었을 경우, 이 음장(sound field)은 공간에 대한 리스너의 방향에 따라 회전하게 됩니다 [26]. 따라서 이 잔향에서 퍼져 나와 둘러싸는 소리는 리스너 대신 세계와 연결된 것처럼 느껴지게 되죠.
그림 5 - Wwise Profiler의 Voice Graph 스크린샷. 3D 버스와 공간과 리스너 게임 오브젝트의 상대적 위치에 따라 다채널 잔향 출력 신호가 회전되는 곳을 볼 수 있습니다. 공간 잔향으로 전송되는 모든 이미터는 해당 잔향에 의해 모노로 다운믹스되기 때문에 개별적인 방향성을 잃게 됩니다 [27].
그렇다면 왜 잔향에 의해 출력되는 음장을 회전해야 할까요? 대부분의 인공 잔향 생성기는 설계상 등방성 신호(모든 방향에서 동등하게 도달하는 에너지)를 생성하기 때문에 이 잔향 생성기를 회전하더라도 아무런 차이가 들리지 않습니다. 예를 들어 Wwise RoomVerb의 LR 모듈이 그러하죠. 하지만 동일한 잔향 효과의 ER 모듈은 심지어 게임의 지오메트리에서 비롯되지 않더라도 방향성이 분명한 패턴을 보여줍니다. 또한, 연구에 따르면 실제 잔향이 이방성일 수 있습니다 (예: 복도나 터널에 있을 경우) [28]. 그렇기 때문에 실제 터널 안에서 녹음된 다채널 IR을 Convolution Reverb 안에서 사용하고 이 잔향을 Spatial Audio Room 버스에 지정할 경우, 게임에서 터널의 방향이 원본 터널의 방향을 따르게 됩니다. 이 효과가 아주 미세할 수도 있지만, 잔향의 방향이 그래픽에 맞춰서, 그것도 아주 동적으로 일정할 수 있다는 점은 몰입감을 상당히 높여줍니다. 효과가 들리시나요?
오디오 2 - OpenAir 웹사이트에서 찾은 Innocent Railway Tunnel의 1차 앰비소닉 IR 녹음의 두 가지 바이노럴 렌더링 [29]. 두 렌더링 모두 Wwise Convolution Reverb을 사용한 다음 Google Resonance 바이노럴 플러그인을 사용하여 렌더링했습니다. 하지만 한 렌더링은 회전 작업을 했습니다. 차이점이 들리시나요? 터널의 방향이 어디인지 맞춰보세요.
전망 / 향후 작업
초기 반사와 후기 잔향 사이의 경계선 무너뜨리기
저희 경험에 빗대어 볼 때, 모든 오디오 팀은 서로 다른 방법을 사용하여 공간 음향을 게임에 통합합니다. 다양한 기능을 사용하고, 서로 다른 작업 과정과 심미성 및 시스템을 구축하며, 고유하고 독특한 공간 음향을 개발하는 데에 힘을 쓰죠. 부디 Wwise Spatial Audio가 도움이 되기를 바랍니다. 위에서 설명해드린 두 가지 패러다임에 대해 저희는 다음 두 방면에서 작업을 이어나갈 예정입니다.
A. 시뮬레이션: 지오메트리와 물질 특성으로부터 IR을 완전히 시뮬레이션할 수 있음.
B. 잔향 제어: 게임 지오메트리에 대한 더 많은 정보를 잔향 효과에게 제공함.
게임 시스템과 심미성은 물론 팀의 작업 과정과 선호도에 가장 적합할 수 있도록 이 두 패러다임 사이를 더욱 유연하게 교차할 수 있기를 바랍니다.
A. 시뮬레이션
IR을 완전히 시뮬레이션할 수 있는 첫 번째 단계는 계속해서 저희 레이캐스팅 엔진의 성능을 개선하는 것입니다. 이에 대해 저희가 이미 작업해놓은 야심찬 기능을 곧 다음 Wwise 출시와 함께 만나보실 수 있습니다. 이 기능은 지오메트리 엔진의 성능을 여러분의 예산에 맞게 조정할 수 있게 해줍니다.
B. 잔향 제어
다른 기술과 비교할 때 저희 접근 방식은 공간과 포털이 지오메트리로부터 개별적이며 직접 제작되어야 한다는 제약이 있습니다.
1. 지오메트리 사전 처리: 저희는 현재 Unreal Engine 통합에서 이 문제를 최소화하기 위해 공간과 포털 컴포넌트 및 블루프린트 지원을 추가하는 작업에 박차를 가하고 있습니다. 최근에 열린 실시간 스트리밍 행사에서 지오메트리를 공간과 포털로 간소화하기 위해 개발 중인 멋진 도구를 아마 엿보신 분들도 계실 거예요 [30].
2. 또한 저희는 잔향에 공간을 매핑하는 훌륭한 '첫 번째 추측'을 제공하기 위해서 열심히 노력하고 있습니다. 저희는 공간 모양으로부터 고수준 잔향 기능을 추출해내어 최대한 빨리 작업하면서 원하는대로 공간을 추가 조정할 수 있게 만드는 것을 목표로 하고 있습니다.
그리고 RTPC를 통해 잔향에 지오메트리 정보를 전달하는 툴을 더 개발중입니다. 기대해주세요!
간소화와 일반화
이 블로그 시리즈를 시작할 때, “[디자이너는] 어느 정도 믹싱 규칙을 제어할 수 있지만 최종적으로는 시스템이 결정한다.”라는 시몽 아슈비(Simon Ashby)의 말을 인용했었습니다. 즉, 다양한 도구와 곡선을 통해 물리적인 요소(예: 거리, 회절각)를 오디오 신호 처리로 '재해석'하는 자유가 여러분에게 있다는 것입니다. 그리고 이러한 자유가 얼마나 중요한지를 살펴보았습니다. 하지만 결국 이것이 어떤 상황에서든 제대로 작동해야겠죠? 어떻게 하면 이 모든 것이 잘 작동하도록 할 수 있을까요? 제가 잠재적으로 생각하는 방향은 다음과 같습니다:
- 문제적인 상황을 '덮어 쓸 수' 있는 도구를 제공함으로써 더 많은 제어를 제공.
- 더욱 자연스럽게 일반화하도록 기본 음향 모델을 개선.
- 유연성이 떨어질 수는 있지만 '규칙을 피해갈 수 있는' 간단한 제어 제공.
개발할 수 있는 방향이 정말 수만 가지입니다. 그렇기 때문에 여러분에게 적합한 방향으로 개발을 이끌기 위해 대화에 꼭 참여해주세요.
댓글