We (7 members school project) currently are working on a fully dynamic daytime and weather environment using Speedtree UE4 integration with instances and foliage. I need to update a WindDirectionalSource (WDS) Actor from blueprint using simple triggers.
The problem is that when trying to refresh the scene WDS Actor from blueprint (in construction or event graph), SpeedTree assets wind deformation intensities don’t interpolate to the new wind values.
The WDS actor updates its parameters fine but you need to manually interact with any parameters of the WDS actor (XForm, press enter on any value, adjust billboard scale, etc) for the SpeedTree assets (Instanced or foliage) to respond with a (I think is normal) smooth interpolation toward the new target values of the WDS actor.
I’m using a temporary grass wind material function on some grass foliage using the current WDS parameters and the grass updates accordingly from blueprint (in contruction/event). It seems to be only the SpeedTree assets that don’t register a WDS modification outside user interactions.
Am I missing something or is it an issue?
Thank you very much!
STEPS TO REPRODUCE (Using 4.4.3)
Start a blank project (no starter content)
Import the default SpeedTree Conifer in the editor and place it in the world
Now, create an actor blueprint class and add a public WindDirectionalSource variable and set its wind component speed & strength in the construction script to 0.0.
Compile, place blueprint in scene
Place a Wind Directional Source (WDS) actor in the world (Makes the SpeedTree asset react to wind)
Notice its default values of 1.0 (you can see that it works with manual updates, slowly but surely)
Now add the WDS Actor in the public variable slot of the blueprint.
Notice that the WDS Actor values now have 0.0 assigned
Notice that SpeedTree asset does not update its wind deformations
Try different values in the blueprint and recompile and see that it does not work and only does with any user interaction with the actor.
I’ve been able to reproduce this and have submitted a bug report (TTP: 348101) for this issue. Once a fix has been submitted I’ll update here accordingly.
There are no updates at this time. This is still high on our backlog list, but has not been assigned to an engineer to investigate yet. Once a fix has been submitted and verified fixed I’ll update this post.
hey. i just tried to change wind directional source properties by blueprint and it doesn’t work. neither by level bp nor actor bp, getting by class and then casting.
getting the changed settings and printing it to the screen, was successful. the values are updated. but no change in behaviour.
however now searched the topic and found this thread.
is it now somehow possible to change wind settings by blueprint? perhaps with a workaround?
Hey Aphexx, Actually there is a workaround, somewhat of a silly one though :p.
What you want to do is have a blueprint or some code whatever you prefer move/translate the wind directional source . Once moved the properties will be correctly updated and applied. In my case I created a small blueprint that each tick randomly moves the actor a super tiny bit around and that seems to work. Hope this helps you.
This was actually closed out sometime last year as an issue that will not be fixed. This doesn’t mean it’s not a legitimate issue because of this, it just means that it’s was far enough down on the backlog list that it likely wouldn’t be gotten to in any reasonable time. The workaround that is mentioned by Brechtos is one I’ve seen mentioned, but not one I’ve personally tried.