menu
 
버전
2022.1.19.8584

2024.1.6.8842

2023.1.14.8770

2025.1.0.8897

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

menu

Wwise SDK 2022.1.19
Rooms and Portals Overview

Here is the outline of this page:

Summary of Sound Propagation Features

아래 표에는 Spatial Audio의 Room과 Portal 기능들을 음향 현상 측면으로 묶어놓았습니다. 그리고 각 기능에 대해 Spatial Audio가 어떤 역할을 하는지, 사운드 디자이너는 이를 어떻게 프로젝트에 적용할 수 있는지 간단한 설명이 나와있습니다.

Acoustic PhenomenonSpatial AudioSound Design in Wwise
Diffraction of direct path
  • Calculates indirect sound paths that drive diffraction values
  • Modifies the game object position to simulate the perceived angle of incidence of the diffracted sound
  • Assigns diffraction values to volumes and filters via diffraction curves in the Attenuation ShareSet, project obstruction curves, or built-in RTPCs
Diffuse field (reverb)
  • Send to room's auxiliary bus
  • Constant power transitions
  • Reverb, bus volume and game-defined send offset on Actor-Mixer
Room coupling: reverb spatialization and diffraction of adjacent room's diffuse field
  • Calculates the propagation of the diffuse field through portals
  • Room object positioning and spread
  • Send to listener's room's auxiliary bus
  • Assigns diffraction values to volumes and filters via diffraction curves in the Attenuation ShareSet, project obstruction curves, or built-in RTPCs
  • Volume, filtering, or any property on Bus
  • 3D panning of busses, reverb, bus volume and game-defined send offset of Auxiliary Bus to other busses
Transmission
  • Drives transmission loss values according to the room and surfaces the sound path goes through
  • Assigns transmission loss values to volumes and filters via transmission curves in the Attenuation ShareSet, project occlusion curves, or built-in RTPCs

Modeling Sound Propagation from Other Rooms

Spatial Audio Room과 Portal과 함께, 리스너 소리를 제외한 Room 안의 소리 전달은 Room과 Portal 추상화에 의해 관리됩니다. 다른 Room 내부의 이미터가 Portal 및 연결된 회절(diffraction)을 통해 리스너에 도달하고, 공간들의 '벽'을 통한 전달(transmission)을 통해 도달합니다. Ensure that the Enable Diffraction and Transmission box is checked in the Positioning tab of each sound that need to be propagated.

Diffraction

인접한 Room의 각 이미터에 대해 Spatial Audio는 Shadow Boundary, 즉 연결된 Portal의 가장 가까운 모서리로부터의 회절 각도를 계산합니다. For more information, see Diffraction (회절). 180도까지 가능한 이 회절 각도는 0에서 100% 사이 계수에 매핑되어 오디오 변환을 만들어낼 수 있습니다. 여기에는 두 가지 방법이 있습니다. It can set the diffraction value on the emitter game object or set the value of the Diffraction built-in game parameter.

The diffraction value on the emitter game object is used to drive curves in the Authoring. By default, the project obstruction curves are used. They can be authored in the Project Settings' Obstruction/Occlusion tab and will impact Volume, LPF, and HPF to emulate volume and frequency-dependent behaviors. Project obstruction curves impact all the sounds in a project, which makes them less flexible. However, custom Diffraction curves can be created in an Attenuation ShareSet applied to the sound.

Alternatively, the Diffraction built-in parameter can be used. To do so, create a game parameter and set its Bind to Built-in Parameter drop-down menu to Diffraction. 이 게임 매개 변수에 입력되는 값의 범위는 게임 오브젝트에 의해 결정되므로 각 이미터마다 고유한 범위를 갖습니다. 설정이 끝나면 RTPC로 자신의 Actor-Mixer의 속성을 제어할 수 있습니다. Output Bus Volume과 LPF는 기본 Volume과 LPF에 대해 특권이 있는데, 그 이유는 이들이 직접 신호 경로에만 적용되고 Room의 잔향의 보조 전송에는 적용되지 않기 때문입니다.

dangerous주의: Compared to curves, using a built-in parameter requires more manipulations. Built-in game parameters also only apply on a single value for all positions of a game object. When multiple values are set, the smallest is taken. Recall that multiple game object positions are used when a Room has more than one Portal, so a built-in parameter is not recommended for this scenario.

The Rooms' diffuse energy is also included in the sound propagation model of Spatial Audio as the output of Rooms' Auxiliary Busses. Spatial Audio는 이에 대한 회절도 계산합니다 ('변조 회절'). Spatial Audio는 분산 에너지가 Room가 Portal에 수직으로 닿는 면에서 새어나온다고 가정합니다. 따라서 이 Portal의 법선 벡터와 연관시켜 회절 각도를 계산하게 됩니다. 이 회절 값은 Wwise에서 이미터의 원본 경로와 똑같은 방식으로 사용할 수 있습니다. 내장 게임 매개 변수를 사용할 때는, RTPC로 공간의 보조 버스에, 즉 일반적으로 버스의 Output Bus Volume과 Output Bus LPF에 사용해야 합니다. Actor-Mixer와 같은 이유로 버스의 Bus Volume 속성보다 Output Bus Volume 속성이 더 주로 사용됩니다. 해당 잔향과 리스너 공간 잔향의 커플링에 사용되는 보조 전송 경로에 영향을 미쳐서는 안되기 때문이죠.

Virtual Positioning and Diffraction Through Portals

When the Spatial Audio's initialization setting AkSpatialAudioInitSettings::bCalcEmitterVirtualPosition is set, the position of the emitters located in Rooms that are adjacent to the listener is modified such that they seem to appear from the diffracted angle, if applicable. 아래 3D Game Object Profiler의 스크린샷을 보면, 리스너 (Listener L)는 Portal의 오른쪽에 있고 '진짜' 이미터는 왼쪽 아래에 있습니다 (Emitter E, 방향 벡터 없음). Spatial Audio는 이동 거리를 유지하며 이미터의 위치를 왼쪽 위로 옮겨, 변경된 위치가 마치 그 구석에서 오는 것처럼 만듭니다. 리스너는 Portal 가장자리의 음영 영역에 대해 약 45도 각도에 위치하고 있어, 두 교차점에 작성되어 있듯이 27의 회절을 만들어냅니다.

Room에 여러 개의 Portal이 연결돼있을 경우, Spatial Audio는 이미터에 복수의 위치를 할당할 수 있습니다 (Portal 당 하나씩). MultiPosition_MultiDirection 모드를 사용하면 특정 Portal의 활성화 또는 비활성화 여부가 다른 Portal의 지각적 볼륨에 영향을 끼치지 않도록 할 수 있습니다.

Transmission

Sound transmission between rooms is modeled separately for the wet path and for the dry path. Here, the dry path is referred to as Source Transmission and the wet path as Room Transmission

In a manner similar to diffraction, the resulting transmission loss value can be auralized using either of two methods, via the curves or via the Transmission Loss built-in parameter.

By default, the project occlusion curves are used for transmission. They can be authored in the Project Settings' Obstruction/Occlusion tab and will impact Volume, LPF, and HPF to emulate volume and frequency-dependent behaviors. Project occlusion curves impact all the sounds in a project, which makes them less flexible. However, custom Transmission curves can be created in an Attenuation ShareSet applied to the sound.

info참고: Using curves to simulate transmission loss is preferred over an RTPC, because it provides greater accuracy when modeling both transmission and diffraction. This is due to the fact that RTPCs can not be applied to individual sound paths, therefore any parameter mapped to a transmission loss RTPC will also affect any potential diffraction paths originating from an emitter.

Source Transmission

When an emitter is in a different room than the listener, and has no direct line of sight through a portal, Spatial Audio models sound transmission through walls by applying a transmission loss factor to the game object. Transmission loss between rooms is calculated from the Room settings' AkRoomParams::TransmissionLoss parameter, by taking the maximum value between the listener's Room and the emitter's Room. If a sound emitter is blocked by one or more geometric surfaces, then the transmission loss factor of the geometry (as defined by AkAcousticSurface::transmissionLoss) is applied. In the case that there is more than one surface between the emitter and listener, then the maximum transmission loss factor is taken. Likewise, if a sound is both blocked by geometry, and is in a different room from the listener, it is the maximum value of all transmission loss contributors that is applied.

Room Transmission

In addition to sound transmission of individual emitters within a room, Spatial Audio models sound transmission of the room itself. This includes the contribution of the diffuse reverb field, as well as any room tones that may be playing inside a room, transmitting through walls.

As is the case with source transmission, the room's transmission loss is calculated as the greater of the transmission loss factors when comparing the source room and the listener's room. Authoring room transmission for room tones uses the sound's Transmission Loss curves on its Attenuation ShareSet, the Occlusion curves in the Wwise Project Settings in the case that there is no Attenuation ShareSet, or the Transmission Loss built-in parameter. Authoring room transmission for the diffuse reverb field instead uses the Transmission Loss curves on the room's auxiliary bus Attenuation ShareSet, the Occlusion curve in the Wwise Project Settings in the case that there is no Attenuation ShareSet, or the Transmission Loss built-in parameter.

We recommend using the Project Settings' Occlusion curves to author the room's diffuse reverb field. This is because we don't recommend adding an Attenuation ShareSet on the room auxiliary bus. Sounds can author the auxiliary send volume attenuation in their own Attenuation ShareSets using the distance-driven Auxiliary Send volumes curve. If there is an Attenuation ShareSet on the room's Auxiliary Bus, its distance-driven volume curve will be applied on the sound in addition to the sound's Auxiliary Send volumes curve. If you cannot use the Project Settings' Occlusion curves and must have custom Transmission Loss curves, make sure to have a flat curve as the distance-driven volume curve of the added Attenuation ShareSet on the room's Auxiliary Bus.

info참고: To enable room transmission, it is necessary to define a shape for the room so that the room has a source and an extent. The room shape is calculated from the bounding box surrounding the geometry associated with the room. To set up room transmission via the API, refer to Room 지오메트리 설정하기.

Room Coupling

Portal을 통해 리스너의 공간으로 관통하는 인접 공간들의 분산 에너지는 해당 Portal에 위치한 음원들처럼 보일 수 있어 기존 리스너의 공간에 영향을 끼치게 됩니다. 즉, 리스너 Room의 Auxiliary Bus로 전송돼야 합니다. 이를 위해선 앞서 언급한 것처럼, 인접한 Room의 보조 버스에서 Enable Game-Defined Sends 체크 상자를 체크하면 됩니다. Game-Defined Send Offset을 이용해 다른 공간의 잔향으로 전송되는 양을 조정할 수 있습니다.

Multiple Room Traversal

사운드 전달은 여러 공간에 대해서도 동작합니다. 전달 경로를 검색하면 Spatial Audio 내에서 Room 트리를 검색합니다. Room을 이미 검색한 경우에는 검색을 중지해 순환 연결을 피합니다. 얼마나 깊이까지 검색할 지는 Spatial Audio의 초기화 설정 AkSpatialAudioInitSettings::uMaxSoundPropagationDepth 에 의해 결정됩니다 (기본 설정은 8).

Room Game Object Behavior

Spatial Audio는 각 Room에 대해 하나의 게임 오브젝트를 Wwise에등록합니다.

dangerous주의: 이 게임 오브젝트의 위치 지정과 보조 센드 값을 직접 수정해서는 안 됩니다.

Room에 리스너가 있을 경우, 해당 Room의 게임 오브젝트는 이 리스너를 따라가도록 움직입니다. 따라서 Room과 Listener 오브젝트의 거리는 약 0입니다. 그러나 Room 설정 (AkRoomParams)에 지정되어있는 방향은 유지됩니다 . 3D 버스의 방향에 대한 설명은 Wwise에서 Room Auxiliary Bus 설정하기 를 참고하세요.

리스너가 Room의 바깥에 있을 경우, 이 Room의 게임 오브젝트는 해당 Portal의 위치를 사용합니다. 더 정확히 말해, Portal의 뒷편, 즉 Portal의 접선에 리스너가 투영(projection)되는 위치 선상에서 Portal의 크기 끝에 고정됩니다. 위의 Virtual Positioning and Diffraction Through Portals 섹션에 있는 3D Game Object Profiler 스크린샷에서 Room의 게임 오브젝트를 통해 이를 확인할 수 있습니다.

여러 Portal이 있는 경우, 이미터와 동일한 이유로 MultiPosition_MultiDirection mode 에서 Room의 게임 오브젝트가 복수의 위치에 할당됩니다.

Portal 내부에서 전환이 일어날 경우 "Room-내부"와 "Portal"의 작동 방식은 부드럽게 보간(interpolate)됩니다.

Room Tones

The Room Game Object's primary purpose is to spatialize reverb (the emitter's "wet path"), however it is possible to leverage the spatialization behavior of Rooms and Portals (described in Room Game Object Behavior) and post events directly on the Room Game Object to implement room tones. For setting up room tones in Wwise, refer to Wwise에서 룸 톤 설정하기. For posting events refer to Room Game Object Event 전달.

Portal Spread and Aperture

The spread of a sound in Wwise determines the width of the sound field that is constructed when a 3D sound is panned onto an Audio Bus. For most sounds, spread is defined in Wwise by a curve in the attenuation settings of the sound. However, for sounds played on Room Game Objects (i.e. room tones) and for the reverb sent to a Room Auxiliary bus, it is not necessary to define such a curve, because Spatial Audio calculates the spread automatically.

Furthermore, if a sound has a spread curve defined in the attenuation settings in Wwise, and that sound traverses one or more portals, its final spread value is subject to the Aperture value of those portals. The Aperture value can be thought of as an upper-limit placed on the spread of a sound, and simulates the constriction of the sound field as the sound passes through the portal.

The spread of a sound emitter can be visualized in the Game Object 3D Viewer in Wwise, with the following settings:

  • Obstruction/Occlusion Data must be selected in the Profiler Settings dialog box prior to capturing data.
  • Show Spread Cones must be selected in the Game Object 3D Viewer Settings dialog box.

The Game Object Spread and portal Aperture values can also be viewed in the Obs/Occ tab of the Advanced Profiler.

Game Object Spread

Game objects may have a Spread value that is calculated by Spatial Audio if they are Radial Emitters.

For Room Game Objects, the Spread value is the same as the Aperture value, and it is calculated by approximating the solid angle that each portal subtends on the listener. Note that a Room Game Object has a unique spread value per portal (recall each portal is rendered as a unique sound position).

Portal Aperture

The Aperture value for a Game Object is calculated on a per-path basis, and is the result of the minimum spread value for all portals traversed in a particular sound path. In the case of Room Game Objects, Spread and Aperture take on the same value.

Spread Calculation Summary

For a given sound position and listener pair, the final spread value is calculated as follows:

  • The sound's spread curve is evaluated at the distance between the sound position and the listener.
  • If no spread curve exists, the spread value is determined by the game object's radius (see AK::SpatialAudio::SetGameObjectRadius). If no radius is given, and no spread curve is defined, the spread is take as 0%.
  • The sound's Aperture value is calculated from all portals in the sound position's path. Multiple portals' Apertures are combined by taking the minimum value.
  • The sound's spread (originating from the spread curve or the Game Object's Spread) and Aperture are combined by taking the lesser of the two. This is the final spread value passed to the panner in the Sound Engine.

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요