Bug: Particle's Vel/Life causes position shift

Hello all, reporting a problem with particle system here.

When you put absolute velocity in Particle’s Velocity/Life module, your particle’s initial position will be shifted by the same amount without calculating its rotation.

For example, if you put 3000 velocity in x, your particle will always be shifted 3m in world’s x coordinate.

I don’t get how this is overlooked and no one seems to be reporting any problems with it… But it’s currently making particle system unworkable for us. Hope this get fix real soon…

Best,

Hi KillerPenguin -

Thank you for your report. I will begin investigation into this issue as soon as possible. If I am unable to reproduce the problem, or I need more information, I or another staff member will follow up with some additional questions for you. Otherwise, I will post an ‘Answer’ once I have logged the issue 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:

How do I report a bug? - Programming & Scripting - Epic Developer Community Forums

Thank you.

Eric Ketchum

Hey Killer Penguin -

Can you please upload some screenshots of the issue itself and your Particle System set in particular the Required Module and Velocity/Life Details panel as well as the total module list?

Thank You

Eric Ketchum

It’s fairly easy to replicate, so I’m just going to send you pointers images below.

Well, as you can see from the picture, the particle is shifted from its emitter’s position. Below is the setting that you need to set in Velocity/Life module. Ticking on the object’s using local space does help on the rotation issue, but the particle initial positions is still shifted from it original spawn pos.

This is making our life hell when editing particles. Basically, whenever we change speed, the particle position shifted entirely. Can you help fixed this soon?

Hey KillerPenguin -

So I copied your system as closely as I could and still could not get it to behave the same way. I did note that shortening the lifetime made the particles appear to “wobble” but only in the sense that it was doing the same X and Z calculations over a shorter timeframe which is expected with a /Life module. I want to check what version of the engine are you using? Is it GitHub compiled or from the launcher?

Let me know -

Eric Ketchum

This is the latest 4.3 version, straight right from Epic.

I can already see some shift in your image. Notice how the first particle isn’t spawning from the object, but from some position ahead of it? Try rotating your emitter without “using local space” option, and the shift will be more visible.

If you still can’t replicate this, I’ll send you my mock up scene tomorrow.

Hey KillerPenguin -

I can see what you are talking about, but unfortunately this is the vel/life module working as intended. Essentially because you are setting that velocity at a zero time the particle is being born with a high velocity which causes the offset rendering. There are two ways to fix this and it depends on preference as to which one you would like to use, but both are going to do the same thing.

One is to add a zero time in your vel/life module and change the zero time to 0.1, in this way the particle will be rendered at the origin point and then be assigned its velocity. You can tool with going close to zero in the timeline, but it will slowly get close and closer to offsetting the particle again.

Or, you can add an initial location module to your system and use it to offset the distance back to the system’s origin. For my 2000 x 500 z system I had to offset the initial location by -50 on X and 0 on Z to get the system back to the origin location.

Hopefully this can sort out your problem for you -

Eric Ketchum

Dear Eric, We already tried adusting that 0 and 0.1 time thing, but that didn’t help the amount of the shift is not the initial 0 value, but rather a total sum of the velocity over time.

We have also been shifting emitter position, but that is cumbersome because every time we adjust the speed, the emitter shift to a new place again.

I’m sure it’s not really want you and anyone would intend for… It makes it very hard to really do complex particles.

Best,

ps. Have you tried rotating the particle without using the local space or try putting in y velocity?

Ok, I’ve export one of the particles from our game for you here. Hope you can import it. Please try take a look it how the particle position are severely shift from its spawn position…

link text

Hey Killer Penguin -

I will be happy to look at it, but I will need the *.uasset file of the particle system.

Thank You

Eric Ketchum

On a closer investigation, seems like the bug is in Ribbon data type. As you can see, the trail isn’t following it source module, nor responding to the object’s rotation. (I usually don’t render the source emitter, so I didn’t see it. And I thought the shift came from the original emitter.)

Anyway, hope you can replicate/fix it this time, otherwise please tell me how to send you my project.

best,

Hey KillerPenguin -

I responded to you via your Forum Message System.

Thank You

Eric Ketchum

Hey KillerPenguin -

Did you make sure that the Inherit Rotation is toggled to true in the Source module of the Ribbon Emitter?

Eric Ketchum

“Inherit Rotation” does nothing, the ribbon’s position is still shifted. Hope you can test it on what I gave you.

Otherwise, just construct a simple ribbon with source particle and you can test this bug by yourselves. I’m willing to help as much as I can but please fix this really soon though. We could not add any effect to our game at all.

Best,

Ok, just to make my point clearer. Here’s the two scenarios that we are facing with ribbon data. Please see the pics below.

When we use local space, the ribbon isn’t following the source particle. However, the position of the source particle is correct (isn’t shifted.)

12705-shifted1.jpg

When we uncheck the local space, the ribbon data follow the source particle correctly. However, there’s a bug that cause the source particle’s position to shifted from the emitter. (Can you see how the particle isn’t spawning at the green arrow now?) SO the whole thing shifted by some amount.

12706-shifted2.jpg

Please notice that both pic have the same parameters, the only different in the second pic is that the “local space” potion isn’t checked.

This shift become very severe when we have small life and high velocity.
With this bug, both scenarios cannot be worked with… and we’re left with broken particles system that can’t correctly handle high velocity particles.

It does’t matter which scenarios you fix, I just want one working option with this…

Hey KillerPenguin -

Ok, I’ve been working with your assets and creating duplicates in various engine versions. I 've been able to reproduce the behavior in Scenario One above when both modules have a checked local space I am getting the offset as you show above. However I am not able to reproduce the Scenario 2 yet. The Ribbon Emitter follows the particles just fine without local space checked. I am going to go back through your assets again to double check every setting.

Thank you for the information above it helped me narrow down the scope a lot.

Eric Ketchum

Hmm, I think you are a bit confused. To break it down even further, there’s 2 bugs:

  1. Ribbon Data doesn’t follow its source particle when local space option is checked.

2, When local space option is unchecked, there’s a slight “position shift” in weird direction from emitter with high velocity. This actually has nothing to do with ribbon data. I believe the bug is in emitter’s initialization with high velocity.

Anyhow, at least, could you fix scenario one for now then? I see no use in having Ribbon Data that doesn’t follow its source particle anyhow. I would like to get scenario two fix later too, I’m sure many people will encounter this bug again and again.

Hey KillerPenguin -

I have entered this information with our Developers and will keep you informed as we work on these issues.

Thank You

Eric Ketchum

When will this be fixed? I’m pretty frustrated with this actually…

Hey Killer Penguin -

Normally I have to deliver bad news, but today GOOD NEWS!! This issue has been fixed on our internal branch of the engine and should be included in the next engine release.

Let me know if the problem persists or returns after that release -

Thank You

Eric Ketchum