I will create a shield for a spaceship, which always should be invisible, exept someone shots on it (event hit). Here is a clip how it should look like: [YouTube Video] (Star Wars EaW FoC [Unreal Engine 4] - 3 (Shield) - YouTube “YouTube Video”)
I have already created a material which can show a Impact from a hit, but if my spaceship is moving, the impact disappears, because the impact has a world location and it didn’t move with the Vehicle.
Not sure if you still have this problem, i stumbled on this thread looking for that shield impact effect.
Anyway, From what i gather of this Material effect, the reason its static is cuz your material position is as you put it “In world space”
What you should do is make a vector (or 3 scalar) parameter values using a Parameter collection,
Then in the actor with the shield, call the “Set scalar/Vector parameter” and set those values to match the world location of that shield.
I would image you’d have to call it every tick to update, although you can re-write that so it only calls when the shield has to show itself (to save yourself calculations)
That way, every update it re-centers the material around the shield again, regardless of where you are.
That should fix it
I used this method to solve a similar looking material position thing.
Or you could nust make the effect a component of the Ship actor which would make it always be in the same place as the ship.
Or you could spawn it as a separate actor and Attach it to the Ship (then you can tell it to only attach te location not the rotation if you want.
and neither of those has to be updatedevery tick just set once or not even set at all in the case od the component approach because its already part kf the ship actor.