Let’s say someone builds a car with one of the most advanced engines in the world. It has very high horsepower, it’s polished exquisitely, full of gears and parts that allow it to outperform most other cars in brilliant advanced ways.
However, the gas pedal is a binary switch that’s activated by setting an alarm clock at the times you want it to start and stop, the steering wheel is controlled by flexing your tongue on a lever, there’s only one untouchable gear, and the brake is nonexistent. I’d say that’s a fair analogy to how Blender’s particle system works.
All that incredible power built on a horribly flawed, absurdly counter intuitive workflow. And all this time I’m waiting for someone to point out the obvious, for the most important mechanics that allow us to access this power to be fixed, and what happens in each build? Petty tweaks to the engine. More amazing features built on the same root problems. I do not understand it.
So I’m going to break down some of these issues in this post because apparently everyone, especially the Blender Foundation, is totally oblivious to this.
I had a hard time deciding where to begin, so I’ll start with the first, most important part of the interface, the hairpin bottleneck that’s strangling the life out of this whole engine.
This is, without a doubt, one of the most idiotic, illogical, common sense defying things I have ever seen in computer software. For this to be in Blender is absolutely inexcusable.
You define a specific frame to start emitting particles, a specific frame to stop emitting particles, and how many particles are emitted within that time. This means the entire particle system you are setting up is only useful for one span of time, and after that it is dead, which means that for each time you want to use it, you have to make a complete hard copy of the entire system and modify those moronic start and end times. It also means if you need to change the duration of emission, the particle count will never be consistent, because it’s fitting a specific amount within that duration. So even if you do use it multiple times by making hard copies, if you want to change how long the subsequent uses last, you have to solve the number value in order for the particle count to stay consistent.
Now for comparison, I’ll show a particle system that was actually made with competence, Particular.
See that? Those three idiotic options have been reduced to one intelligent property. With this, you key the amount of particles emitted per interval. Keying it to 0 stops particles, and anything above emits however many particles you want. The same setup is infinitely reusable and the particle counts are as consistent as the value you set it to. This also provides the ability to change the amount of particles emitted over a span of time, since the particle count is animated. This is not possible to do in Blender because of its unfathomably stupid method.
So already Blender’s rich particle system has been brutally crippled by this single unresolved cog in the workflow that’s pleading to be fixed. But it doesn’t stop there, because there’s another feature of paramount importance that was forgotten, resulting in this elegant train falling off the rails into a spectacular wreck.
Can anyone tell me what’s missing in this marvelous array of settings? Probably not, since it has never been brought up for reasons I will never understand and I don’t expect anyone to start now.
For your convenience I once again bring your attention to a properly made particle system, Particular. Do you see what I see?
Ah pfft whoops, particle animation, kinda sorta forgot that didn’t we. In developing physics sims and boids and hair rendering and spending years fidgeting around with scores of trivial nonsense, I guess the devs casually glossed over this part, you know, the one thing that makes all of those other features in a particle system even worth anything.
As such, all of the particles in Blender are static. Oh yes they can move around, but it’s just moving particles around that each do nothing. The interface for getting particles to move around is already highly unintuitive as it is, but fine, it can still accomplish that. But as for per particle animation, the system can’t animate scale, opacity, materials or textures, nothing.
I investigated and found this specific texture ramp feature that maps a fixed length of animation for a couple properties that is seldom covered in tutorials, however the feature is unintuitive, redundant to the existing animation system, and is essentially useless since the only meaningful property you can animate is scale.
Not only does Particular give you deep animation control for a multitude of properties, but you can just use an AE composition instead for particles, which means you can use AE’s animation system and create a particle of arbitrary complexity featuring multiple elements with any form of animation possible and use those as particles.
With the common sense design of Particular, I can create particle animations such as this:
and this:
and this:
and this:
and this:
and this:
These examples I have just demonstrated are among the most basic, elementary things a particle system should be able to accomplish, and Blender is not capable of creating ONE of these examples, despite how incredibly powerful the software is. Why? WHY? This does not make ANY SENSE. Am I the only sane man using Blender? Are there any sane people on the development team?? This is one of the main reasons people have to incorporate software like After Effects in their projects, because Blender lacks bare minimum features like this.
What’s most upsetting about it is how simple the solutions would be. You don’t even need a panel for all those animation settings in the particle system interface. You know what would solve this gracefully and provide total flexibility over particle animation? How about this.
Take an action:
and apply it to particles as animation:
That’s it. Just adding that simple feature will make Blender’s particle system infinitely better. Currently, if you have an action applied to an object that’s used as a particle, it affects all of them globally, so as it is now, it’s useless. The idea is allowing the action to run for each particle individually when the particle is born. If we were able to use Blender’s existing animation system, the particle animation can be as rich and complex as needed.
So to recap:
Condense the “start, end, number” properties into a single, keyable “particles per step” property.
Allow actions to be applied to particles to give each particle individual animation.
Is this getting through to anyone? I’m so frustrated with the way Blender’s particle system currently works, because in order to accomplish even the most basic particle effects, I have to drastically divide my work into separate programs and needlessly muck around with compositing passes. On top of that, only 2D particles are possible in software like AE and Particular. This should be a first priority feature for Blender devs; it should HAVE been. Instead they continue to waste powerful new features on this same tragically flawed foundation.