Circle shape emitter is flipping particles on one side
I'm trying to get a circle of particles, all oriented one way, aligned to the direction of the circle. The problem is that the "circle" shape emitter seems to be flipped on one side. Here's an example:
The yellow spikes are facing upward on the left, but down on the right. I need it to align to the rotation of the circle, because it's supposed to be angled when the object is rotated (also shown in the image). If I disable Align To Direction, the spikes always face in the upward y direction, no matter how the emitter is rotated.
Here are my particle settings:
Basically, how can I get the right side of this circle to look like the left side and have all of the spikes facing the same direction?
Answer by ifurkend · Jun 25, 2017 at 11:45 PM
Unfortunately "align to direction" isn't quite reliable even in 5.6. In fact using the "circle" shape is a bad idea because the traveling direction is from center towards the circumference, which is obvious when you give the particle system some start speed. But changing to the "cone" shape doesn't help either.
To achieve your goal, you can instead enable 3D start rotation with 360~0 range of x-axis (the rest zero), remove Shape module, use mesh render mode, use the built-in "quad" mesh, tune the pivot of y-axis which is effectively the circle radius.
That's almost what I'm looking for, except that now changing the particle size is changing the radius of the circle itself, rather than the particles. Is there any way to change the size of the particles and leave the emitter mesh at the same size?
This is rather tricky with limited solution. If you mean "size over lifetime" module, just enable "separate axes" and make sure all points of y-axis have the value 1 (you can delete the rest of the points leaving 1 point only). As such only x-axis is being animated.
If you want to maintain aspect ratio of particles, there is a more fiddly workaround which would only be feasible after Unity 2017 when the "linear" mode of velocity over lifetime is implemented (without promised date of delivery).
Thankfully, I don't need to maintain the aspect ratio, so this solution works out great. Thank you for your help, I've marked your answer as accepted.
Your answer
Follow this Question
Related Questions
Some question about ParticleSystem.emit() rendering 0 Answers
Low particle emission rate 1 Answer
Particle collision Lifetime "Gain"? 1 Answer
particle collision events networking 0 Answers
help with particle projector 0 Answers