Making a stream of particles doesn't work

It always creates this weird effect:

50705-wer5treertertegdf.gif

Hi Davision -

Thank you for all your reports. We will begin investigation into this issue as soon as possible. If we are unable to reproduce the problem, or need more information, we will follow up with some additional questions for you. Otherwise, we will post an ‘Answer’ once the issue has been logged in our bug database or we have a solution for it.

In the meantime, please be sure to review our suggestions for how to report a bug, and feel free to edit your post if you have additional information to provide:

Thank you -

Eric Ketchum

Hi Davision -

Look at your gif above, it looks like you might setting you spawn too high for a CPU Particle System, but even with that taken into granted I am not getting the spacing you are showing in your Gif. Can you take a look at this test project? I have setup two systems one using GPU and one Using CPU particles. I feel I have missed something in your setup to reproduce this behavior.

Thank You

Eric Ketchum

Test_Project

Are they just a bit closer together for you? The gif recording reduced the framerate which made the spacing a big higher.

I made a new post concerning how to make a water stream with particles, maybe my approach was just wrong for it?

Hi Davision -

To directly answer your question yes, but if you are previewing with a Vector Parameter instead of start velocity in Cascade, you might not get accurate results. On the whole you are on the right track to create a water stream, take a look at this new test project, it’s a very simple setup which you are welcome to interrate from and change to meet your requirements.

Thank You

Eric Ketchum

Test_Project

Thanks for the examples, I have now a nice stream working but the problem I have now is that I can’t change the acceleration with a parameter when it is GPU Constant Acceleration which is required to make a ark that also works with looking up or down. It would work when I make it local space but then I have no dragging behind and it looks very wrong.

Hey Davision -

I actually found this local rotation issue yesterday. I am fairly certain it is a bug and am working on reporting the issue. In the meantime, as a workaround, you can use multiple CPU emitters with some initial location modules and adjust the sizes of each emitter to give you the shape you are looking for.

Also I will post the UE bug number once I have put it in here.

Thank You -

Eric Ketchum

Hi Davision -

So after some testing and discussion to make sure I understand what is going on, the Local Space checkbox on GPU particles actually will not work with Scene Collision module as there is no explicit way to transform Scene Depth to the Local Space coordinates that the GPU uses which causes the odd behavior we were experiencing. So you can use the GPU particles in Local Space which will give you the rotation ability you want but you will need to delete the Collision Module.

If you want that “splash” hit look with the water I would use another emitter with GPU or CPU and a Parameterized Initial Location Module which can be set in the BPs.

Thanks again for the patience on this one -

Eric Ketchum

With local rotation issue you mean the acceleration not rotating with the emitter actor rotation?
Using local space in emitter solves that but creates the problem of the stream looking static. The rotation of the actor will be applied to all particles at all time then. While non local space would only make it rotate the initial rotation of the particles which then makes the stream look like it drags behind.
Not sure what could be then the solution in case of the acceleration working correctly currently. Probably need to hack in the dragging behind somehow.

The scene collision is something I don’t need. For that I already have a sepperate splash particle system with set position where the raycast hits and I control how far the stream goes by changing the velocity parameter.

Hi Davision -

I think I understand what you are saying, try using the Drag/Life module which would allow you to adjust acceleration over the life of the particles.

Eric

Drag just add a resist to motion which doesn’t help me.

Here is my problem in gifs, local space:

51078-wqewqe.gif

Here non local space, this is how it should look, with the dragging behind but the acceleration is then the problem when looking up and down:

51079-wqewertzzqe.gif

Well, I suspect there is no solution for it. at least not with GPU particles. Might be something to take in account if GPU particles are still a work in progress.

Hi Davision -

Got it now. I understand. You need to drop the Acceleration add Drag to act as Friction and Gravity (just a little goes a long way and it’s not necessary) then add a socket to the BP mesh that you are attaching the Particle System. Assign the Socket to the Particle System’s Parent Socket in the BP and you will get the best of both worlds.

Thank You -

Eric Ketchum

Finally found a workaround! Along the way I found some more limitation or bugs with GPU particles, Object Orientation in the material has no effect with a GPU particle that is set to non local space while with CPU particles it works in any case. Furthermore Color Particle Parameter changing has no effect with GPU particles.

My Solution:

  • Making a Material Parameter collection with a vector parameter
  • Setting that vector parameter in blueprint to the upwards vector of the player
  • Using that direction vector parameter in the material as the World Position Offset
  • Multiplying that World Position Offset by the Particle Color
  • Making the curve for the world position offset in the particle color

Pretty big workaround but whatever works! The cool thing is I can adjust the curve for upwards/downwards different while it always ends at the same position, the crosshair.