Particle Playground - Script Reference
3.0.1
Framework for controlling particles in the Unity Engine.
|
Classes | |
class | AnimationCurveExtensions |
Animation curve extensions. | |
class | CollisionCache |
The collision cache contains information of all particle collisions. More... | |
class | ManipulatorObjectC |
Holds information about a Manipulator Object. A Manipulator can both be Global and Local and will affect all particles within range. More... | |
class | ManipulatorParticle |
The Manipulator Particle class is a container for tracking particles in their particle system. When reaching a particle on a Manipulator the particle will convert to a PlaygroundEventParticle. More... | |
class | ManipulatorPropertyC |
Holds information for a Manipulator Object's different property abilities. More... | |
class | MathManipulatorProperty |
Holds information for a Math Manipulator. This can be used to apply extensive particle behaviors, such as positioning or changing sizes using sine, cosine or linear interpolation math. More... | |
class | MeshParticles |
class | PaintObjectC |
Holds information about a Paint source. More... | |
class | PaintPositionC |
Constructor for a painted position. More... | |
class | ParticlePlaygroundTrail |
class | ParticleProjectionC |
Holds information for Source Projection. More... | |
class | ParticleStateC |
Holds information about a State source. More... | |
struct | PlaybackParticle |
A Playback Particle is a struct for keeping information about one single particle in a Playground Recorder's recorded data. More... | |
class | PlaygroundAxisConstraintsC |
Hold information for axis constraints in X-, Y- and Z-values. These contraints are used to annihilate forces on set axis. More... | |
class | PlaygroundBrushC |
Holds information about a brush used for source painting. More... | |
class | PlaygroundC |
The PlaygroundC class is the Playground Manager which runs all Particle Playground systems and is containing all Global Manipulators. The Playground Manager acts as a wrapper class for common operations and contain functions for creating and altering particle systems. You will also find the global event delegates (particleEventBirth, particleEventDeath, particleEventCollision and particleEventTime) for any particle systems broadcasting events with "Send To Manager" enabled. More... | |
class | PlaygroundCache |
The Playground Cache contains all data for particles in built-in arrays. More... | |
class | PlaygroundColliderC |
Holds information for a Playground Collider (infinite collision plane). More... | |
class | PlaygroundCompression |
class | PlaygroundEventC |
Holds information for a Playground Event. More... | |
class | PlaygroundEventParticle |
Holds information for a PlaygroundEventParticle. The Playground Event Particle contains detailed data upon an event and is sent towards any event listeners. More... | |
class | PlaygroundFollow |
class | PlaygroundFollower |
Playground follower class. More... | |
class | PlaygroundGradientC |
Contains information for a color gradient. More... | |
class | PlaygroundMultiRecorder |
The Particle Playground Multi Recorder enables playback and scrubbing of multiple recorded synchronized particle systems. More... | |
class | PlaygroundParticlesC |
The PlaygroundParticlesC class is a Particle Playground system driven by the Playground Manager (PlaygroundC). A Particle Playground system contains settings and data for altering a Shuriken component. More... | |
class | PlaygroundQueue< T > |
The Playground Queue class is a self-managed thread pool which consumes actions sent into EnqueueTask(Action). More... | |
class | PlaygroundRecorder |
The Particle Playground Recorder enables playback and scrubbing of recorded particles. The method used is storing built-in particle arrays as keyframes, then interpolate between current keyframe and next upon playback. More... | |
class | PlaygroundSave |
Holds information for a particle system Snapshot. More... | |
class | PlaygroundTrails |
class | PlaygroundTransformC |
Wrapper class for the Transform component. This is updated outside- and read inside the multithreaded environment. More... | |
class | RecordedFrame |
The RecordedFrame class contain information of a single frame of recorded particles for the Playground Recorder's recorded data. More... | |
class | SerializedFrame |
A serialized frame holds information about one recorded frame of particles. More... | |
class | SerializedParticle |
A serialized particle holds information for one single serializable particle inside a recorded frame for the Playground Recorder's recorded data. More... | |
class | SimplexNoise |
The Simplex Noise algorithm applied in Turbulence. More... | |
class | SkinnedWorldObject |
Holds information about a Skinned world object. Consider to NOT use Optimize Game Objects at the skinned mesh's Import Settings for best performance of extracting its vertices. More... | |
struct | TrailParticleInfo |
The trail particle info struct contains data about particles to be read by a Playground Trail. More... | |
class | TrailPoint |
class | Vector3AnimationCurveC |
Holds AnimationCurves in X, Y and Z variables. More... | |
class | WorldObject |
Holds information about a World object. More... | |
class | WorldObjectBaseC |
Extended class for World Objects and Skinned World Objects. More... | |
Enumerations | |
enum | MANIPULATORTYPEC { MANIPULATORTYPEC.None, MANIPULATORTYPEC.Attractor, MANIPULATORTYPEC.AttractorGravitational, MANIPULATORTYPEC.Repellent, MANIPULATORTYPEC.Property, MANIPULATORTYPEC.Combined, MANIPULATORTYPEC.Vortex } |
The type of Manipulator. More... | |
enum | MANIPULATORPROPERTYTYPEC { MANIPULATORPROPERTYTYPEC.None, MANIPULATORPROPERTYTYPEC.Color, MANIPULATORPROPERTYTYPEC.Velocity, MANIPULATORPROPERTYTYPEC.AdditiveVelocity, MANIPULATORPROPERTYTYPEC.Size, MANIPULATORPROPERTYTYPEC.Target, MANIPULATORPROPERTYTYPEC.Death, MANIPULATORPROPERTYTYPEC.Attractor, MANIPULATORPROPERTYTYPEC.Gravitational, MANIPULATORPROPERTYTYPEC.Repellent, MANIPULATORPROPERTYTYPEC.LifetimeColor, MANIPULATORPROPERTYTYPEC.Vortex, MANIPULATORPROPERTYTYPEC.MeshTarget, MANIPULATORPROPERTYTYPEC.SkinnedMeshTarget, MANIPULATORPROPERTYTYPEC.Turbulence, MANIPULATORPROPERTYTYPEC.StateTarget, MANIPULATORPROPERTYTYPEC.SplineTarget, MANIPULATORPROPERTYTYPEC.Math } |
The type of Manipulator Property. More... | |
enum | MATHMANIPULATORTYPE { MATHMANIPULATORTYPE.Sin, MATHMANIPULATORTYPE.Cos, MATHMANIPULATORTYPE.Lerp, MATHMANIPULATORTYPE.Add, MATHMANIPULATORTYPE.Subtract } |
The math operation to apply within a MathManipulatorProperty class. More... | |
enum | MATHMANIPULATORPROPERTY { MATHMANIPULATORPROPERTY.Size, MATHMANIPULATORPROPERTY.Rotation, MATHMANIPULATORPROPERTY.Velocity, MATHMANIPULATORPROPERTY.Position } |
The particle property to change within a MathManipulatorProperty class. More... | |
enum | MATHMANIPULATORCLAMP { MATHMANIPULATORCLAMP.None, MATHMANIPULATORCLAMP.ClampInValue, MATHMANIPULATORCLAMP.ClampOutValue } |
The clamping (minimum to maximum) value to apply within a MathManipulatorProperty class. More... | |
enum | MANIPULATORPROPERTYTRANSITIONC { MANIPULATORPROPERTYTRANSITIONC.None, MANIPULATORPROPERTYTRANSITIONC.Lerp, MANIPULATORPROPERTYTRANSITIONC.Linear } |
The type of Manipulator Property Transition. More... | |
enum | MANIPULATORSHAPEC { MANIPULATORSHAPEC.Sphere, MANIPULATORSHAPEC.Box, MANIPULATORSHAPEC.Infinite } |
The shape of a Manipulator. More... | |
enum | PLAYGROUNDORIGINC { TopLeft, TopCenter, TopRight, MiddleLeft, MiddleCenter, MiddleRight, BottomLeft, BottomCenter, BottomRight } |
enum | PIXELMODEC { PIXELMODEC.Bilinear, PIXELMODEC.Pixel32 } |
The mode to read pixels in. More... | |
enum | COLORSOURCEC { COLORSOURCEC.Source, COLORSOURCEC.LifetimeColor, COLORSOURCEC.LifetimeColors } |
The mode to set particles color source from. More... | |
enum | COLORMETHOD { Lifetime, ParticleArray } |
enum | OVERFLOWMODEC { OVERFLOWMODEC.SourceTransform, OVERFLOWMODEC.World, OVERFLOWMODEC.SourcePoint } |
The mode to overflow particles with when using Overflow Offset. More... | |
enum | TRANSITIONTYPEC { TRANSITIONTYPEC.Linear, TRANSITIONTYPEC.EaseIn, TRANSITIONTYPEC.EaseOut } |
The type of transition used for Snapshots. More... | |
enum | INDIVIDUALTRANSITIONTYPEC { INDIVIDUALTRANSITIONTYPEC.Inherit, INDIVIDUALTRANSITIONTYPEC.Linear, INDIVIDUALTRANSITIONTYPEC.EaseIn, INDIVIDUALTRANSITIONTYPEC.EaseOut } |
The individual type of transition used for Snapshots. More... | |
enum | LERPTYPEC { PositionColor, Position, Color } |
The linear interpolition type used for Snapshots. More... | |
enum | SOURCEC { SOURCEC.State, SOURCEC.Transform, SOURCEC.WorldObject, SOURCEC.SkinnedWorldObject, SOURCEC.Script, SOURCEC.Paint, SOURCEC.Projection, SOURCEC.Spline } |
The Source which particle birth positions will distribute from. More... | |
enum | SOURCEBIRTHMETHOD { BirthPositions, ParticlePositions } |
enum | ScaleMethod { ScaleMethod.Local, ScaleMethod.Lossy } |
The scale method. This is mainly used for Playground Transforms and determines if local- or lossy scale should be used when setting a transform matrix. More... | |
enum | SORTINGC { SORTINGC.Scrambled, SORTINGC.ScrambledLinear, SORTINGC.Burst, SORTINGC.Linear, SORTINGC.Reversed, SORTINGC.NearestNeighbor, SORTINGC.NearestNeighborReversed, SORTINGC.Custom } |
The lifetime sorting method. More... | |
enum | BRUSHDETAILC { BRUSHDETAILC.Perfect, BRUSHDETAILC.High, BRUSHDETAILC.Medium, BRUSHDETAILC.Low } |
The brush detail level. More... | |
enum | COLLISIONTYPEC { COLLISIONTYPEC.Physics3D, COLLISIONTYPEC.Physics2D } |
The collision method. More... | |
enum | VELOCITYBENDINGTYPEC { VELOCITYBENDINGTYPEC.SourcePosition, VELOCITYBENDINGTYPEC.ParticleDeltaPosition } |
The type of velocity bending. More... | |
enum | TARGETSORTINGC { Scrambled, Linear, Reversed } |
The method to sort targets. More... | |
enum | MASKSORTINGC { Linear, Reversed, Scrambled } |
The method to sort particle masking. More... | |
enum | NEARESTNEIGHBORORIGINMETHOD { NEARESTNEIGHBORORIGINMETHOD.SourcePoint, NEARESTNEIGHBORORIGINMETHOD.Vector3, NEARESTNEIGHBORORIGINMETHOD.Transform } |
The method to set the Lifetime Sorting: Nearest Neighbor/Reversed with. More... | |
enum | SPLINETARGETMETHOD { SPLINETARGETMETHOD.SplineTime, SPLINETARGETMETHOD.ParticleTime } |
The method to target a spline. More... | |
enum | MINMAXVECTOR3METHOD { Rectangular, RectangularLinear, Spherical, SphericalLinear } |
The shape of a minimum to maximum Vector3. More... | |
enum | EVENTTYPEC { Birth, Death, Collision, Time } |
The type of event. More... | |
enum | EVENTBROADCASTC { Target, EventListeners, Both } |
The type of event broadcast. More... | |
enum | EVENTINHERITANCEC { User, Particle, Source } |
The inheritance method for events. More... | |
enum | TURBULENCETYPE { TURBULENCETYPE.None, TURBULENCETYPE.Simplex, TURBULENCETYPE.Perlin } |
The type of turbulence algorithm to use. More... | |
enum | VALUEMETHOD { Constant, RandomBetweenTwoValues } |
The value method used for lifetime. More... | |
enum | ONDONE { ONDONE.Inactivate, ONDONE.Destroy } |
The method to call when a particle system has finished simulating. More... | |
enum | ThreadPoolMethod { ThreadPoolMethod.ThreadPool, ThreadPoolMethod.PlaygroundPool } |
The thread pool method determines which thread pooling should be used. ThreadPoolMethod.ThreadPool will use the .NET managed ThreadPool class (standard in Particle Playground in versions prior to 3). ThreadPoolMethod.PlaygroundPool will use the self-managed PlaygroundQueue which queues tasks on reused threads (standard in Particle Playground 3 and up). More... | |
enum | ThreadMethod { ThreadMethod.NoThreads, ThreadMethod.OnePerSystem, ThreadMethod.OneForAll, ThreadMethod.Automatic } |
Multithreading method. This determines how particle systems calculate over the CPU. Keep in mind each thread will generate memory garbage which will be collected at some point. Selecting ThreadMethod.NoThreads will make particle systems calculate on the main-thread. ThreadMethod.OnePerSystem will create one thread per particle system each frame. ThreadMethod.OneForAll will bundle all calculations into one single thread. ThreadMethod.Automatic will distribute all particle systems evenly bundled along available CPUs/cores. More... | |
enum | ThreadMethodLocal { ThreadMethodLocal.Inherit, ThreadMethodLocal.NoThreads, ThreadMethodLocal.OnePerSystem, ThreadMethodLocal.OneForAll } |
The multithreading method for a single particle system. Use this to bypass the selected PlaygroundC.threadMethod. ThreadMethodLocal.Inherit will let the particle system calculate as set by PlaygroundC.threadMethod. This is the default value. ThreadMethodLocal.NoThreads will make the particle system calculate on the main-thread. ThreadMethodLocal.OnePerSystem will create a new thread for this particle system. ThreadMethodLocal.OneForAll will create a bundled thread for all particle systems using this setting. More... | |
enum | ThreadMethodComponent { ThreadMethodComponent.InsideParticleCalculation, ThreadMethodComponent.OnePerSystem, ThreadMethodComponent.OneForAll } |
The multithreading method for a particle system component such as tubulence and skinned meshes. This determines how the components will calculate over the CPU. More... | |
enum | TrackingMethod { TrackingMethod.ManipulatorId, TrackingMethod.ParticleId } |
Tracking method determines how particles are compared within a Manipulator. This is used when tracking particles to determine if a particle exists within a Manipulator. Using Manipulator id is the fastest but may not work on overlapping Manipulators. Use this method if you have plenty of particles. Particle id will always return the correct compare, but requires a particle-to-particle lookup. Use this method if you have few particles with several Manipulators overlapping. More... | |
enum | FrameType { FrameType.Start, FrameType.Middle, FrameType.End } |
A frame type describes where in the total recording the recorded frame was made. More... | |
enum | TrailRenderMode { TrailRenderMode.Billboard, TrailRenderMode.Horizontal, TrailRenderMode.Vertical, TrailRenderMode.CustomRenderScale } |
The trail render mode determines how the trail will be rotated. Using billboard will rotate towards the assigned transform position, this is by default the main camera. Horizontal will rotate the points flat on X-Z axis. Vertical will rotate the points flat on X-Y axis. CustomRenderScale is a global world space normal which will multiply the scale on each axis. More... | |
enum | TrailColorMode { TrailColorMode.Lifetime, TrailColorMode.PointArray } |
The trail color mode determines how color should be distributed over a trail. More... | |
enum | TrailUvMode { TrailUvMode.Lifetime, TrailUvMode.PointArray } |
The trail uv mode determines how uv will be distributed over a trail. More... | |
Functions | |
delegate void | OnPlaygroundParticle (PlaygroundEventParticle particle) |
Event delegate for sending a PlaygroundEventParticle to any event listeners. More... | |
delegate void | OnPlaygroundFollower (PlaygroundFollower follower) |
Event delegate for sending a PlaygroundFollower to any event listeners. More... | |
The brush detail level.
The type of event broadcast.
The inheritance method for events.
The type of event.
The individual type of transition used for Snapshots.
The linear interpolition type used for Snapshots.
The type of Manipulator Property Transition.
The type of Manipulator Property.
The shape of a Manipulator.
The type of Manipulator.
The method to sort particle masking.
The clamping (minimum to maximum) value to apply within a MathManipulatorProperty class.
The particle property to change within a MathManipulatorProperty class.
Enumerator | |
---|---|
Size |
Particle size. |
Rotation |
Particle rotation. |
Velocity |
Particle velocity. |
Position |
Particle position. |
The math operation to apply within a MathManipulatorProperty class.
Enumerator | |
---|---|
Sin |
Sine algorithm. |
Cos |
Cosine algorithm. |
Lerp |
Linear interpolation algorithm. |
Add |
Addition. |
Subtract |
Subtraction. |
The shape of a minimum to maximum Vector3.
The lifetime sorting method.
The Source which particle birth positions will distribute from.
Enumerator | |
---|---|
State |
Set birth positions from a mesh vertices or a texture's pixels. Use a Transform to be able to translate, rotate and scale your State. |
Transform |
Set birth positions from a single transform. |
WorldObject |
Set birth positions from a mesh vertices in the scene. |
SkinnedWorldObject |
Set birth positions from a skinned mesh vertices in the scene. |
Script |
Emission will be controlled by script using PlaygroundParticlesC.Emit(). |
Paint |
Set birth positions by painting onto colliders (2d/3d) in the scene. |
Projection |
Project birth positions onto colliders (2d/3d) in the scene by using a texture. Note that this Source distribution is not multithreaded due to the non thread-safe Raycast method. |
Spline |
Set birth positions from a Playground Spline. |
The method to sort targets.
Multithreading method. This determines how particle systems calculate over the CPU. Keep in mind each thread will generate memory garbage which will be collected at some point. Selecting ThreadMethod.NoThreads will make particle systems calculate on the main-thread. ThreadMethod.OnePerSystem will create one thread per particle system each frame. ThreadMethod.OneForAll will bundle all calculations into one single thread. ThreadMethod.Automatic will distribute all particle systems evenly bundled along available CPUs/cores.
The multithreading method for a particle system component such as tubulence and skinned meshes. This determines how the components will calculate over the CPU.
The multithreading method for a single particle system. Use this to bypass the selected PlaygroundC.threadMethod. ThreadMethodLocal.Inherit will let the particle system calculate as set by PlaygroundC.threadMethod. This is the default value. ThreadMethodLocal.NoThreads will make the particle system calculate on the main-thread. ThreadMethodLocal.OnePerSystem will create a new thread for this particle system. ThreadMethodLocal.OneForAll will create a bundled thread for all particle systems using this setting.
The thread pool method determines which thread pooling should be used. ThreadPoolMethod.ThreadPool will use the .NET managed ThreadPool class (standard in Particle Playground in versions prior to 3). ThreadPoolMethod.PlaygroundPool will use the self-managed PlaygroundQueue which queues tasks on reused threads (standard in Particle Playground 3 and up).
Tracking method determines how particles are compared within a Manipulator. This is used when tracking particles to determine if a particle exists within a Manipulator. Using Manipulator id is the fastest but may not work on overlapping Manipulators. Use this method if you have plenty of particles. Particle id will always return the correct compare, but requires a particle-to-particle lookup. Use this method if you have few particles with several Manipulators overlapping.
The trail color mode determines how color should be distributed over a trail.
The trail render mode determines how the trail will be rotated. Using billboard will rotate towards the assigned transform position, this is by default the main camera. Horizontal will rotate the points flat on X-Z axis. Vertical will rotate the points flat on X-Y axis. CustomRenderScale is a global world space normal which will multiply the scale on each axis.
Enumerator | |
---|---|
Billboard |
Rotate points towards assigned billboard transform. |
Horizontal |
Rotate points flat X-Z. |
Vertical |
Rotate points flat X-Y. |
CustomRenderScale |
Creates a custom render rotation/scale. |
The trail uv mode determines how uv will be distributed over a trail.
The value method used for lifetime.
delegate void ParticlePlayground.OnPlaygroundFollower | ( | PlaygroundFollower | follower | ) |
Event delegate for sending a PlaygroundFollower to any event listeners.
delegate void ParticlePlayground.OnPlaygroundParticle | ( | PlaygroundEventParticle | particle | ) |
Event delegate for sending a PlaygroundEventParticle to any event listeners.