[WIP] Adaptive/Interactive wind audio using blueprints

Hi guys,

This is something I’ve done using kismet a couple years ago. The idea never really left my brain, and now I think it would be great to utilize in Virtual Reality applications. Here’s what it is:

I’m creating a real time realistic wind blueprint for possible distribution through the marketplace. The blueprint is to simulate the sound of wind traveling over the player’s ears. Things such as the direction of the wind source, the amount of variation in random wind shifts, frequency of gusts, and overall wind intensity will be easily editable by the user.

I feel like a VR experience would be all the more immersive with an addition like this. You hear wind in games, but it’s always disconnected from yourself. This will bring the player right into the elements, adding a layer of immersion you might not know you were missing.

Here’s a video of the prototype so far:

Here’s a video demonstrating a comparison in a sample level offered by Epic:

In the first video, the cone mesh represents the primary direction of the wind. The red arrow above that cone represents the real-time direction and intensity of the wind. The arrow will turn back and forth in a range set by the user, and it scales up and down to show intensity of the wind, including gusts.

This idea could be used to increase tension when a player is standing on the edge of a cliff, it could subtly give a hint of a correct passage in a maze, it could just add that bit of immersion when a player walks by an air vent.

I’d love to hear what you guys think, and if something like this might benefit first person games/VR.

I remember a UDK version of this, which was probably the one you did in kismet.
I always thought it was a good idea and something to look into adding for immersions sake.
Still do.
Good to see that you are working on a UE4 version.

Nice idea! How would this work however in a large level? Would the various wind source overlap naturally or would you need to setup volumes, etc… ?

Thanks Kris. Yeah, that was most likely mine. It worked with kismet, but kismet didn’t allow for a very easy method to share the idea with others. Now that blueprints are so portable and I have access to things like real-time audio volume adjustments, I feel like it just has to be made.


I’m still deciding that part. Most likely I’m going to add a scalable volume(shape) option to the blueprint that activates as you enter, that way you could set it up for smaller things like an air vent or something larger like an outdoor level, and have multiple of these in the level that deactivate when you aren’t in them to save memory.

The problem with larger zones and wind, is that you’re going to have objects in the level that would block the wind if you stepped behind them, depending on the direction of the wind. This is another issue I’m going to have to address. In UDK I had a section where the user could create a volume and plug it into the kismet sequence, and it would rotate with the wind, to simulate a zone behind an object where the wind sequence would stop. I’ll probably have to do something similar.

Okay, I think I’ve come up with a solution to objects in the level that would block the wind from reaching the player’s ears. I’ve used a line trace from the player’s eye height. Since this will be different across projects, I’m thinking of having the user input a bone name perhaps to attach the trace to a socket in their mesh near the eyes. Not sure how exactly yet.

Here’s a video to demonstrate the trace in action:

As you can see, objects interfere with the wind “reaching the player’s ears” dynamically. This trace also moves in real-time to match the current direction of the wind. You could be standing behind an object that blocks a northern wind, but then the wind shifts a little to the east and suddenly your cover isn’t so effective.

I have a real-world implementation example using the SciFiHallway example here:

In this case, the wind over the ears is heard as the player walks in front of the noisy air vents.

You’ll notice the vents make noise by default, which is what you’d hear normally in a game. With my blueprint, as the player stands in front of the vents, you also hear the wind from the vents rushing over the player’s ears.

I think this is really good.
10/10 would pay for.

Thanks Xerithas!

I’m working on more use-case scenarios. Here’s one using the hang gliding example Epic offers. In this case, I had to change the wind source from world, to based on the player. The player will have to always be heading into the wind, and it has to increase in intensity as the player’s speed increases. So I attached the rotation of the blueprint to the player’s rotation, and linked its intensity with the player’s velocity. I’ll hopefully be able to include an easy-to-access option for people who want to change the wind style to this for use in situations where the player is the source of the wind (hang gliding, free falling, rollercoasters).

A more basic scenario here. This video demonstrates the difference the adaptive wind blueprint can make in immersion. Keep in mind the wind over ears changes as the player moves their head or hides behind cover.

Excellent progress!

Absolutely would use this if available. Excellent way to add more realism and atmosphere to the scenes.

Thank you guys for the kind words. Here’s a final video for this thread. I’ve submitted the project to the marketplace for review. It has been an intense week getting this ready. The first iteration in UDK took a solid month to get done, with me even losing sleep thinking about how to implement features. It’s a blast to puzzle out, though.

The video is a how-to on implementing the BP and going through its options: