Steam Audio in UE 5 4

Описание к видео Steam Audio in UE 5 4

Questions are welcome. Mind the volume, it is silent at first.
Tutorial text below (I may make a separate video for this):

This was a test of a long reverb (absorbtion 0.05 for low,mid,high, transmission 0 for low,mid,high, scattering 1) with realtime spatialization, occlusion, and reflections in Unreal Engine 5.4.

This was fairly difficult to try and come back to. Practically took me all night due to how out of touch I am with Unreal. Please please please have the Steam Audio documentation up. It is required.

Getting spatialization and occlusion to work took a bit, but wasn't too bad. You install Steam Audio and then select the relevant Steam Audio plugin objects under the Windows Platform settings in your Project Settings. You create a Metasound to play, and then create just some of the various Steam Audio configuration data objects in the Content Browser, primarily the normal attentuation settings object, the spatialization settings, the occlusion settings, and a test material for the level elements in your world. Configure the attenuation settings to enable attenuation and occlusion and use the new settings objects in the Plugin Settings dropdowns in those sections. You CAN disable the volume attenuation if you want to use the one the comes with Steam Audio (that is configured in the occlusion settings object). It is practically required to create a blueprint with an Audio component to play the Metasound, as you really need the Steam Audio Source component as well on it to actually use any of these settings. Ambient Sound instances alone won't cut it. Have the Audio component use your spatialization settings (I am not sure if the Metasound itself needs the settings assigned to it, I did just in case out of paranoia). Make sure Allow Attenuation is checked or else. You will also want to configure the Steam Audio project settings to enable higher quality realtime raytracing for audio.

With your settings for your sound source configured, you still won't get occlusion working just yet (though the spatialization should work). The geometry in the world must be tagged, and although there is an auto tagging system in the Steam Audio drop down to tag all geometry in the level, it only creates tags with the default level and I don't suggest it unless you already have a big map. If you are being methodical about your assets, you should go into each asset (the cube assets in my level I built the walls with in my case) and add the Steam Audio Geometry component, and tell it to use your material.

This next part is very important. If you are debugging UE from C++, you are likely going to run into some debug breakpoints (I don't know why Steam Audio is triggering them), but you can safely continue through the breaks. Regardless, ANYTIME YOU EDIT MATERIALS OR CHANGE THE LEVEL GEO you MUST export the geometry for the level using the Steam Audio dropdown menu. Even if you are not using reflections yet, occlusion (and the transmission settings for the material) requires the geo to be exported. It will ask you to save.

Getting reflections to work was an absolute nightmare to figure out. You need to create your Steam Audio Reverb Settings and configure it to enable reflections (and I recommend HRTF on them if you want). You enable reverb in the attentuation settings and set it to manual send level at 1.0, to make sure Unreal doesn't try and do something to the reverb before it reaches Steam Audio. Select your reverb plugin settings object. This next part is vastly important. If you try to run, you will crash (it triggers access violations in C++). The legacy audio system is being sunset in favor of the new audio engine in Unreal. Steam Audio relies on having a Submix object to send the reverb to. Create a Submix asset for a reverb mix, then use the graph to make a master submix and connect them together to form your new mixing chain (you can just use one submix, but this lets you separate the reverb if you want). Then, create a Submix Effect Preset, using the Steam Audio Reverb Submix Plugin Preset option. Tell it to apply reverb and HRTF. Go to the reverb submix and use the plugin settings in your submix effect chain. Finally, go to your Project Settings, under Audio and set the default Reverb and Master submixes to the ones you just created (or the same one if using one), and then go to Steam Audio and make absolutely certain that your Reverb submix uner the reverb settings is the reverb submix you made (that should solve the crash). Change material settings in your world for reflections (settings them low to make it absurd like this demo does), then reexport geometry again.

There may be some additional settings not listed here, so play around and use the documentation for both Unreal and Steam Audio.

I highly recommend researching submixes. You use them to compress and limit audio to prevent overblown loud Steam Audio sounds.

Комментарии

Информация по комментариям в разработке