I wanted to create a shockwave-like effect using a particle system using a mesh emitter with a sphere and a refraction-material. Everything looks good in Cascade and when simulating the game. However, as soon as I attach to the player controller during the game, the refraction part of the material completely vanishes, making the effect practically invisible.
Here is the effect when detached from the player controller:
I just noticed, as soon as I add a static mesh somewhere in the level that has the shockwave material applied to it, then the particle effect keeps working when attaching to a player controller.
As soon as the static mesh is not visible any more or I delete the mesh from the level, the particle effect is invisible again.
I have the bounds set up correctly and I can also see that the effect is being played. The problem is that as soon as I attach to my player controller in the game, the refraction-part of the effect vanishes. The emmisive part is still rendered correctly and visible, so there should not be a problem with the emitter bounds.
As I posted above, this problem vanishes as soon as a static mesh in my view has the particle material applied to it and is visible. So my current solution is to create a tiny mesh next to the effect and apply the material to it, then play the particle effect and then delete the mesh again. Sounds like the engine is not loading the material correctly when only the effect is playing.
This sounds like an issue of bounds needing to be adjusted. With the Particle Effect attached to the player your bounds need to be large enough to still register in the Player’s Camera view. If no bounds are set at all, then you have a point centered on the root of your character which is never seen in the camera so not rendered. Try simple setting fixed bounds though you may have to go into the details panel for your emitter and make it slightly larger.
I am using the current promoted branch of the engine (4.7.0).
If you want to, I can provide you with a minimal working project where this issue is visible.
If you hit play you will see that the refraction effect is gone and only the emissive color drawn. If you turn to the right where I put a static mesh with the material the particle effect will be correct again.
Thank you for your project it was very clear. I have entered a bug report with our engineers, UE-6754. I will keep you informed as we work toward a solution.
This is indeed a bug that made the distortion pass be skipped altogether if the only primitives with distortion on screen are dynamic (such as particles).