Skip to content

Rework ParticlesMaterial properties and layout for better usability #3588

@RPicster

Description

@RPicster

Describe the project you are working on

I mainly work on FRANZ FURY, but also on occasional Game Jam projects.

Describe the problem or limitation you are having in your project

With the current ParticleMaterial layout I find it very unintuitive how properties are arranged and ordered.
Properties are not grouped in a way that makes a lot of sense to me.
It's also hard for beginners to find the values they are looking for because it's not categorized or sorted in a way that makes sense when working on a Particle System.

Some properties also have very unintuitive naming when compared to the rest of the engine or by common sense.
Some examples:

  • angle which does what rotation does in most areas of the engine
  • color ramp - it's changing color over lifetime, so it should be named accordingly
  • align_y - it's aligning / rotating the particle to the linear velocity there could be a much more descriptive name like align to velocity

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Resorting and categorizing the properties into two main categories:
Particle Setup : This contains all parameters that influence how particles are born.
Over Lifetime: This contains all parameters that influence how particles behave over their lifetime.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

proposal_particle_system.mp4

I have made a branch to test this out, this is how it looks.

If this enhancement will not be used often, can it be worked around with a few lines of script?

It's changing the way Particles are setup and worked with. So it can't be worked around with a few lines of code and is often used.

Is there a reason why this should be core and not an add-on in the asset library?

I think especially first time users shouldn't be required to download a add-on to have a good experience.
Of course it could be made into an add-on: Something like a Particle Editor - but again, I think the experience in the Engine should be a good one by default.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    On Hold

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions