Particle velocity/life bugs when emitter is rotated

When an emitter using velocity/life is rotated (to a rotation that is not a 90 degree increment), the velocity/life is not correct.

E.g. a particle system is set up to render in world space and has a initial velocity of [10, 10, 10] to [-10, -10, -10] and a velocity over life of [100, 0, 0].

When pointing down the X axis, the particles move coherently down the x axis (as expected, because the velocity is now [110, 10, 10] to [90, -10, 10]).

When the emitter is rotated, and is pointing down the Y axis, the particles move coherently down the y axis (as expected, because the velocity (in world space) is now [10, 110, 10] to [-10, 90, -10].

When the emitter is pointed at 45 degrees to the X and Y axis, the particles spray out to travel down both the x and y axis independently, appearing to have a velocity range from [110, 110, 10] to [-10, -10, -10] (but the correct speed).

What I would expect would be the result is for the velocity to be calculated (somewhat) as follows:

newvelocity = mul(initialvelocity, emitterrotationmatrix) + mul(currentvelocityoverlifemodifier, emitterrotationmatrix)

And thus the resulting velocity would be similar to [81, 81, 10] to [61, 61, -10].

Hi Griffork -

Just for clarification, are you using absolute setting in your Velocity Over Life? Because if you are not then entering in a Constant 100,0,0 into Velocity Over Life will remove all movement in the Y and Z Planes (i.e. The Velocity is multiplied by 100,0,0), so your actual movement should be (1000,0,0) to (-1000,0,0), which is exactly what I am getting in my test project.

Eric Ketchum

No, I’m not using world space in velocity over time. I tried checking local space on the emitter and that did nothing. I am using mesh typedata if that makes any difference.

I’ll isolate the emitter and send you an example project on Monday when I get back into the office.

P. S. This website is horrible on mobile.

Yes, Mesh Typedata might make a difference. I will test again, but if you can isolate the emitter for upload here as a Test Project that would also be ideal.

Thank You

Eric Ketchum

Even with a Mesh Type Emitter I am still seeing behavior that I would expect.

If you are able, can you put together a sample project exhibiting the same behavior and post it here.

Thank You

Eric Ketchum

Hi Griffork -

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.

Thank you.

Eric Ketchum