[GAUGING INTEREST] Adaptive Audio Occlusion

Hey Everyone,

After a hiatus on this blueprint, I’ve decided to come back to it. I ran into some problems developing the audio diffraction part of this blueprint, and had intended to work on that aspect at a later date, but I got crazy over the weekend and figured out a new way to do it! I still have some tweaks to make, but I have a working Audio Occlusion and Sound Diffraction simulation blueprint.

First, I’ll explain what Occlusion and Diffraction are:


Audio occlusion and Diffraction occur when there is an obstacle blocking a sound from directly reaching the listener’s ears.*** Audio Occlusion*** causes an audio source to sound muffled, since there is an object blocking sound waves from reaching the listener’s ear. Audio Diffraction is the apparent bending of sound waves around the obstacle. These satellite audio sources are not as muffled as the occluding sounds, but are generally significantly quieter than the source audio.

Here’s a video giving a visual representation of what’s really going on:

This blueprint cannot perfectly recreate these phenomena, so I did my best to simulate the effects. Also, there are limitations with blueprints in accessing sounds and other data. Here are the current limitations to this blueprint:


  • The Audio Occlusion aspect of the BP will not affect sounds that are not physically in the level. *This will not read **Play Sound At Location, AnimNotifies, and other “play and forget” sounds.
    ***- As well as the previous limitation, the Audio Diffraction aspect of the BP will not work on procedurally generated sounds. This blueprint uses dynamically created ambient sounds to recreate diffracting sounds around objects, so it plays the original sound in two other locations. If the original sound has procedural properties (like a bird chirping with randomized chirps) the sister sounds to that original sound will not reliably recreate the original sound, causing the diffraction to sound disjointed.


  • Tracks sounds in your level in real-time and can tell when you, the player, are standing behind something in relation to each sound, changing each sound’s properties to simulate the sound getting quieter and more muffled as in the real world.


  • Automatically tracks all ambient sounds in the level, activating traces when in range of each sound actor
  • Will track any blueprints with audio components in the level that you specify with dropdown menu in details panel
  • Handles spawning and destroying ambient sound actors and blueprints with audio components in real time


  • Audio volumes will add their effects to the occlusion effects


  • Add your surface types to arrays in details panel (light, medium, heavy)
  • Depending on surface type the trace hits, audio dampening and muffling occurs at different intensities (you can have sounds dampen more when behind a heavy steel door and less behind a thin wall)


  • Saves the original sound attenuation properties for each sound source and reverts to those properties as you emerge from cover


Here’s a video showing the basics. The Orbs are the sound sources, and the red lights simulate the visualization of the sounds.

Would love feedback on anything you can think of! Thanks!

sounds great.
Will it work in large outdoor landscapes with flora/fauna ambients, with guns/explosion sounds for squad sized infantry fighting without being expensive in terms of resourses?
If so then day one purchase from me.

I’d get it. Not only is positional audio necessary, but also audio occlusion. How expensive is the system as far as resources go?

Thanks guys,

SlinkyMuffins - The blueprint currently supports ambient sounds and blueprints with audio components. Some one shot sounds can’t be located by blueprints, so those types of sounds will have to be handled like previously.

SaviorNT - I’m not home to check specifics, but the way this blueprint is designed, is that it only traces to sounds you are in the attenuation sphere of. Also, it’s only one trace at a time, cycling through all nearby sound sources. Shouldn’t be too performance expensive.

I gave this blueprint a quick test in a more complicated project. I used the Particle Effects level from Epic (the one in the cave). My pc already doesn’t like it very much. I average around 38 FPS in it.

I threw my Adaptive Audio Occlusion blueprint in and tweaked it a bit. With it keeping track of 48 ambient sound actors in the level, and cycling a trace through up to 15 nearby ambient sounds, I barely saw a performance hit. I would say an average of 1-2 FPS. Got some more tweaking to do, and hopefully I can get a video of it soon.

It’s kinda funny, when I have debug on, so I can see the traces, as I walk through the level it kinda looks like a laser light show with the traces hitting all these nearby invisible ambient actors.

isn’t this the same thing as this BluePrint asset being worked on?

Hey Vata,

The blueprint you linked is to simulate wind over the player’s ears. The occlusion blueprint this thread is about is to simulate game sounds getting quiet and more muffled when an obstacle blocks it from the player.

Thanks for the performance update. Although I don’t like it, it sounds (no pun intended :p) reasonable.

I have a couple ideas to perhaps make it more efficient. I’ll get back with a video maybe tomorrow.

Here’s a video of a couple flythroughs of the particle effects level. The audio in the level doesn’t behave well, since it was never intended to be “played,” but the blueprint works as intended. Here you can see the FPS tracking from console. I personally don’t notice a change between the two flythroughs as far as performance.

Good sign!

I trust there would be some interest in this blueprint. I only have a few more things to sort out with it, then I’ll go ahead and submit it soon.

Thanks everyone!

This looks fantastic. I would love to have a go at balancing the amount of dampening myself. If I was to place the heavy examples side by side would it fully block the sound or would there be any gaps/bleed? Curious to see how accurate it is. Good work :slight_smile: NJ

I would definitely buy this.

Thanks honaj and NJ Apostol!

I’ve recently started adding sound diffraction functionality to this project by request. Hopefully I can get a good simulation going soon and then I feel that it would be complete.

For those unsure of what sound diffraction is, here’s an image I found online:

Not only does the sound need to be muffled by obstacles, but it should also be heard along the edges of that obstacle that offer a clear path to the listener. Of course I can’t recreate this perfectly, but I’d like to get an acceptable simulation of the effect without being *too *costly on resources.

More updates as I progress!

In that image, you would also need to factor in sound echo. The amount of echo to be determined by material. I’ve been trying to advocate for a PBR-style node in materials that is used by the audio engine… but it has fallen on deaf ears I think.

I am by no means an audio engineer, however, something like this:

You can add it in as an update if you wish, I’m excited for the release of this so I can start using it :wink:

Thanks for the comment, SaviorNT.

I am still chugging away at this. The diffraction feature is definitely a tough feature to implement.

The link you provided (with the absorption coefficient) is covered by the base occlusion blueprint, if not as in-depth. I let you separate any surfaces into basically three levels of sound absorption.

The pictures in my last post are just showing how a sound from another room would not only be muffled, but if there was an opening in the wall, it might sound as if the sound is coming from that opening as well, if a little quieter. There are more formulas for that as well regarding sound wave length and the size of the opening, but I’m not getting that involved with it in this blueprint. I merely want to prevent the jarring sound the occlusion would have without at least some diffraction around smaller obstacles.

Ah, cool. I still think it would be cool if there was a way to implement basically an IES profile, but for sound, directly into the materials, with some presets, or you could use your own values if you wished. However, from going over this with others involved in the audio industry, I think we’re a few years away from having computers able to do this type of processing with little to no latency in real-time. :frowning:

An idea, I’m not sure if it would work or not, but could you use the object’s collision model for the occlusion / diffraction?

I would love something like that for audio. I feel like the technology can handle it (or something like it), but honestly it seems like visuals are going to take priority for research and innovation, with audio a decade or so behind. I’m curious to see what they plan on doing with the audio system in ue4 in the coming months, however.

Until then, I’m more than happy to attempt to come up with something that can imitate those concepts.

Currently I’m using the object’s bounds for diffraction, and calculating the proper edges of those bounds to play sounds to mimic the sounds curving around it. It’s a problem sometimes with variable sizes of objects, since sometimes the bounds extend far out past the mesh itself. Not sure what blueprints would give me as far as collision, but I’ll take a look. Thanks for the idea!

Im very interested in this, would love to see how it works.

Yes in keen on this too. Any updates? Is it still being worked on? My game will need this!

Updates? Very interested.