Update Wind directional source Strength or Speed in runtime don’t produce any effect.
Thank you for taking the time to report this issue. Unfortunately, this is a known and reported issue (UE-3309) and we are working have this fixed in an upcoming release. If you have any other questions or need help please let us know.
Hey again Daverkex,
After doing some research I managed to find a workaround to get the ‘Wind Directional Source’ to update at runtime. Keep in mind this approach is a temporary workaround and is not an official fix, but it will produce the right results. Follow along with the directions I have provided and use the images as a reference on how to go about connecting your blueprint.
Before we get started I would like to mention this is being done completely within the Level Blueprint.
Spawn Wind Directional Source
Here I have set up a simple ‘OnActorBeginOverlap’ Event for a trigger volume I have set up in my scene. This creates a ‘Wind Directional Source Actor’ at runtime at the desired location.
Now the bug is that when we spawn the actor in and attempt to set the values for ‘Wind Strength’ and ‘Wind Speed’, they always default to 1.0. In order for us to be able to work around this we need to update the rotation of the ‘Wind Directional Source’ so it will then update the values entered for ‘Speed’ and ‘Strength’
Set Rotation, Strength, and Speed
This should now update the wind direction, strength, and speed of your ‘Wind Directional Source’ actor. I have a below image of how I set up my scene in case you were wondering.
Scene Set Up
Let me know if you still need help getting this far and if this was a viable workaround.
Hey Andrew, I also experience this bug in 4.8 and it’s great you have shown this workaround here, it seems to work in one direction, but no in the other. So if I have speed set to 0.2 in the editor and then set it to 2 while the game runs and adjust the local rotation of the wind source, it get’s updated, but if I have it set to 2 in the editor and try to set it to 0.2 while the game runs, it does not get updated, wind stays very strong.
The Blueprint set up I have provided, spawns the Directional Wind Source actor at runtime so there is no setting of values within the editor. If you are using the same set up as I am, then what you are seeing is an extra Wind Directional Source spawning on top of the one you are setting, and you are editing this one instead.
Will be this fixed for 4.9?
This issue has been backlogged as of recently. Currently there are resources dedicated elsewhere for the final push of 4.9 which is focused on stability. I will add some community interest to the issue so this can be a target for 4.10.
The workaround below is easy enough and works well. If you are spawning the Wind Directional Source actor, simply update its rotation (even by 1 degree) and your wind will update its speed and strength to the correct values.
So I’ve got this workaround up and running, but I want to point out that - at least as far as foliage is concerned - it only works on speedtree assets. Presumably the speedtree node that gets plugged into World Position Offset is able to read directly from the wind actor?
My project uses vertex color masks for foliage wind animation, but it’s driven by the “wind” material function that ships with the engine (essentially a 4-vector). The issue appears to be that the Wind Directional Source has no connection with that material function - the description states as much. Is it possible to pass this value from the level blueprint to the function?
The Wind Directional source does only directly effect SpeedTree assets. There is a way to get your foliage to respond to the Wind Directional Source. A user has actually provided the entire set up for getting the grass to respond to the Values entered into the Wind Directional Source via the Marketplace, and I don’t want to undermine his work so I would suggest taking a look at what he has done there.
The content is named, ‘Realistic Grass 1’ and his set up is fairly straightforward. I will tell you that he is using a Static Switch and has created a Material Parameter Collection for the Wind Speed and Strength. Using this in combination with a Dynamic Material Instance will give you the results you are looking for if you want to edit the Wind’s Speed and Strength at runtime.