Table of Contents

Magical Box

ConceptDocumentationTutorialFAQ

Magical Box (MB) is an expandable multi-purpose particle engine. We created Magical Box because we hardly missed some advanced features in Unity's built-in Particlesystem (that was before Shuriken came into play). So while developing Magical Box we focused on the following points:

  • Modularity: Allow coders to easily plug their own stuff into both the engine and it's editor.
  • Performance: Avoid unneccessary calculations, let multiple emitters share a single mesh etc…
  • Fun: Make designing Particle FX an interactive and visually appealing experience.
  • 2D: Support a broad range of 2D features like Circle, Rectangle and Imagemap emitters

Screenshots

Features

Unity Integration

  • Full-blown Editor GUI: Cut/Copy/Paste all objects and parameters
  • Gizmo-Support while editing
  • Particle Debugging
  • Automatic texture packing and material management
  • Hierarchy:
    • Full default hierarchy support, just make sure all Magical Box objects have a ParticleSystem somewhere up the tree
    • Use Anchors or your own game objects to group emitters.
    • Nested emitters and anchors

Performance

  • Modular design: only used Parameters will be calculated
  • Unlimited emitters per Particlesystem, particles will be batched by material, not by emitter
  • ParticleSystems using the same material can be dynamically batched
  • Several 2D/3D billboarding modes

Control

  • Control single emitters or a whole ParticleSystem at once
  • Arrange timing of Emitters using a visual timeline editor
  • Use Callback-based and/or SendMessage based event system, link events from within the editor
  • Pooling Manager included for easy fx cloning
  • playMaker actions available

Emitter Types (Shapes)

  • 2D: Circular/Arc/“Donut”, Rectangle, HollowRectangle, ImageMap
  • 3D: Spherical, Box, HollowBox
  • Vector: Line, Polygon
  • Mesh: Vertex, Edge, Surface
  • Spline (needs Curvy)

Emitter

  • Every child emitter can be used as a trail
  • Animate emission rate over emitter's lifetime
  • Distribute particles even over EmitterType's shape

Parameters

  • Fine control birth and lifetime values
  • Almost any value can be animated using curves
  • Built-in particle parameters:
    • Image animation (OneShot,Loop,Ping-Pong,Manual)
    • Lifetime (“Energy”)
    • Size (axis independent)
    • Velocity, Acceleration, Friction
    • Mass, Gravity
    • World Collider
    • ForceFields: Radial, Rectangle, Spherical
    • Color: Fixed, Timeline or based on keys or gradients. Auto-Fade In/Out.
    • Heading (i.e. direction velocity and acceleration is applied to)
    • Orientation (i.e. Angular velocity) with several modes (including AlignToVelocity, AlignToHeading)
    • Rotation (around emitter)
    • Transform Connector (instantiate & sync GameObjects with particles)
    • MoveAlongSpline, Spline/Tubular force field (needs Curvy)
    • Lightning
    • Math Operator

Expandability

  • Create new emitter types and parameters easily within minutes. Just inherit from the respective base class and add your custom logic (C# only)
  • Let your custom parameters add individual data fields to particles
  • Fully integrate your custom classes into the Magical Box editor by creating your custom editor handler and using the provided GUI helper functions.
Last modified: 2015/08/17 22:28 by Jake