Particle rotation glitches with VelocityPerpendicular and LockedToPart inside the character

Reproduction Steps

System Information:
Intel (R) Core™ i7-6700K CPU @ 4.00GHz, 32 GB, NVIDIA GeForce RTX 2080 SUPER

Reproduction File:
Baseplate.rbxl (47.7 KB)

Expected Behavior

When a ParticleEmitter is placed inside the HumanoidRootPart with its Orientation set to VelocityPerpendicular and LockedToPart enabled, the emitted particles should only rotate if the parent of the ParticleEmitter rotates.

Actual Behavior

If a ParticleEmitter’s orientation is set to VelocityPerpendicular, LockedToPart is enabled, and it is parented to the character’s HumanoidRootPart, when the player moves the rotation of the particles visually glitches.

(https://gyazo.com/b1489974461380a00db3a539e1f7027f)

The glitch only seems to happen with parts in the character, because when testing with an ordinary part, everything works fine.

(https://gyazo.com/d14c140c685f4a43f073900b25e9165c)

Issue Area: Engine
Issue Type: Display
Impact: High
Frequency: Constantly
Date First Experienced: 2022-09-24 23:09:00 (-05:00)

10 Likes

Thanks for the report! We are investigating.

9 Likes

it’s happening to me too, the particle i’ve put in a part with

Velocity Perpendicular,
Emission Direction - Right,
Rotation - 0,
RotSpeed - 0,
Speed - 0.001 ( the lowest i can do without it not spawning ),
Spread Angle - 0,
Shape - Box
ShapeInOut - Outward
ShapeStyle - Surface
Acceleration - 0
Drag - 0
LockedToPart - True
TimeScale - 1
VelocityInheritance - 0
WindAffectsDrag - True

In studio it’s at this rotation

In the Game it spawns at the correct position but rotates for some reason

Without Locked to Part it spawns at a rotated position ( not the one i want or put it at )
image

3 Likes

This is still an on-going issue and it’s been in this state for quite a while, definitely over a year at this point. It’s slightly disappointing that this issue has not been resolved yet, considering the amount of particles that use VelocityPerpendicular, hopefully it does get resolved as soon as possible as it is quite an annoying bug.

6 Likes

This issue is actively present in a studio build where particles are not being moved, but are located under a Character.

I should also mention that this issue also appears to affect particles that just have LockedToPart enabled, and don’t have any weird rotation on the part.

The particle in this video is stored under an attachment, but despite rotating the attachment, the effect always glitches out extremely badly whenever LockedToPart is toggled.

Also sometimes whenever the Particle is located under an attachment found within the Character model, a straight line becomes diagonal when attempting to rotate the attachment with 15 degrees, and local movement on just one axis, even though it should just normally rotate as it does without 15 degree rotation being toggled.

These are relatively game breaking things that should ideally be fixed, because I’m sure for those who work with particles, this is a real pain. Me and my buddies can’t get specific results without weird workarounds.

4 Likes

Can you DM me a place file and steps that repro the bug in the 2 instances you showed? Thanks!

I found a solution for this bug. It does not remove it from all particles or something like that. So the solution is that you just need to set X or Y or Z Acceleration for this particles to 0.001. I have no clue why it works but i finally managed to find this solution

2 Likes

I can confirm setting the Acceleration fixes the bug.

Both examples have orientation set to VelocityPerpendicular.

Acceleration set to 0,0,0:
https://gyazo.com/0078415f433b16c26456ed18da905f10.gif

Acceleration set to 0,0,0.000001:
https://gyazo.com/b4df2ec8d240d9d6b6a4db722f14a3e2.gif

2 Likes

It only glitches a bit when I jump, but its fine when I walk, thank you!

1 Like

Try to

  1. Play around with small acceleration values (ex: 0,0,0.000001)
  2. If that doesn’t work, try to change spread angle to something like (0.001, 0.001)

are you still investigating or has there already been a solution because I have the same bug right now.