Version

menu_open
Wwise Unreal Integration Documentation
Occlusion

Basic occlusion is exposed for AkOcclusionObstructionService::SetOcclusionObstruction(). You can use this service with or without Spatial Audio Rooms. This section describes how the service works without Spatial Audio, and the following Occlusion and Spatial Audio section describes how it works with Spatial Audio.

To enable occlusion on an Actor, use the Set Obstruction Occlusion Refresh Interval function in the Blueprint Editor. A UAkComponent version is also available. If the refresh interval is set to 0, occlusion is disabled.

To determine whether a listener is occluded from a source, a simple line of sight check is sufficient. Use the line trace channel set in the AkComponent's properties (CollisionChannel). If the line of sight is blocked, the occlusion level calculation starts. This calculation maps the hit point on the obstacle to its bounding box and creates twelve points around the obstacle. Do additional line of sight checks to see if these secondary paths are also blocked. The occlusion sent to the SoundEngine is modulated by the number of secondary paths that are blocked.

A temporal fade method is also available for smooth transitions between occlusion levels. To change the fade speed, change the OCCLUSION_FADE_RATE constant.

Occlusion and Spatial Audio

When using Spatial Audio Rooms, obstruction is set instead of occlusion. In parallel, sources perform simple line of sight checks with AkPortalComponent in the same Room. These portals need to have a non-zero Obstruction Refresh Interval property. The portals also perform simple line-of-sight checks with other portals with a non-zero Obstruction Refresh Interval property.

See also

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise