Particle Initial Location gets changed by Velocity

The gif should make it clear:

50703-wer5treegdf.gif

I make the velocity higher and the particles start further away through it. This glitch gets more extreme the lower your framerate is.

Hi Davision

Thank you for your report. 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 -

We do have an issue report in for this behavior, for reference UE-4523, but it is currently backlogged. From one of the developers currently working on particles, he is referencing the test project originally submitted with the issue but the same is true with your test case:

The offset from center is related to
the spawn/tick order of operations.
With these high velocities, small
variations in frame rate during
spawning make a huge difference. The
emitter is also offset by 100 on each
axis in the spawn module, so it’s not
going to spawn directly on the origin,
but the biggest issue is that, with
framerate variations, the initial
spawn location can vary substantially
because we update particles
immediately after spawning - so the
first time the ribbon emitter runs,
it’ll spawn from the initial location
that has already been updated by the
velocity, which is large, which is
going to offset the initial particle
substantially from the origin.

A possible workaround: insert one
additional control point at the
beginning of the curve, at an InVal of
0.0 with a small X velocity of 0.1 or so to trigger the SpawnPerUnit module,
and constant interpolation. Move the
second control point to InVal around
0.3 (0.2s * 0.3 = 0.06s or 60ms) instead of 0.0. This should make sure
that the initial movement of the
particles directly after spawn is very
small, so they’re likely to be very
close to the center except in the
unlikely case of a long hitch. The
above fixes the issue with this
particular emittter for me.

The workaround He mentions above worked for me in numerous cases, but note that while the issue is backlogged it has not been forgotten, but with the workaround a relatively easy it does not have the priority of other more critical issues.

Thank You

Eric Ketchum

I tried changing it with velocity over time and manipulating it to be very slow but that didn’t change it. Or do I need to make it velocity over time as direct without any initial velocity?

Assuming you are using a CPU emitter, you would use a Velocity/Life Module with no Initial Velocity Module. This can cause other issues, particularly if you want to use any of the Acceleration modules.

If this is for your water spray effect, I would use Initial Velocity and adjust your initial velocity down a little then use acceleration modules to get the speed and gravity control your want for the effect. I also see that you are using a Vector Particle Parameter. With Niagra this will be a little easier, but you will want to test the particle system in the Blueprint in the level, to get a more accurate look especially if that parameter changes over time.

Thank You

Eric Ketchum