Working On A Particle System For Buildbox 3

Discussion in 'Buildbox General Discussion' started by Ivan Perfetti, Oct 16, 2020.

  1. Ivan Perfetti

    Ivan Perfetti Boxer

    Joined:
    Sep 9, 2018
    Messages:
    93
    Likes Received:
    98
    Hi all! I've been working on a particle system for Buildbox 3 for a few days now; hopefully we'll see an official one sooner or later, meanwhile here's a preview of my system, coming soon to indym.itch.io!
    What do you think about it?
    Please share any comments/ideas, thank you!

    (Videos updated on date 24/10/2020)

    [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG][​IMG]
     
    Last edited: Oct 24, 2020 at 2:57 PM
  2. deyren

    deyren Boxer

    Joined:
    Jul 26, 2018
    Messages:
    33
    Likes Received:
    10
    Hi, thanks for sharing I find it interesting
     
    Ivan Perfetti likes this.
  3. 5petersonzachary

    5petersonzachary Serious Boxer

    Joined:
    Jan 23, 2016
    Messages:
    541
    Likes Received:
    159
    Looks incredible! Will it run smoother then using debris explosions and spawn nodes?
     
    Ivan Perfetti likes this.
  4. Ivan Perfetti

    Ivan Perfetti Boxer

    Joined:
    Sep 9, 2018
    Messages:
    93
    Likes Received:
    98
    Well, having it to run smooth is one of my concerns; I'm going to test it soon on a couple of devices to see how it performs.
    I'm going to add any possible optimization and some trick to increase performance but in the end it will also depend on the particle settings itself; what I mean is that if you're going to use physics enabled particles able to collide with other particles or entities that might greatly reduce performance as well as heavily using transparencies which are required to obtain many particle effects.

    Meanwhile here's a new clip of the effects I've obtained until now:
    - 2 type of fires
    - rain
    - snow
    - rainbow/plasma arc
    - portal



    I've now added a whole lot of attributes to allow to customize the particle system in a way that you can:
    - create an infinite number of particles systems coexisting in the same level/world, each system identified by a unique identifier you can set. To create a particle system you just drop an Emitter object and configure its attributes.
    For each particle system (emitter) you can:
    - Define how many particles per second will be emitted.
    - Define wake up / sleep distances.
    - Select a particle model (for now I've tested two, both textured, a flat one and a spheric one; most of the systems you see in the demo are made with the flat one, only Fire #2 is using a sphere model as of now).
    - Define gravity, linear velocity, angular velocity and starting position (relative to the emitter) with two sets of XYZ values each, one fixed and the other to add randomness.
    - Define up to 5 color transitions (for example start as white, will become yellow, then red, then black, etc.) and specifiy for each one color, duration and easing function.
    - Define up to 5 scaling transitions (to change the size) and specify for each XYZ size, duration and easing function.
    - Define particle behavior upon collision with path/ground with some boolean values: Remove Particle (checked by default), Leave mark Y/N (useful for rain and snow effects for example; might change this to allow to specify collision with specific objects/characters or add other behaviors.

    That's it for now, more particles coming soon! :D
    Comments and suggestions are always appreciated!
     
    Last edited: Oct 17, 2020
    5petersonzachary and Roberto P like this.
  5. 5petersonzachary

    5petersonzachary Serious Boxer

    Joined:
    Jan 23, 2016
    Messages:
    541
    Likes Received:
    159
    This is going to be awesome! Are you planning on releasing this for people to purchase?
     
    Ivan Perfetti likes this.
  6. Ivan Perfetti

    Ivan Perfetti Boxer

    Joined:
    Sep 9, 2018
    Messages:
    93
    Likes Received:
    98
    Hey, thanks for the support! :D
    I'm planning to put the Particle System for sale on indym.itch.io once it's ready.
    I'm going to make some tests on an iPhone 7 right today; I'll publish the results immediately after.
     
    5petersonzachary likes this.
  7. Ivan Perfetti

    Ivan Perfetti Boxer

    Joined:
    Sep 9, 2018
    Messages:
    93
    Likes Received:
    98
    So, I've tested it quite alot on an iPhone 7 and it runs pretty smooth but for some minor hiccups, here's a clip recorded straight from the phone, sorry for the low quality, recording quality wasn't great.

    You'll see some new effects as well:
    - 4 explosions.
    - a fountain (sort of).
    - a nuke.
    - the nuke's smoking mushroom cloud.


    There are some minor hiccups; I've recorded it twice in a row to show that some of the hiccups seems unrelated to the particles; in pass 1 when the rain particles start falling down the framerate drops down while that doesn't happen in pass 2.
    For sure the screen recorder app didn't help, it runs a little smoother without it.
    Anyway average FPS is always between 58~59 fps so that looks promising!
    Here's the clip!
     
    Last edited: Oct 19, 2020 at 5:35 PM
    Roberto P and 5petersonzachary like this.
  8. 5petersonzachary

    5petersonzachary Serious Boxer

    Joined:
    Jan 23, 2016
    Messages:
    541
    Likes Received:
    159
    Wow that runs really really smooth! Would we be able to use 3d objects so as cubes or spheres as particles or is it just 2d sprites?
     
  9. Ivan Perfetti

    Ivan Perfetti Boxer

    Joined:
    Sep 9, 2018
    Messages:
    93
    Likes Received:
    98
    Yes, you'll be able to use any 3D model, in the demo the "Fire #2" and "Nuke" effects use spheres, all of the other effects only use a textured plane model.
     
  10. Ivan Perfetti

    Ivan Perfetti Boxer

    Joined:
    Sep 9, 2018
    Messages:
    93
    Likes Received:
    98
    Hi all! Here's an update with some new features, new effects and improved ones, more details coming soon, meanwhile here's a video:
     

Share This Page