Author Topic: [XP][VX][VXA] Particle Emissor  (Read 735 times)

Offline orochii

  • Transcended Spirit
  • ***
  • Posts: 148
  • LV: 15
  • Rhapsody of the Warrior of Ice
    • View Profile
[XP][VX][VXA] Particle Emissor
« on: August 14, 2018, 11:28:10 PM »
Particle Emissor
Authors: Orochii Zouveleki
Version: 0.5a
Type: Visual Object Class
Key Term: Misc Add-on

Introduction

Sometimes referred to as particle system, this is more like an utility for now but it's a class to be used in order to add particle effects to your game. It includes a lot of properties for your particles and I think it's pretty capable of doing some stuff. Might be kind of hard to use though, especially since I haven't made a proper easy integration with, say, maps and battles. But a capable scripter should be able to gie this thing a good use.

Features

  • Make a particle emitter
  • Customize particle emitter shape and emission properties (interval, particles per second, etc).
  • Support for both constant emission and particle bursts (bursts can also use additional images).
  • Properties for particles, such as size, speed, acceleration, rotation, color... Each of these can vary through the particle lifespan.

Screenshots



Demo

Particles.7z (~200Kb)
Particles.rb

Script

(click to show/hide)

Instructions

You can refer to the usage in the demo inside Scene_Title, as it showcases some of the features. But basically it works as an sprite, by changing parameters and other stuff. I did however sepparate the particle emissor properties from the emitter object, as preparation for an editor.

Most basic usage:
Code: [Select]
@yourvariable = ParticleEmissor.new(x, y, z)
#At update
@yourvariable.update
#At dispose
@yourvariable.dispose
Some extra stuff I did at the demo
Code: [Select]
p = ParticleEmissorProperties.new
# By default, all particles use a white autogenerated 8x8 square.
# This is how you assign custom bitmaps. Pass an array, and it will select one at random.
p.bitmaps = [RPG::Cache.picture("particle1")]
# Defining bursts.
p.bursts = [
      [100,32,RPG::Cache.picture("particle2")] #At the hundredth frame, spawns 32 particles using "particle2" as bitmap.
      ]
@particles = ParticleEmissor.new(320, 160, 600, p) #This is how you pass custom properties to an emitter object.

Compatibility

Afaik, none. It's an independent class.

Credits and Thanks

  • Unity, I tried ripping off as much as possible.

Author's Notes

License is Creative Commons 0. Free for use, commercial or non-commercial. You can use, share, modify it. Whatever. :^)
A lot of comments are in Spanish. Sorry! Had no time to change it. But other comments are in English just because. So there is some balance! (?)
« Last Edit: August 16, 2018, 01:47:01 AM by orochii »

Offline orochii

  • Transcended Spirit
  • ***
  • Posts: 148
  • LV: 15
  • Rhapsody of the Warrior of Ice
    • View Profile
Re: [XP][VX][VXA] Particle Emissor
« Reply #1 on: August 16, 2018, 01:50:15 AM »
Here is the roadmap for the script.
- Stop/pause effect support.
- Loop points. Both for entry and exit.
- Audio playback.
- Particle system editor.

There is some other tweaks to do that I've just considered, specifically for bitmap loading (in order to make it compatible with the editor idea, and for simplicity). But yeah.

Salut!