Can't believe you don't have more view, it's rare to find tutorial that is clear, well structured and presented in a pace that's easy to follow and understand like this. Thank you and keep up the goodwork!
I've subscribed, liked all the videos I've watched, and shared your channel. Thank you for all of the amazing and in depth videos! I'm thoroughly enjoying this series and I rarely comment on videos, but I had to for this one. You do such an amazing job explaining everything clearly and succinctly . You deserve more subs and views for sure! Looking forward to future content, cheers!
Feedback... You are doing a great job! The problem with many (most) tutorials (even some I paid for) is that it's all just "do this" and "do that" but no explanation as to why. So yes you end up with a game at the end, but it's pretty much paint-by-number (remember those?), you don't really learn much apart from interface navigation. I will subscribe, like and promote this to others. It's the benchmark for how to teach this subject. So keep doing them this way! A classic example is swapping out the main character for a MetaHuman or a downloaded character, yeh I can find tutorials on how to do it, but still don't really get why I'm doing it that way. Like what does the workspace/workflow represent etc.
Exactly what I was looking for. Good tutorial! You definitely deserve more views! Am already looking forward to your other tutorials have just started with UE and something like this really helps enormously :D
To answer your question at 20:20. Binaural panning and regular panning are different. Regular panning using left and right channel volumes to determine direction. Technically when centrally panned it exists in the head where as binaural uses your Head related transfer function. Imagine around your head.
love the content, my only suggestion would be to change the casting to a simple work around so the function is not ran 1 time per frame when the user is in the forest. it will improve performance a lot. I was able to do this work around by using "Get Player Character" function and creating a custom function that takes in the other actor and compares it to the player character returning true or false. this makes it so that you do not have to use the resource intensive casting method but still have the same end result when the player is within the range. Happy Building!
Great tutorial as usual! One question: wouldn't be a good practice to set also and event on end overlap? You will not ear any sound outside the attenuation volume, but I imagine that the engine may continue to run the waves. Does it stop playing on its own? Thank you
G'day - awesome work as always. Not sure if just me or UE 5.1.1 but later on in this series my PIE lag got horrendous when hitting play, like 60+ seconds. I finally traced it to the sphere collision in this blueprint. I had left the mobility to 'movable' (under transform in the sphere collision settings). I don't recall issues when doing this tutorial so it may be a clash with something later (I was on tutorial 19 so suspect it may be the UE water system). Anyway, changing this to 'static' returned my PIE startup to ~4 seconds and has no detrimental effect on the ambience as they are static. Hope this helps someone out as it took some serious trial and error to find (but I learned alot in doing so!) Thanks for this amazing journey @NumenBrothers
I would never cast to ThirdPersoCharacter until you really need something from it, you can cast just to Character or Pawn and check if it is player, it will be much more generic. And one more thing, if you just set attenuation size to match collision spherein the BP, you don't need to handle collision sphere events, it will automatically play just inside of sphere. I would expect that EU will not use any resources for sound outside of attenuation size.
Can you explain the pros and cons of why you'd cast to Character/pawn vs ThirdPerson? Also, for the events he did randomize it within the event graph. How would you set that randomization if not within the event graph? Thanks in advance
@@ilufwafflz If you cast to ThirdPerson when you really don't need it, you basically lock your code to this one specific implementation and cannot reuse it for another character. It's always better to write as general code as possible. With sound maybe I miss something. I would expect that if you will just dynamically adjust attenuation size you will get exact boundary when you can hear that sound actually. And you don't need to play with evens then.
Clear, precise, straight to the point. Thanks a ton ! :) Quick question : I would like the same music to play throughout the area I put the BP in, but I have to put in several SphereCollisions to cover the whole area. How can I make the music continue even when the player moves from one SphereCollision to another (I have only one sound cue per sphere)?
Hi Laura, I would most likely handle this via an Audio Spline. Basically the music's location can update as the player moves along, and then you can have one larger area via the spline. Something like this: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-YpMHOh-aO08.html You can also find tutorials on how to fade audio from one source to another if you search for fade audio. And lastly, you could do, instead of a sphere, a Box, and just have the music play if the character is within the box (and this way it can be long and thin).
I may be missing something... besides the random start offset, why would you encapsulate this in a blueprint instead of just using an ambient audio source actor with an attenuation radius?
Blueprints introduce the capacity for dynamic behavior. So for example, placing different kinds of ambient sound actors in different areas of a level or multiple levels- I'll need that level of flexibility in the future.
@@NumenBrothers yes, but I am asking specifically what dynamic behavior you are creating in this blueprint other than the random start offset? I started with this blueprint approach, then realized it was basically the same as adding ambient audio actors to the scene but with several extra steps and ram allocations. Using an attenuation asset with the same falloff radius as your colliders here does the same thing with less overhead. When a sound source is 100% attenuated, it is effectively "occluded", so the overlap triggers playing and stopping the sounds is redundant. That is all handled within the audio source actors. Again, I may be missing something, but I was able to implement this same multi-source blending effect without using blueprints.
@@lorenfulghum2393 no, I don't think you're missing anything. Really the question is, is the sound ever going to need to be dynamic or easily replicated in any way? And if not, I would do it exactly the way you describe.
@@NumenBrothers So really, you're using blueprints like a prefab here . I wonder, can you make packed level actors out of ambient audio actors? If so, that would be another way to store prefab sound setups with their own radius, attenuation settings, etc.
@@lorenfulghum2393 Honestly, haven't tried it, but it would be pretty neat. I don't think Packed Level Actors handle dynamic behavior in game all that well, though I could be wrong about that. But for example, if I wanted ambient sound in the game to evolve based on the overall level of danger the player is in, something common for horror games, would need to be a blueprint. Probably also Metasounds, which I haven't gotten into yet in this series.
Hey its exactly the system im looking for, but for some reason when i setup another soundcue when i go to that sphere it wont play the sound. but it works if i dont change the sound from the default one. any idea why that is? It is detecting the overlap but not playing the sound. Edit: I managed to figure it out by using metasounds instead but the same collision system to start and stop the sound
Try, using the blueprint node 'Stop' (referencing the audio component), and then to play, use the blueprint node 'Play' (again referencing the audio component)
When I place the player start outside collision it doesn't play the sound when the player goes into collision. If I place the player start inside the collision sphere it does play the sound. But still when I leave the collision and get back it doesn't start again. Any idea what might be the problem? I don't get any error at BP.
Thank you for this great video. I have one question: how would you construct the sound of a sea if the land is not round and not square. So that you can hear the sea when the player sees the sea?
Hi Andy, I would probably do something similar to the River Spline episode (actually next episode in this series, episode 18). It would be a large overlap capsule/box, bigger than the coastline so it extends inland, and then I would set up a spline along the shoreline for the beach sound. hope that helps
In general the rule of thumb is, if you know precisely what you are communicating with (the type of blueprint), casting is preferable, but if it could be a variety of blueprint classes, then use BP interfaces
For anyone who cares, you dont have to 'expose on spawn' unless youre actually spawning the actor within the editor, which exposes that variable on node when you select your actor. Also, there are 4 communication methods for Actors. This isnt new, and its clearly listed in the Unreal Engine Docs. Dont take these tutorials as absolute fact. If you have zero knowledge in unreal engine, dont watch these, otherwise you will be pushed down the incorrect path. My 2 cents.
The expose on spawn is a helpful tip, but there's no need to be all high and mighty about it. There's a ton to learn from this tutorial for beginners. It's one of the best presented UE5 tutorials I've seen, even with those little flaws in consideration.
When i tried adding in sound files into UE, an error occurred stating: "Failed to import (Asset). Failed to create (Asset)." Any idea how to get around this?
the print string appears but the sound dont play what i do wrong?the first audio we put ,not the blueprint has to be deleted?i tried everything the string prints byt the sound not plays.please help
Great Tutorial - Thanks For Sharing this Amazing content - As a Sound designer I would like to learn each Audio topics in Unreal Engine - In-depth Form - Could Pls Suggest me Some Tutorial or Online Courses - I would be glad if I get a Positive Reply Kindly Raju From India -------- ❤
Sure thing, Raju! I found this to be a really good place to start learning about indoor sound, which I do an episode on next week: dev.epicgames.com/community/learning/courses/kN/unreal-engine-sound-and-space/Ek6/unreal-engine-introduction-to-the-course
How to randomise where to start playing ambient sounds? I tried the method below, but but the start point is not randomised. Do you know how to fix it? drive.google.com/file/d/1V7uk-Jr7VsojUGlehpkhOOo4li8-SsGM/view?usp=sharing
I am having the same problem. I've re-watched the video a few times and cannot find any errors with how I followed his steps. I am on UE5.1 and am wondering if there is something new that needs to be done...? If I find something, I will reply in this thread. Otherwise, help is appreciated!