Unreal Engine 5.1 | Creating Soundscapes

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
in today's video we're going to be taking a look at the amazing new soundscape plugin brought to us in Unreal Engine 5.1 we'll Begin by building one from scratch so that you know how to do it and then we'll take a look at a possible setup that uses multiple soundscapes and how they work together so make sure you hit that subscribe button along with the notification Bell so you don't miss out on any future content and if you'd like to be a part of the sound effects guide Discord server you'll find a link in the description below so with that being said let's get started so before we get started with creating our soundscape we first need to make sure that the plugin is enabled and if you're unsure how to enable or disable plugins in unreal it's going to be up under your edit menu and we're going to go down to plugins all of your different categories are going to be here on the left for us we're going to select audio and scroll down to soundscape alternatively you can just use the search bar and type in soundscape if you know the exact name of the plugin that you're going to be using so for me the plugin is already enabled I did that before I started recording this video but for you if it's unchecked uh the plugin is in beta so you will have to enable it you're going to get a pop-up in the middle of your screen saying that the plugin is in beta uh could be unstable proceed with caution that sort of thing you're also going to get a pop-up down on the bottom saying that the engine needs to be restarted before you can proceed with the plugin so go ahead and restart your engine and then we'll be ready to move on to the next step so now that our plugins enabled we can begin creating our soundscape and we're going to use this jungle map here and I didn't build this map it was just a part of an asset pack that I downloaded but it's all about the visuals so what we're going to do is we're going to create a soundscape to help bring it to life so we're going to jump over to our content browser and I just happen to use multiple screens so I have my windows kind of up on the sides you can get to your content browser down here in this drawer I just personally like to have it as a separate window but inside your content browser either using the add button up here or by right clicking anywhere in the blank spot you're going to get your content menu that pops up and under sound we're going to have another Sub menu called soundscape and inside the soundscape sub menu we're going to have two different items we have our soundscape color and our soundscape palette now the difference between these two is the soundscape color is going to be all of the individual elements that make up our soundscape the soundscape palette is then where we're gonna mix all of that together to create the soundscape now I know what you may be thinking well if we're working on a jungle scene why don't I just go out and get a single audio file that is jungle ambience throw it in the level call it a day the problem with that is that if your player spends any lengthy amount of time inside this environment they're going to hear that Loop and I don't I'm not talking about like the pops and clicks that you might hear on like a bad Loop even if it's a seamless Loop the player is going to hear that repetitiveness and that's where the soundscape plugin really shines because we're breaking all these down into individual elements we're then able to take those elements and procedurally generate a soundscape from it so you know the elements that are in there the player is going to hear them at random times they might hear multiple of the same type of elements spawn at the same time if we have attenuation applied to these elements the player is going to be able to hear spatially where those elements are spawning and also if your player leaves that area and comes back because this is procedurally generated they're going to be treated to a brand new Ambience every single time now it's going to be the same elements but it's going to occur in a different order a different place around the player and so it's more immersive and it's more true to life now in order to create the soundscape color we do still need the actual audio files we're procedurally generating how they're played and how they're spawned we're not procedurally generating the sound frequencies themselves so we do need to import audio which I've already done for this project I've got three folders here um what your project looks like is going to be vastly different than this so take this with a grain of salt this is how the tutorial is set up but your project will look different but for this example the three folders that I have I have an Ambience bed which is just sounds to use as a platform to kind of build off of and then we have some birds and we have some foliage which is just like tree movement and things like that the ambience bed um there the sounds are like just a generic Forest Ambience they're long droning non-transient type sounds that are gonna Loop and then I've got a wind sound here just to kind of help build that that platform for us now one of the great things for the soundscape color is it's pretty flexible you know if I wanted to just put a WAV file in I could certainly do that but I can also Use multiples and blend them together inside a meta sound and use a meta sound for that which is what I've done here uh just two wave players I've got both those files in they're set to Loop and it's running through a mixer nothing special now as for our sound effects for Birds I've got eight different bird sounds that again I'm using a meta sound for and and this is really nothing special either a wave player it's getting a random element from an array that includes those eight sounds uh if you're wondering what this mono Master is it's just a it's a single mixer a single channel mixer using a two channel nothing special nothing secret I just think it looks a little nicer that's all and uh I did the same thing for our foliage movement as well we've got four different foliage movements and again just a wave player grabbing a random asset from an array now if you're working on an actual project you may have more than that like we could have thrown some monkey sounds or Elephants or tigers or you know just other background noise to help fill this out you know however far you want to dive in for your project you're more than welcome to do so but just to kind of keep this tutorial a little simplified I'm just going to use three different elements so now it's time to jump into our soundscape folder and we're going to create our first color and I'm going to use the birds for this because it's going to use utilize um a lot of the the options that are available to us inside the soundscape color so I'm just going to call this maybe color underscore Birds and if we double click on this it's going to open up this window and like I said there's a lot of different options that we have available for this specific element first off we need to define the sound that we're going to be using and like I said you can put just a regular WAV file in here you can also use sound cues or a source Bus full transparency I've not played around with Source buses yet um but I did make the meta sounds that you just saw so we're going to go ahead and select our ambient Birds meta sound and I'm going to go through this list kind of quick because there is a lot to unpack here um and I want to make sure that we get through it in a timely manner so starting off we have our volume and our pitch base this is the the reference point or the volume and the pitch that this is going to play back at it's also going to be the reference point for moving into our modulation Behavior so we can randomize the pitch and the volume as well and I'm I'm going to do so for the birds it's just a slight pitch and volume difference just to kind of help add some variation to those sounds the fade volume I'm not going to use for this one but basically this allows you to set the fade in and Fade Out times for when these elements are spawned in if we were to check the fade volume box we would then also get access to this only fade in on re-trigger so basically if we were to take that the first time that element is spawned it won't fade in but any subsequent times after that it will but like I said I'm not going to be using the fade volume for this the next thing that we have here is our playback Behavior we can randomize the starting seek time which means it is going to randomize where in that file that audio file it's going to start playing and for this one I'm not going to use it because I don't want the start to start in mid bird sound you're going to get a pop it'll sound weird and and we don't want that uh The Limited playback duration we can randomize the minimum and maximum playback so say we set this between 30 seconds and 60 seconds the first time it spawns that sound it might play 40 seconds of the file and then the next time it spawns it might start it might play you know 56 seconds of that file and again it just kind of adds variation and helps break up that monotony so now we're going to move down to our spawn behavior and there's quite a few options here to dig through the first of which is delay first spawn which I am going to check and what this does is it gives a buffer between when the soundscape is triggered and when you hear the first L the first spawn of this element uh we want to check this uh for like I said our one shots our Stingers you know we don't want the player to trigger this soundscape and then just immediately get hit with a wall of sound uh we're gonna delay this that way we're going to have our Ambience bed come in without any delay and then for things like our birds and our foliage movement those are gonna then slowly start to happen so we can set our minimum and maximum delay time for our first spawn one and three seconds is a good starting point here but you can certainly change that the next option is our continuously respawn tick box and I'm going to use this one as well so basically since those one shots do have an on finish tag inside the meta sound once that sound is finished playing that meta sound is going to stop but if we don't check that continuously respawning box it's going to spawn at once and then never spawn it again and we don't want that to happen with our birds or our foliage movement so I'm going to tick this box and then that's going to give us the option for our minimum and maximum spawn delay time this is going to be a little bit different than our first spawn our first spawn is how long after the soundscape is triggered do we hear the first element now this is going to be the time difference between any subsequent triggerings of this sound so I'm going to give it you know between a 10 and a 15 second spawn delay so our first sound is going to happen between one and three seconds of the soundscape triggering and then we're not going to hear this sound again until between 10 and 15 seconds after that next we have our maximum number of spawned Elements by default it's set to 1 which means it will only spawn one of these elements at a time if this particular element is playing then it won't spawn anymore but we can have multiple instances of the same element playing which for us we're pulling from random sounds that I put into an array so we can have more than one bird element playing because it still might be grabbing a different sound from that element array so I'm going to go ahead and set this to three and then from here we have our minimum and maximum spawn distance and this is only going to matter if you've applied an attenuation setting to the the audio file or The Meta sound or the sound queue that that you're putting inside this element because if you've messed with attenuation at all you know that it will automatically make further away sounds sound quieter or you know sounds that are close up to the player or The Listener they're going to be louder so this allows us to then set the minimum and maximum range as to where these elements are going to spawn because they do spawn spatially around the player next down the list is call by Max spawn distance and if you're not familiar with what culling is in the video game sense um it just prevents things from spawning outside of of range or line of sight or you know depending on what the context of the situation is um this we're just calling by Max distance it's kind of an optimization setting next is our Min and Max spawn angles and these are going to be the the Azimuth of the the of where it spawned so if we set both of these to zero then all the sounds that we spawn will always be spawned directly in front of the player giving it 180 degrees as our Max spawn angle will then allow sounds to be spawned anywhere around the player clamp height does exactly what it says it does it will because these sounds are being spawned inside of a 3D environment the z-axis is one of the axes that your sound can spawn on and so we can set even though we might have our Max spawn distance of 3 500 units maybe we only want the sounds to spawn you know kind of at player level so we could set this to maybe something like 200 or 100 units that way the sounds aren't spawning super high above the player now again these settings are only going to matter if you have attenuation applied to the the sound file that you're putting on uh otherwise it's just going to be a flat 2D sound so if I don't have any attenuation and a sound spawns over here I'm going to hear it exactly the same as if the sound spawns over here our next item is the ability to rotate the Sound Source and if we tick this box we then have rotation Min and Max settings that we can set for the rotational angle whether it's around the player on a horizontal plane or around the player on a vertical plane I'm going to keep these as default then we move down to some of the more advanced options which to be completely honest I've not really played around with so my understanding of them is is minimal but the position by Trace basically it's going to you can tell it to draw a line from wherever it spawns to The Listener and if there's any obstruction we can offset that spawn so that you can hear it and then we can use our different Trace vectors distances and channels and things like that to manipulate that filter by the color Point distance density we can edit that as well and we also have the option to ignore z-axis when calling by Max distance so like I said I know I went through these fairly quickly so if you need to re-watch or something you're more than welcome to do so so these are the settings that I'm going to use for Birds I'm going to go ahead and do the settings for the ambience bed and uh the the foliage movement off camera and then we'll come back once I've got those three set up so now that we've got our three colors created we can go ahead and create our soundscape palette and again it's under the submenu soundscape and soundscape Palette and I'm just going to call this palette underscore jungle when we double click on this it's going to open up our palette window and first off it doesn't look like there's a whole lot happening but this is where we're mixing together our different colors so I have three different colors that I've created so I'm going to go ahead and add three different elements here and we'll expand these and we can just drop our different colors in there so we've got the bed the birds and the foliage now up here at the top we've got the soundscape palette playback conditions and this is where we're creating game tags or selecting game tags that we're going to be calling later that will determine whether our soundscape is playing or not and uh and you can do it right here in this window or what you can do is if you already have say a list of predefined Game tags for your overall project you can also go into edit project settings and then over here on the left you'll see an option for gameplay tags and you'll see a window that looks very similar to the window that we just had from the palette and uh so I'm going to go ahead and add a new gameplay tag and I'm just going to call this jungle and we can go ahead and add that tag now if we were to go back over to our palette and we clicked on this edit again say any tags match now we have that jungle tag that we can select and then we can save it and close it and so now this soundscape palette is set to trigger anytime the gameplay trigger jungle or gameplay tag jungle is activated so we'll go ahead and save this and we can close this out so I know that we've been in this tutorial for for a little while now and we haven't made any noise that's about to change but in order to get this to play properly we're going to jump into our level blueprint and inside our level blueprint what we need to accomplish is we need to add the soundscape system to our instance and we need to call that jungle gameplay tag that we set up in the project settings so the first thing that we're going to do is we're going to create a variable and I'm just going to call this soundscape palette and we're going to set the type as a soundscape palette collection and we're going to want to compile because if we don't compile we're not going to get this option over here on the right to add the soundscapes that we want in the collection for this level and this is going to seem like a lot for just having one soundscape palette but once you start getting into levels like open world levels where you have multiple pallets or you have a a game where the player goes from one level and then another level loads as they transition You're Gonna Want to load and unload certain pallets but we're gonna go ahead and set our jungle palette here and we're going to pull this in and get it now like I said we also need to initialize the soundscape system for this game instance so we're gonna go soundscape and we're going to select the get soundscape subsystem and we're going to add a palette collection and I just now realized that I've been spelling palette wrong this entire video but whatever so we're going to go ahead and add this palette to the palette collection and we need to set up something to execute this so it can be the begin play it can be a box trigger you know just typical things that you would set up in your your level creation to execute things so for this I'm going to do a begin play and so now on the event begin play we are now adding the palette and the soundscape subsystem to our game instance now we need to call that jungle tag so I'm going to go ahead and pull off here and I'm going to type in state because we want to set State and you'll find the correct one under the soundscape header and we can just pull off this execute pin here set the state and then if we hit the edit again you'll see the same window that we've seen before and you will select jungle and you have officially created your first soundscape so if we go ahead and compile this save it we can close this window and now if we go ahead and hit play you can hear that we now have our soundscape playing back so as I mentioned in the beginning of this video once we talk about how to create a single soundscape where we're going to look at a potential setup for setting up multiple soundscapes and the reason I say potential is because how you trigger them is going to be completely dependent on your project for this example I'm just using box triggers so we've got the jungle that we did in our single example and then I've gone ahead and created a factory and a city as well and since these are being triggered by trigger boxes instead of an on event begin play uh when we start the level we don't have anything playing because there are no game tags being called right now and so if we go into our jungle we've got our jungle that plays and we can leave that area and you can hear it fade in and fade out because in our palette we have that fade in and Fade Out volume so then we can go into our Factory now we've got different Factory elements and because we have that fade in and Fade Out as I move to the to the city there's a Crossfade effect that happens a factory fades in get just an Abrupt transition so now let's take a look at what I've done in the level blueprint for this particular setup and it is a bit more involved so if you're not real comfortable with blueprints this may be a little bit of a challenge for you but it's definitely doable and uh so on our event begin play we're adding the palette collection just like we did before we've got our soundscape subsystem and the variable that I created for adding our palette collection but like I mentioned before it seems a little odd to do a palette collection if you've only got one but in this instance we do have multiples and so you can see over here that now I have all three of the palettes that I created in our collection to call from and so we're using triggers and I've got an integer variable set up just so we can select between them but we're setting the state that's what we're doing just like we did in our jungle we have to set the state to call that particular trigger and so I'm using just a select box and we're using these triggers to set and then subsequently clear for when we leave the trigger boxes those gameplay tags so these are our three on actor begin overlaps that are for our three trigger boxes and then our three uh on end overlap for those trigger boxes and that's what's creating um the state setting system for those gameplay tags now over here I've got another system that I've set up that on begin play that's coming using the execute pin off our palette collection and I just drug it over this far for a dramatic effect but basically this system that I have set up is on begin play it's going to look and see if our player is currently overlapping any of those trigger boxes and so what this system allows me to do now is if we come back in here to our level we've got our player start that's outside any of these trigger boxes but if I move it into the factory typically we would have to trigger this soundscape by walking into the trigger box but the way that I have that blueprint set up is as soon as I hit play it's going to check to see basically where the player is and we just automatically have that factory play and same if I were to move it then over to our city now we have our City's house City Scouts now oh my God so hard City soundscape playing and and so this makes it really dynamic in the way that you can set this up so if your player spawns at a certain location every single time you can definitely call that gameplay tag right from event begin play but if there's potential for your player to spawn in different locations you can also set that up as well now one of the cool things about this too is what if these were to overlap I'm not going to overlap this just yet because the colors they freak out when you overlap so here is your brief epilepsy warning when I move this over I will move it down so it stops flashing but there is going to be some flashing on the screen there uh if you've looked away from your screen you can now look back so now we have these trigger boxes overlapping so if the player were to walk into here we would be setting the City gameplay tag if the player walks into here we're setting the factory but if the player walks into this cross section here we're actually triggering both gameplay tags and therefore we will actually be able to play multiple palettes at the same time so walk into our city still got our our same city soundscape as before we've got our Factory [Music] and then if we walk into this play all right guys so that is going to wrap things up for this tutorial I know it was a bit longer of a tutorial and there's still a ton that we can cover on the soundscape system Dan Reynolds thank you so much for creating such an amazing plug-in I'm absolutely in love with it and hopefully you guys are too until next time [Music] thank you
Info
Channel: The Sound FX Guy
Views: 10,245
Rating: undefined out of 5
Keywords: TheSoundFXGuy, The Sound FX Guy, The Sound Effects Guy, Unreal Engine 5.1 | Creating Soundscapes, Unreal Engine 5 tutorial, Unreal Engine tutorial, Unreal engine for beginners, Unreal Engine SoundScape, Unreal Engine 5 soundscape, Creating Soundscapes, Game Audio Tutorial, Sound design tutorial, Unreal Engine ambience, Soundscapes, Ambience, sound scape, Unreal engine 5.1, Unreal Engine 5, Epic Games
Id: nS3leRwZbNk
Channel Id: undefined
Length: 32min 31sec (1951 seconds)
Published: Fri Dec 09 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.