menu
버전
2024.1.6.8842
2024.1.6.8842
2023.1.14.8770
2022.1.19.8584
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.6.8842
2023.1.14.8770
2022.1.19.8584
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
Wwise SDK 2024.1.6
|
Reverb Zone(리버브 구역)은 뚜렷한 리버브 효과가 있는 Room 내의 특정 영역을 모델링하지만 인접한 Room에 연결할 때 별도의 포털이 필요하지 않습니다. 눈에 띄는 벽이 없거나 일반적으로 두 영역 사이의 접점에서 음의 공간이 양의 공간보다 많은 경우 기본 Room 대신 Reverb Zone을 사용하세요. 다음은 Reverb Zone을 사용할 수 있는 몇 가지 예입니다.
Reverb Zone은 Wwise Spatial Audio 내의 Room 유형 중 하나로, Room과 모든 속성이 동일합니다. 또한 Reverb zone은,
소리 전달을 관리하는 방법에는 여러 가지가 있습니다. AK::SoundEngine::SetGameObjectAuxSendValues를 이용해 별도의 센드를 추가하거나 Reverb Zone을 사용할 수도 있습니다. 하지만 Reverb Zone을 이용하면 이점이 있습니다. Wwise Spatial Audio의 Rooms and Portals API가 제공하는 사운드 전달 프레임워크와 통합되어 이를 최대한 활용할 수 있다는 점입니다.
다음 예시에서는 Reverb Zone의 사용법을 보여줍니다. 이는 Wwise SDK의 일부로 배포되는 Integration Demo 프로젝트에 포함되어 있습니다.
![]() | 이미터가 "Room Object"라는 이름의 Room 내부에서 재생됩니다. |
![]() | 사운드가 "Patio Object"라는 이름의 Reverb Zone에 연결된 Portal로부터 전달됩니다. |
![]() | 사운드가 Reverb Zone의 상위 계층 Room의 외부로 계속 전달됩니다. 외부에서 사운드가 또한 지오메트리에 의해 정의된 장애물 주변으로 회절됩니다. |
Advanced Profiler나 Voice Inspector의 Voice Graph에서 5개의 Game Object가 어떻게 연결되어 있는지 확인할 수 있습니다.
![]() | "Emitter E" 이미터는 현재 안에 들어가있는 Room과 인접한 Room 모두에게 전송됩니다. 이 경우, 이미터는 "Room Object" 내부에 있고 "Patio Object"와 인접해 있습니다. |
![]() | 각 Room은 리스너에게 가장 짧은 경로를 따라 다음 Room으로 전송합니다. 'Room Object'는 'Patio Object'로 전송되고, 이는 다시 'Outside Object'로 전송됩니다. 'Patio Object'와 'Outside Object' 사이의 연결은 두 개의 Room 사이의 상위-하위 관계를 통해 만들어집니다. |
AK::SpatialAudio::SetReverbZone
API를 사용하면 Reverb Zone과 상위 Room 사이의 전환 구역을 지정할 수 있습니다. 이 전환 구역은 포털과 매우 유사한 기능을 합니다. 전환 구역은 Room의 지오메트리가 겹치지 않는 한 포털이나 다른 전환 구역과 겹칠 수 있습니다. 이러한 유형의 오버랩을 사용하면 Reverb Zone 간에 부드러운 크로스페이드를 만들 수 있습니다. Reverb Zone에 대한 전환 구역을 정의하려면 Reverb Zone Room에 한 개 이상의 '투명한' 표면이 있는 지오메트리가 있어야 합니다. 투명한 표면은 AkAcousticSurface::transmissionLoss
가 0으로 설정된 표면입니다. Reverb Zone의 전환 구역의 범위는 Room의 투명 삼각형 위치와 AK::SpatialAudio::SetReverbZone 에 전달된 in_transitionRegionWidth
매개변수에 의해 정의됩니다. 전환 구역은 각 삼각형을 중심으로 합니다. 한쪽 벽이 투명한 표면으로 구성된 Room을 생각해 보겠습니다. 이를 AK::SpatialAudio::SetReverbZone
을 호출하여 Reverb Zone으로 정의하고 in_transitionRegionWidth
를 5로 설정합니다. 전환 구역은 Game Object가 Reverb Zone 바깥쪽의 투명한 벽으로부터 5 단위 떨어져 있을 때 시작되고, Game Object가 Reverb Zone 안쪽의 벽을 지나 5 단위 떨어져 있을 때 끝납니다. 전환 구역은 투명한 삼각형으로만 정의되므로 전환 구역에 대한 사용자 정의 모양을 정의할 수 있습니다. Room 지오메트리 구조 정의에 대한 자세한 내용은 Room 지오메트리 설정하기 를 참조하세요.
이 섹션에서는 일반적인 Reverb Zone 생성 과정을 설명합니다. 다음 예시에서는 야외 환경으로 둘러싸인 숲을 만드는 방법을 보여줍니다. 숲과 야외 환경은 각각 독특한 리버브 효과를 갖습니다.
Reverb Zpme은 감쇠(attenuation)와 관련하여 Room의 동작과 속성을 상속하지만 다음과 같은 추가 고려 사항이 있습니다.
일반적으로 회절(diffraction) 경로는 전달 손실(transmission loss)을 수반하지 않습니다. 왜냐하면 전달 경로만이 표면을 통과할 수 있기 때문입니다. Reverb Zone에서 회절 경로는 AkRoomParams::TransmissionLoss 가 0보다 큰 Reverb Zone의 전환 구역을 통과하는 경우 변조 경로(wet path)와 룸 톤에 대한 예외가 발생합니다. 이런 일이 발생하면 같은 Room의 서로 다른 경로에서 전달 손실량이 달라질 수 있습니다. 이는 Voice Inspector에서 확인할 수 있습니다.
이 룸 톤의 예시에서는 Room에서 리스너에게 직접 전달되는 경로가 있습니다. 또한 포털을 통과하는 경로도 있습니다. 각 경로는 서로 다른 양의 전달 손실을 수반합니다.
직접 전달 경로에서의 전달은 리스너 공간과 이미터 공간의 전달 손실의 최대값으로서 Emitter-Listener (Direct) Connection 에서 설명한 방식대로 계산됩니다. 이러한 공간이 서로 다른 Reverb Zone 계층에 속하는 경우 전달 손실은 공간과 상위 공간 모두에서 최대가 됩니다.
회절 경로에서 경로가 전환 구역을 교차할 때마다 하위 공간의 전달 손실이 적용되며(AkRoomParams::TransmissionLoss로 지정), 최종 전달 손실은 경로를 따라 발견된 값의 최대값이 됩니다.
Reverb Zone의 어떤 표면을 투명하게 할지(전송 손실이 0일지) 선택할 때는 주의해야 합니다. 이는 Reverb Zone에 있는 오브젝트와 상위 방 사이의 거리를 계산하는 데 영향을 미치기 때문입니다. Reverb Zone과의 거리는 가장 가까운 불투명 삼각형을 기준으로 계산됩니다.
일반적인 예시는 대규모 Reverb Zone의 바닥입니다. Reverb Zone의 바닥이 투명하고(표면 전송 손실이 0) 리스너가 벽에서 멀리 떨어진 위치에 있는 경우, 상위 공간과의 가장 가까운 거리는 바닥을 통과하게 되며, 이는 일반적으로 바람직하지 않습니다.
또 다른 일반적인 예는 다른 방으로 통하는 포털이 있는 Reverb Zone의 표면입니다. 포털이 연결된 표면은 일반적으로 불투명해야 합니다.
이 예시에서, Reverb Zone에서 강조 표시된 세 개의 표면이 불투명해져있습니다. 아래 표면은 바닥과 공유됩니다. 왼쪽 표면은 다른 공간과 공유하며 연결된 포털이 있습니다. 윗면은 천장이 덮인 발코니와 같은 것을 표현한 창의적인 선택입니다. 다른 모든 표면은 투명합니다.
AK::SpatialAudio::SetReverbZone
API 는 공간의 계층을 생성합니다. 상위-하위 관계는 AK::SpatialAudio::SetReverbZone
을 통해 직접 생성되고, 형제 관계는 두 개 이상의 Reverb Zone에 대해 동일한 상위 공간을 지정하여 생성됩니다.AK::SpatialAudio::SetReverbZone
나 AK::SpatialAudio::SetPortal
을 호출하면 실패합니다.AkAcousticSurface::transmissionLoss
가 0보다 높아야 합니다. 한 Reverb Zone은 다른 Reverb Zone으로 직접 전환될 수 없으므로 Reverb Zone과 해당 전환 구역이 겹치면 안 됩니다.프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요