The game I’m working on has a dynamic wind system. A blueprint outputs a vector for the wind, which I’m using to pan a texture on various geometries. Whenever I’ve done something like this before, I multiplied the incoming vector by time, and then added that to the Absolute World Position, which then goes into the “WorldPosition” input on a WorldAlignedTexture. So far, so good.
However, this only seems to work for static vectors. If the vector is dynamic- like a changing wind- I start to see discrepancies in the movement of the texture. It looks fine at first- the texture pans through the geometry in the direction of the wind, and it accurately changes direction when the wind changes. But over time it starts to diverge from the wind- it accelerates, eventually (within a few minutes) strobing because it’s moving so quickly.
I’ve got a debug node hooked up and displaying in the material, so I can verify that the incoming numbers are correct- the wind vector is working exactly the way it should. It just seems to accumulate errors when it pans the texture.
I’m getting the same result with a 2D implementation of this, as well. If the panning vector is static (as in, it doesn’t change over time), the panning works correctly. But as soon as the incoming vector changes over time, the texture pan increasingly diverges from what it should be doing.
I’m kind of at my wit’s end, here. This seems like a fairly simple implementation of panning a texture, but as it is right now I can’t have wind drive a texture pan. Here’s the graph I’m currently using: