4

Using version 5.2.3f... I have a HeadLookController script that finds a Vector3 to rotate my models head bone to look at. I have a Particle System on a child GameObject of the head bone. The Particle System is set to emit in World Space. However, during runtime, as the head rotates, the child GameObject rotates with it, but the particles that are emitted don't emit from the new rotated forward Vector. This is the ParticleSystem the way I set it up. enter image description here

And this is during runtime, when the character's head looks up, you can see that the GameObject with the ParticleSystem rotated to look up as well, but the particles are still firing from their original position. enter image description here

Anyone have any idea if I'm missing something here? Or does Unity's ParticleSystem not support matching the ParticleSystem's GameObject's rotation?

David Rosen III
  • 117
  • 2
  • 10
  • Hi, did you ever figure what the problem was? – Daniel May 19 '20 at 15:41
  • 1
    Yes...it's just how Unity is designed. The particle system doesn't work properly when parented to bones of models. My work around was to make the particle system a component of a separate (from the skeleton) GameObject and then make that GO always look in the same direction as the head bone. – David Rosen III May 20 '20 at 16:04
  • Thanks, I appreciate the response! Unity got back to me on their forums, and I ended up doing exactly that! https://forum.unity.com/threads/unity3d-particle-system-not-updating-with-character-rotation.893839/#post-5874106 – Daniel May 20 '20 at 16:10

1 Answers1

0

It could be quite a few things; you may want to provide a screenshot of the particle system's settings. Here are a few things to check:

-Simulation space: Set to "local" to lock the particle effect to the emitter, so if you move the emitter, all particles will move with it. "World Space" will set only newly created particles to the emitter's location, and is better for a moving car's exhaust, etc. You may have this set to custom, which sets a custom transform as the emitter location.

-Force over lifetime: This sets a particle's momentum to a specific direction, meaning if your start speed is low and your Force over lifetime is set to a direction, the particles will not stay within the bounds of the emission shape.

-Is it possible you have collision on your particles, and they're hitting a plane and sliding along it? Seems unlikely, but it's possible.

Vanguard3000
  • 223
  • 1
  • 6
  • 15