Question about particle systems and future lightweight objects

Discussion in 'Programming' started by RanDumSocks, May 14, 2019.

  1. RanDumSocks

    RanDumSocks Member

    Joined:
    Oct 23, 2018
    Posts:
    6
    So I was just thinking about how much I do not like the built-in particle system, mainly because it is a black-box and want to know what is going on inside. Secondly, is the functionality. The rule-set is very limited on how they can move and with no interaction. I thought, with the new lightweight objects being worked on, I could essentially create my own particle system in an elegant way with more complex rules tied to it without defining a full object. Most importantly, I know how it works.

    So I guess my question consists of two parts:

    1) Is there any information on how the back-end of the particle system actually works?
    2) Would storing a particle's variables like a struct and using custom update functions work just as well if not better than the built-in particle system?

    Part 2 is probably impossible to answer without part 1. Let me know other people's thoughts. I hope I gave enough information to get my point across but not over-explain. I figure I spare the details of my idea of the aforementioned custom system unless explicitly asked.
     
  2. TheSnidr

    TheSnidr Heavy metal viking dentist GMC Elder

    Joined:
    Jun 21, 2016
    Posts:
    462
    Particle systems are usually run on the GPU, which is why you have such a limited set of instructions. If you want to render hundreds of thousands of particles, sending each particle to the GPU individually is not feasible. What you want to do instead is to send info about an emitter and a particle type, which tells the GPU where the particles can possible spawn, and then let it do the rest. This is ridiculously efficient, but you can no longer control individual particles.

    I made a 3D particle system using this principle. It's not the same as the built-in system, but I believe they use similar techniques. You can have a look at it here

    So lightweight objects are still not a good solution for lots and lots of particles. You may still get away with it if you limit it to a couple of hundred particles though.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice