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)

12 Likes

Thanks for the report! We are investigating.

10 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 entirely (still glitches while jumping). The solution is that you just need to set X or Y or Z Acceleration for this particles to 0.001 while orientation property is set to VelocityPerpendicular. Sadly this is a game engine bug, so there’s no solution to fully fix it. Atleast i hope it will help y’all <3

3 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

4 Likes

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

2 Likes

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)
2 Likes

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

i set spreadAngle to (0.001, 0.001) to fix it. maybe you can try

1 Like

Although I have solved this problem with set spreadangle (0.001,0.001). but i don’t understand。if you still investigating or has there already been a solution,pls tell me

2 Likes

Is this bug going to be fixed? I’ve had this issue and applying 0.0001 acceleration fixed the issue however it reoccurs when I am touching another character.

Example without being in front of a player: (works as intended)
https://gyazo.com/e89ba9e2b82e6d7aacae1dd30cba6c90

Example with being in front of a player: (rotation bugs, not intended)
https://gyazo.com/0c6d0b03243338b9e6baf613ab753c92

Hopefully this gets fixed. Please lmk if there are any updates. Thanks!

Try changing the orientation of Z to 1 for any parts/attachments that are either created or cloned, might work for you as it did for me.

1 Like

SOLUTION

SpreadAngle = 0.001, 0.001
Acceleration = 0.001, 0.3, 0.001
Drag = 50

and 100% should be fixed

1 Like

Still experiencing this bug.


Particle making use of VelocityPerpendicular exhibits strange behavior when the parent’s orientation approaches 0. Particle also seems to switch emission directions when certain orientation values enter the negatives or positives. Solutions above do not work.