Ambient Sound Spatialization

I’m thinking that when you check ‘Override Attenuation’ for an Ambient Sound it should override everything with the settings inside the ‘Attenuation Overrides’ section. However it appears that the main ‘Allow Spatialization’ still affects the sound, rather than being overriden by the ‘Spatialize’ setting in the 'Attenuation Overrides section. This gets pretty confusing as unless this is checked (‘Allow Spatialization’) then the setting of the ‘Spatialize’ checkbox within the override doesn’t have any effect. So if you don’t want a sound to spatialize you need to have ‘Allow Spatialization’ on, but then ‘Spatialize’ off - which is pretty counter-intuitive…?

Cheers,
R.

Hey,

So I can see how this could be confusing, so let me clarify to see if that helps with your question.

Whenever you create a Sound Cue, you have created and Audio asset which can be instanced and referenced throughout your game/project. As you well know, the Sound Cue has multiple settings within the editor itself which allow you to apply Attenuation settings and define its virtual range.

By default, all Sound Cues you create will be ‘Spatialized’, unless you check the ‘Override Attenuation’ option within the Sound Cue editor. This will then allow you to disable if you would like your sound to be ‘Spatialized.’

If a sound is no longer able to Spatialize, there is no reason to have any sort of attenuation settings as the attenuation is defined by its falloff from the source in 3d space. This means that attenuation is dependent on spatialization.

Hopefully the below example can also help clarify things. I have created a simple storm sound, and unchecked the ‘Spatialized’ option, but left ‘Attenuate’ checked.

The sound will keep it’s attenuation shape, but it will not adhere to the falloff as it is not allowed to be spatialized. The sound plays fine, but plays as if it were filling the entire world.

Because this sound is an instance, you can control if you want the sound to be spatialized and follow the attenuation settings applied within the Sound Cue itself. This is where the ‘Allow Spatialization’ option comes into play. By default this option is enabled, and might be where the confusion is coming from, since I have disabled this within the Sound Cue.

All that needs to be done is uncheck the ‘Allow Spatialization’ within the details panel of the sound instance, and your sound will behave as expected. I do see how this could be a bit confusing and redundant, and if you would like I can put in a feature request to have this workflow investigated.

Cheers,

Hi Andrew,
thanks for taking the time to reply. However I think there may be some further confusion here! Please bear in mind that I’m not trying to be a ■■■■ here - just I think that people may read this and be confused by some of the things you’re saying.

When you ‘Play Sound at Location’, ‘Spawn Sound at Location’, or ‘Spawn Sound Attached’ through the Level Blueprint then it uses the attenuation settings of the Sound Cue yes. But by default (i.e. without ‘Overide Attenution’ checked in the Sound Cue) it does not spatialize or attenuate - so when you say “By default, all Sound Cues you create will be 'Spatialized” it’s actually the opposite, by default a Sound Cue is not spatialzed nor attenuated. So if I play the Default Sound Cue below I’ll hear it unspatialized (i.e. no panning) and with no attenuation (i.e. throughout the world).

Attenuation is not dependent on spatialization, you can have sounds that follow the attenuation settings i.e. the falloff shape, but don’t pan.

If you’re embedding the Sound Cue in a blueprint actor - as you appear to be doing then yes the ‘Allow Spatialization’ is checked by default on the component.

But the sound doesn’t actually spatialize - and this check box makes no difference to how the sound behaves - unless the Sound Cue has ‘Override attenuation’ and it’s spatialization set to on.

You said “If a sound is no longer able to Spatialize, there is no reason to have any sort of attenuation settings as the attenuation is defined by its falloff from the source in 3d space.” But its falloff in 3D space is actually defined by its attenuation settings. In your Storm Sound example it won’t be spatialized (won’t pan) but it will still falloff over distance as defined by its attenuation settings. “The sound will keep it’s attenuation shape, but it will not adhere to the falloff as it is not allowed to be spatialized. The sound plays fine, but plays as if it were filling the entire world.” - but it does adhere to it’s falloff settings, and does not play filling the entire world - since attenuate is still checked.

Anyway all of this is probably more confusing to talk about than it actually is in practice. What my original question was about was the Ambient Sound Actor, that it would be less confusing if when you check ‘Override Attenuation’, it does actually override i.e. it uses the Spatialize setting in the ‘Attenuation Overrides’ section, and does not require you to check ‘Allow spatialization’, even if you’re going to uncheck ‘Spatialization’ in the Attenuation Overrides. I think the conclusion to all this is - yes it is confusing and if you could have this workflow investigated then I’m sure someone can find a way to make it a little less so.

Thanks again for your time,
Yours,
R.