Skip to content

Particle System

Photon builds an effect from a hierarchy of FX objects. Emitters simulate particles; renderer settings convert their state into draw calls; materials decide how those vertices become pixels; the Timeline can override the same runtime values over time.

Maximized Photon particle editor running the tornado effect
The real tornado project shows the object, material, live Scene, Resources, and Timeline working together.

FX Object Types

TypeUse
EmptyGroup children and provide an animatable transform.
Particle EmitterSpawn many independent tile/model particles and optional particle trails.
Trail EmitterBuild a continuous ribbon or tube from a moving emitter.
Beam EmitterRender a beam between endpoints or along a raycast.
AraTrail EmitterSimulate a physically moving trail with segment properties.
Force FieldApply directional, gravity, drag, and vortex influence through External Forces.
  1. Hierarchy and Transforms
  2. Curves, Gradients, and Value Functions
  3. Particle Emitter
  4. Emission and Shapes
  5. Simulation and Forces
  6. Lifetime and Speed Modules
  7. Rendering, Materials, and Meshes

Runtime Model

Authored settings remain config data. Each emitted object creates a runtime layer whose values fall back to that config. Timeline tracks and Java code write runtime slots without mutating the reusable FX definition. This is why one .fx can play many independent instances.

Debug one system at a time

Start with a plain texture material, constant values, and one module. Add curves, trails, custom shaders, and post effects only after emission and motion look correct.

Released under the MIT License.