AkAcousticTexture
Wwise Acoustic Texture를 나타내는 Unreal 오브젝트 입니다. 이 오브젝트는 Wwise Picker에서 Event 드래그 '드래그'하거나 Unreal Content Browser에서 우클릭하여 생성할 수 있습니다. 이 오브젝트를 생성한 후 AkSurfaceReflectorSetComponent 의 다각형이나 AkSpotReflector 에 적용할 수 있습니다.
AkGeometry Surface Properties Map을 사용할 경우 Integration Settings 에서 AkAcousticTexture를 Unreal Physical Material에 연결할 수 있습니다.
AkSpotReflector
Spot Reflector 액터는 3D 세계에서 다방향적 지점 반사기를 배치할 수 있게 해줍니다. Spot Reflector는 멀리 있는 산과 같이 반경이 크며 멀리 있는 오브젝트에 배치하는 것이 적합합니다.
Spot Reflector는 Enable Spot Reflectors가 활성화되었으며 같은 공간으로 위치 지정되어 있는 AkComponent 에서 오는 모든 사운드를 반사합니다. 둘 다 실외에 있을 경우 지점 반사기에 AkComponent 가 제공됩니다. AkComponent 가 공간 안에 있을 경우 동일한 공간 안에 있는 지점 반사기에만 제공됩니다. 공간은 AkRoomComponent 가 연결된 볼륨을 사용하여 생성할 수 있습니다.
BeginPlay 때 Spatial Audio API에서 AK::SpatialAudio::AddImageSource()
를 호출합니다.
- 속성:
-
Aux Bus: 초기 반사 DSP의
AkReflect
plug-in 을 가진 AkAuxBus 입니다. 이 보조 버스는 게임에서 정의한 보조 센드를 활성화해야 하며 Listener Relative Routing는 활성화하지만 3D Spatialization은 None으로 설정해야 합니다.
-
Acoustic Texture: 이 허음원(image source)에 의해 반사되는 사운드를 필터링하는 데에 사용되는 AkAcousticTexture 입니다.
-
Distance Scaling Factor: 허음원 거리 척도입니다. 이 값은 리스너를 기준으로
sourcePosition
벡터의 비율을 효과적으로 조정함으로서 거리의 비율을 조정하고 방향을 유지합니다.
-
Level: 게임에 의해 제어되는 이 음원의 선형적 레벨입니다.
AkSurfaceReflectorSetComponent
이 컴포넌트는 AkGeometryComponent 와 동일하지만 AVolume 액터에 연결되어야 합니다. BeginPlay에서 모든 볼륨의 활성화된 다각형이 SpatialAudio 엔진으로 전송됩니다.
- 속성
-
Enable Surface Reflector Set: 이 컴포넌트를 활성화하거나 비활성화합니다.
-
Acoustic Surfaces: 각 다각형과 연관된 AkAcousticTexture 를 정의하는 배열입니다. 배열의 색인은 상위 볼륨이 선택되었을 때 Game Viewport에서 나타납니다. 다각형에 텍스처가 지정되면 텍스처의 Edit Color를 사용하여 다각형에 색깔이 지정되며 Acoustic Texture의 이름이 Game Viewport 안에 다각형에서 출력됩니다. Acoustic Texture를 None으로 지정할 경우 표면이 완전히 반사적이게 되며 추가적인 텍스처 필터가 적용되지 않습니다. 또한 각 다각형은 Enable Surface 체크 상자를 통해 활성화하거나 비활성화할 수 있습니다.
-
Acoustic Surface 속성
-
Enable Diffraction: 해당 Geometry에서 지오메트릭 회절을 활성화하거나 비활성화합니다.
-
Enable Diffraction on Boundary Edges: 해당 Geometry의 경계 모서리에서 지오메트리 회절을 활성화하거나 비활성화합니다. 경계 모서리는 한 삼각형에만 연결된 모서리를 말합니다. 지오메트리의 특정 모양에 따라 경계 모서리가 유용하거나 유용하지 않을 수 있습니다. 처리를 쉽게 하기 위해 회절 모서리의 개수를 줄이는 것이 좋습니다.
-
Associated Room: (선택 사항) 이 Surface Reflector Set를 Room과 연결합니다. 표면 반사기를 특정 공간과 연결시키면 지오메트리가 보이거나 접근할 수 있는 범위를 제한하게 됩니다. 이 속성을 None으로 남겨둘 경우 해당 지오메트리가 전역적 범위를 가지게 됩니다. 지오메트리가 (1) 공간 안에 완전히 담겨 있고 (포털을 통한 경우를 제외하고 다른 공간에서 볼 수 없음) (2) 해당 공간이 다른 공간과 지오메트리를 공유하지 않을 경우 지오메트리를 공간과 연결하는 것이 좋습니다. 지오메트리를 공간과 연결하면 리플렉션과 회절 계산에 의해 실행되는 레이캐스트의 검색 공간을 줄여줍니다. 한 공간에 두 개 이상의 지오메트리가 연결될 경우 해당 공간이 더 이상 전역적 범위의 지오메트리에 접근하지 못하게 됩니다.
AkRoomComponent
이 컴포넌트는 어느 볼륨으로든 추가하여 Spatial Audio Room을 생성할 수 있습니다. 공간은 두 가지 목적을 가집니다.
- 지향적 잔향을 허용합니다. Room에 있는 게임 오브젝트에 적용된 모든 Auxiliary Bus는 볼륨의 전면 벡터를 향하게 됩니다.
-
AkAcousticPortal 과 함께 사용되어 Portal을 통해 한 Room에서 다른 Room으로 변조 신호를 라우팅하도록 해줍니다.
두 경우 모두 사용되는 Auxiliary Bus의 위치 지정 옵션에서 Listener Relative Routing을 활성화하여 Positioning이 3D Spatialization을 지정하고 감쇠를 부여합니다.
- 속성
-
Enable Room: 해당 컴포넌트를 활성화하거나 비활성화합니다.
-
Priority: 공간이 적용될 우선 순위 입니다. 공간이 서로 겹칠 경우 우선 순위가 높은 공간이 선택됩니다. 서로 겹치는 두 개 이상의 공간이 동일한 우선 순위를 가질 경우 선택될 공간을 예측할 수 없습니다.
-
Wall Occlusion: Wwise Spatial Audio에서 소리의 전달을 통한 리스너로의 오디오 경로가 없을 경우 Room 안에 있는 이미터에 Wwise 차단값을 설정하는 데에 사용됩니다. 이 값은 벽을 통해 소리의 에너지가 얼마나 전달되는지와 연관되어 있기 때문에 '두께'라고도 할 수 있습니다. 유효한 값은 0.0f~1.0f이며 Wwise 프로젝트에서 정의한대로 차단 곡선에 매핑됩니다.
-
Room Tone
-
Ak Audio Event: 공간 게임 오브젝트에서 게시될 이벤트입니다.
-
Aux Send: 해당 공간에 게시되는 사운드의 전송 레벨입니다. 유효 범위: (0.f-1.f). 값이 0일 경우 보조 센드가 비활성화됩니다.
-
Auto Post: BeginPlay에서 공간에 게시된 오디오 이벤트를 자동으로 게시합니다.
AkSpatialAudioVolume
편리를 위해 AkSpatialAudio 볼륨이 통합에 들어가 있습니다. 이 볼륨은 AkSurfaceReflectorSetComponent 와 AkRoomComponent 및 Ak Late Reverb Component 가 연결된 간단한 볼륨으로 구성되어 있습니다.
AkAcousticPortal
Unreal Engine 4에서 포털의 표현. AkRoomComponent 가 연결된 볼륨 안에 담긴 사운드가 AkRoomComponent 가 연결된 다른 볼륨으로 새어나갈 수 있게 해줍니다. Portal과 겹치는 볼륨은 초기화 시간 때 감지됩니다. 패닝되고 3D로 공간화된 사운드는 포털을 통해 라우팅할 수 있습니다.
- 속성
-
Initial state: 해당 Portal을 연 상태로 (활성화) 혹은 닫은 상태로 (비활성화) 초기화할 것인지의 여부를 결정합니다.
-
Obstruction Refresh Interval: 방해 확인 (리스너와 포털의 열린 공간 사이의 직결선) 간의 시간 간격을 설정합니다. 값을 0으로 설정할 경우 방해 확인을 비활성화합니다. 전체 Spatial Audio 회절을 사용하려는 경우 비활성화하는 것이 좋습니다.
-
Obstruction Collision Channel: 원하는 지오메트리로 방해 레이캐스트의 충돌 (Portal과 리스너 사이)을 생성하는 데에 사용되는 오브젝트 충돌 채널입니다.
AkGeometryComponent
이 컴포넌트는 AkSurfaceReflectorSetComponent 과 동일하지만 브러쉬 대신 StaticMeshComponent로 추가되어야 합니다. AkGeometryComponent는 자신의 메쉬를 Spatial Audio Geometry로 변환합니다. 고정 메쉬 자체와 간단한 충돌 메쉬는 두 개의 메쉬로 변환할 수 있습니다. 간단한 충돌의 경우 구체와 캡슐 원선은 근사치인 경계 상자 메쉬로 변경됩니다.
게임을 디버깅할 때 Wwise Authoring Game Object 3D Viewer에서 공간 음향 지오메트리를 확인할 수 있습니다. 이제 AkGeometryComponent를 사용하여 더욱 복잡한 모양을 전송할 수 있습니다. 이 경우 Game Object 3D Viewer가 지오메트리를 올바르게 표시하지 못할 수 있습니다. 초기화 설정 안의 Monitor Queue Pool Size가 게임에서 전송하는 추가 데이터에 충분한 값으로 올바르게 설정하세요.
메쉬 타입을 선택하면 Acoustic Texture와 차단 값이 메쉬의 Physical Material에서 추론됩니다. Integration Settings 에서 AkGeometry Surface Properties Map을 사용하여 Physical Material을 AkAcousticTexture와 차단값과 연결하세요.
- 고정적 메쉬의 경우 고정적 메쉬에 의해 사용되는 각 Material의 Physical Material로부터 표면 속성이 추론됩니다.
- 간단한 충돌을 메쉬로 선택하면 표면 속성이 Simple Collision Physical Material로부터 추론됩니다.
Unreal에서는 Physical Material이 선택되지 않았을 경우 (None으로 유지할 경우) DefaultPhysicalMaterial이 대신 사용된다는 점을 알아두세요. Physical Material이 지정되지 않은 메쉬의 경우 AkAcousticTexture를 DefaultPhysicalMaterial과 연결하세요.
- 속성
- Geometry
-
Mesh Type: 지오메트리가 고정적 메쉬 혹은 간단한 충돌 메쉬에서부터 변환될 것인지의 여부를 말합니다.
-
LOD: Mesh Type 목록에서 Static Mesh가 선택되었을 경우, 이 매개 변수는 세부 수준 (level of detail, LOD)을 선택하여 공간 음향 지오메트리로 사용할 수 있게 해줍니다.
-
Welding Threshold: Mesh Type 목록에서 Static Mesh가 선택되었을 경우, 이 매개 변수는 서로 용접될 정점 간의 Unreal 단위를 로컬 거리로 선택할 수 있도록 해줍니다. 이 한계점보다 더 가까운 두 정점은 동일한 고유의 정점으로 처리되며 동일한 위치가 지정됩니다. 이 한계점을 높이면 삼각형 간의 간격이 줄어들어서 메쉬가 더욱 지속적이며 사운드가 덜 새어나가게 되고, 또한 너무 작아서 중요하지 않은 삼각형을 제거하게 됩니다. 이 한계점을 높이면 Spatial Audi의 꼭지점 찾기 알고리즘을 도와줘서 유효한 회절 모서리를 더 많이 찾도록 해줍니다.
-
Acoustic Texture Override: 여기에 입력한 Acoustic Texture가 메쉬의 물리적 재료를 오버라이드하게 됩니다. Mesh Type에서 고정적 메쉬를 선택했을 경우 각 재료의 음향 텍스처를 오버라이드할 수 있습니다.
- Diffraction
-
Enable Diffraction: AkSurfaceReflectorSetComponent와 마찬가지로 이 속성은 해당 Geometry의 지오메트릭 회절을 활성화하거나 비활성화합니다.
-
Enable Diffraction on Boundary Edges: AkSurfaceReflectorSetComponent와 마찬가지로 이 속성은 해당 Geometry의 지오메트릭 회절을 활성화하거나 비활성화합니다.
- Optimization
-
Associated Room: (선택 사항) 이 Geometry를 Room과 연결합니다. 지오메트리를 특정 공간과 연결시키면 볼 수 있거나 접근할 수 있는 지오메트리의 범위가 제한됩니다. 이 속성을 None으로 남겨둘 경우 해당 지오메트리가 전역적 범위를 가지게 됩니다. 지오메트리가 (1) 공간 안에 완전히 담겨 있고 (포털을 통한 경우를 제외하고 다른 공간에서 볼 수 없음) (2) 해당 공간이 다른 공간과 지오메트리를 공유하지 않을 경우 지오메트리를 공간과 연결하는 것이 좋습니다. 지오메트리를 공간과 연결하면 리플렉션과 회절 계산에 의해 실행되는 레이캐스트의 검색 공간을 줄여줍니다. 한 공간에 두 개 이상의 지오메트리가 연결될 경우 해당 공간이 더 이상 전역적 범위의 지오메트리에 접근하지 못하게 됩니다.