Hi,
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.