Visualizer
Base Settings
Input Texture
Render Texture or Shape Texture containing the particle input data.
If this visualizer is used for simulated particles, DO NOT remove this texture or edit the settings, unless you know what you are doing, without it the particles might not move or show up at all.
EXCEPTION: if you want to change the amount of particles, follow this guide: Change Particle Amount.
If you want to use static particles (no movement or interaction) you can also directly use a Shape Texture here, just make sure the Resolution of the Texture matches the mesh you are using for optimal results.
Simulator Count
Integer
containing the number of simulators, typically set to 2
for all current setups.
This value will be used to skip the first n
pixels in the input texture as their data is used for the simulators, otherwise you would see static particles at the position of the simulators.
Simulation Speed
Float
controlling the Speed of the simulation, typically set to 1.0
for normal speed.
Ideally you should have the same value here as in the Simulators, so that all time based visual effects are in sync with the actual simulation speed.
Technically negative values will also work, but might have unexpected results.
Simulation Scale
Float
controlling the Scale of the simulation, typically set to 1.0
for normal scale.
Ideally you should have the same value here as in the Simulators, so that all distance based visual effects are in sync with the actual simulation scale.
This could be used to scale the particles with your avatar if you want the effects to look the same relative to your avatar's size.
Technically negative values will also work, but might have unexpected results.
Random Seed
Float
controlling the Seed for the random number generator. This value is used to generate random numbers for the visual effects, changing this value will change their outcome.
Render Settings
The Render Settings control how the particles are rendered and how they interact with the scene. Depending on the kind of look you want to achieve, here are some possible settings:
Render Type | Blend Op | SrcBlend | DstBlend | Depth Write |
---|---|---|---|---|
Glowing (Default) | Add | SrcAlpha | One | Off |
Transparent | Add | SrcAlpha | OneMinusSrcAlpha | Off |
Opaque | Add | One | Zero | On |
BlendOp
Dropdown
controlling the Blend Operation used for the particles.
Possible values are: Add
, Subtract
, ReverseSubtract
, Min
, Max
.
For more information on what these values do, check the Unity Documentation on Blend Operations.
SrcBlend
Dropdown
controlling the Source Blend Factor used for the particles.
Possible values are: Zero
, One
, DstColor
, SrcColor
, OneMinusDstColor
, SrcAlpha
, OneMinusSrcColor
, DstAlpha
, OneMinusDstAlpha
, SrcAlphaSaturate
, OneMinusSrcAlpha
.
For more information on what these values do, check the Unity Documentation on Blending.
DstBlend
Dropdown
controlling the Destination Blend Factor used for the particles.
Possible values are: Zero
, One
, DstColor
, SrcColor
, OneMinusDstColor
, SrcAlpha
, OneMinusSrcColor
, DstAlpha
, OneMinusDstAlpha
, SrcAlphaSaturate
, OneMinusSrcAlpha
.
For more information on what these values do, check the Unity Documentation on Blending.
Depth Test
Dropdown
controlling the Depth Test used for the particles.
Possible values are: Disabled
, Never
, Less
, Equal
, LessEqual
, Greater
, NotEqual
, GreaterEqual
, Always
.
For more information on what these values do, check the Unity Documentation on Depth Testing.
Depth Write
Toggle
controlling if the particles should write to the Depth Buffer.
This is usually off for transparent particles, but if you want to have them opaque you can turn this on.
For more information on what this does, check the Unity Documentation on Depth Writing.
Render After Lifetime
Toggle
controlling if the particles should be rendered after their lifetime has ended.
If you have a setup where particles are never re-spawned, you should turn this on to make sure they are still visible after their lifetime has ended.
Render Queue
Dropdown
or Integer
controlling the Render Queue of the particles.
This value is used to determine the order in which the particles are rendered relative to other Meshes.
For more information on what this does, check the Unity Documentation on Render Queues.
Shape & Size Settings
Particle Shape
- Point
- Line
- Triangle / Square / Circle
Particles are rendered as single pixel no matter the distance. This is the most performance friendly mode, but has no other settings.
Particles are rendered as a line with a width of one pixel.
Line Length Limit
Float
value in the Range [0.0, 100.0]
controlling the maximum length of the line.
Draw Partial Lines
Checkbox
controlling if the line should still be partially drawn if it is longer than the limit.
If this is off, the line will not be drawn at all if it is longer than the limit.
Invert Direction
Checkbox
controlling if the line should be drawn in the opposite direction.
Line Type
- Absolute
- Relative
- Direction
- Particle
All particle lines will be connected to the same given point.
Line End Pos
Vector3
value controlling the end position of the line.
Space
Toggle
between World
and Local
space for the end position.
All particle lines will be connected to a point relative to each particles position.
Line End Pos
Vector3
value controlling the end position of the line relative to the particles position.
Space
Toggle
between World
and Local
space for the end position.
Particles will have a line in the direction they are moving.
Line Length
Float
value controlling the length of the line.
This will be used as a multiplier for the velocity of the particle or the exact length if normalization is on.
Normalize
Checkbox
controlling if the velocity of the line should be normalized, this means the speed of the particle will not affect the length of the line.
Particles will have a line to another particle.
Offset Mode
- Static
- Dynamic
- Texture
- Random
The Index of the particle to connect to will be offset by a static value.
Offset
Float
value controlling the offset of the particle index.
The Index of the particle to connect to will change over time.
Offset Change Speed
Float
value controlling how much the index should increase per second.
The Index of the particle to connect to will be read from an Offset Texture
.
Offset Texture
Offset Texture
containing the offset data for each individual particle.
The Index of the particle to connect to will randomly change over time.
Offset Change Speed
Float
value controlling how much the index should change per second.
Particles are rendered as a 2D shape (Triangle / Square / Circle) with a width and height. All 2D shapes have the same settings.
2D Size Values
Checkbox
controlling if the width and height can be set individually.
Using this will turn all size values into 2D values.
If this is off, the width and height will always be the same.
- Constant
- Flicker
- Flicker Curve
- Lifetime
- Lifetime Curve
- Velocity
- Velocity Curve
All particles will always have the same size.
Particle Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the size of the particles.
Particles will flicker between two sizes over time.
Min Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the minimum size of the particles.
Max Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the maximum size of the particles.
Flicker Length
Float
value in the Range [0.001, 1000.0]
controlling the time it takes to go through a full cycle from min to max and back.
Synchronize
Checkbox
controlling if the flicker should be synchronized for all particles or if they should flicker independently.
Particles will flicker between two sizes over time, with the size being controlled by a curve texture.
Size over Time
Curve Texture
(RFloat or RGFloat)
controlling the size of the particles over time.
The values from 0.0
to 1.0
will be mapped to the min and max size specified below.
Min Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the minimum size of the particles.
Max Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the maximum size of the particles.
Flicker Length
Float
value in the Range [0.001, 1000.0]
controlling the time it takes to go through a full cycle through the curve texture.
Synchronize
Checkbox
controlling if the flicker should be synchronized for all particles or if they should flicker independently.
Particles will change size over their lifetime.
Life Start Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the size of the particles at the start of their lifetime.
Life End Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the size of the particles at the end of their lifetime.
Clamp Lifetime
Checkbox
controlling if the lifetime should be clamped to always be in the range [0.0, 1.0]
.
Particles will change size over their lifetime, with the size being controlled by a curve texture.
Size over Lifetime
Curve Texture
(RFloat or RGFloat)
controlling the size of the particles over their lifetime.
The values from 0.0
to 1.0
will be mapped to the min and max size specified below.
Min Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the minimum size of the particles.
Max Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the maximum size of the particles.
Clamp Lifetime
Checkbox
controlling if the lifetime should be clamped to always be in the range [0.0, 1.0]
.
Particles will change size based on their velocity.
Low Speed Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the size of the particles at zero speed.
High Speed Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the size of the particles at the maximum speed specified below.
Max Speed
Float
value in the Range [0.001, 1000.0]
used as the maximum speed for the velocity based size calculation.
This value does not affect the actual speed of the particles or has to be the same as the speed limit in the simulators, it is only used as a reference for the size calculation.
Clamp Speed
Checkbox
controlling if the speed should be clamped to always be in the range [0.0, MaxSpeed]
.
Particles will change size based on their velocity, with the size being controlled by a curve texture.
Size from Speed
Curve Texture
(RFloat or RGFloat)
controlling the size of the particles based on their speed.
Min Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the minimum size of the particles.
Max Size
Float
value in the Range [0.0, 1.0]
or Vector2
controlling the maximum size of the particles.
Max Speed
Float
value in the Range [0.001, 1000.0]
used as the maximum speed for the velocity based size calculation.
This value does not affect the actual speed of the particles or has to be the same as the speed limit in the simulators, it is only used as a reference for the size calculation.
Clamp Speed
Checkbox
controlling if the speed should be clamped to always be in the range [0.0, MaxSpeed]
.
Screen Space Size
Checkbox
controlling if the size of the particles should be in screen space.
If this is on, the size of the particles will be the same no matter the distance to the camera.
This can be useful to keep performance consistent, but might look weird if the particles are very close or very far away.
Color Settings
- Static
- Pulse
- Gradient
- Direction
- Velocity
- Lifetime
- Texture
The particles will pulse between two colors.
Color 1
Color
value controlling the first color of the particles.
Color 2
Color
value controlling the second color of the particles.
Pulse Length
Float
value in the Range [0.001, 1000.0]
controlling the time it takes to go through a full cycle from color 1 to color 2 and back.
Synchronize
Checkbox
controlling if the pulse should be synchronized for all particles or if they should pulse independently.
The particles will change color based on a gradient texture.
Color over Time
Gradient Texture
(RGBA)
controlling the color of the particles over time.
Cycle Length
Float
value in the Range [0.001, 1000.0]
controlling the time it takes to go through a full cycle of the gradient texture.
Synchronize
Checkbox
controlling if the gradient should be synchronized for all particles or if they should change independently.
The particles will change color based on the direction they are moving towards. The color will be interpolated between the base color and a mix of the X, Y and Z axis colors based on the direction.
Base Color
Color
value controlling the base color of the particles.
This is the color the particles will have when they are not moving.
X Axis
Color
value controlling the color of the particles when they are moving on the X axis.
Y Axis
Color
value controlling the color of the particles when they are moving on the Y axis.
Z Axis
Color
value controlling the color of the particles when they are moving on the Z axis.
Normalize Direction
Checkbox
controlling if the direction should be normalized before calculating the color.
If this is off, the color will be stronger the faster the particles are moving.
If this is on, the color will always be a mixture of the axis colors unless the particles are not moving at all.
Max Speed
Float
value in the Range [0.001, 1000.0]
used as the maximum speed for the direction based color calculation.
This value does not affect the actual speed of the particles or has to be the same as the speed limit in the simulators, it is only used as a reference for the color calculation.
This value is only relevant if Normalize Direction
is off.
Clamp Speed
Checkbox
controlling if the speed should be clamped to always be in the range [0.0, MaxSpeed]
.
This value is only relevant if Normalize Direction
is off.
The particles will change color based on their velocity aka Speed.
Color from Speed
Gradient Texture
(RGBA)
controlling the color of the particles based on their speed.
Max Speed
Float
value in the Range [0.001, 1000.0]
used as the maximum speed for the direction based color calculation.
This value does not affect the actual speed of the particles or has to be the same as the speed limit in the simulators, it is only used as a reference for the color calculation.
Clamp Speed
Checkbox
controlling if the speed should be clamped to always be in the range [0.0, MaxSpeed]
.
The particles will change color over their lifetime.
Color over Lifetime
Gradient Texture
(RGBA)
controlling the color of the particles over their lifetime.
Clamp Lifetime
Checkbox
controlling if the lifetime should be clamped to always be in the range [0.0, 1.0]
.
Each particle will sample a color from the texture based on its id.
Colors
Texture
(RGBA)
controlling the color of the particles.
Color
value multiplied with the color from the texture.
Alpha Falloff
Dropdown
controlling the Alpha Falloff of the particles.
Possible values are: None
, SquareRoot
, HalfSine
, Linear
, Sine
, Squared
, Gradient
.
When using Gradient
you can also specify a Gradient Texture
to control the falloff in the following settings.
Some Graphs showing the different falloffs can be found here
Falloff Gradient
Gradient Texture
(Alpha)
controlling the Alpha Falloff of the particles.
Left to right will be mapped to center to edge of the particle.
Texture Settings
If this section is turned on, the particles will show a texture which will be multiplied with the color of the particles.
Texture
Texture
controlling the texture of the particles.
By adjusting the Tiling of the texture you can create a sprite sheet where each particle will show a different part of the texture.
Alpha Cutoff
Float
value in the Range [0.0, 1.0]
controlling the Alpha Cutoff of the texture.
If the alpha value of a pixel minus the cutoff is below zero, the pixel will be discarded.
This is especially useful for Opaque Particles with a transparent texture.
Animate
Dropdown
controlling if and how the texture should be animated.
The texture will not be animated and each particle will always show the same part of the texture.
The particles will cycle through the texture over time and each particle will be on their own cycle.
Animation Length
Float
value in the Range [0.001, 1000.0]
controlling the time it takes to go through a full cycle of the texture.
The particles will cycle through the texture over time and all particles will be on the same cycle.
Animation Length
Float
value in the Range [0.001, 1000.0]
controlling the time it takes to go through a full cycle of the texture.
The particles will cycle through the texture over their lifetime.
Clamp Lifetime
Checkbox
controlling if the lifetime should be clamped to always be in the range [0.0, 1.0]
.
Rotation Settings
By default, the particles will always face the camera, but you can also make them rotate in different ways or even have them rotate over time.
A full rotation of 360 degrees is equal to 1.0
in the settings below.
Rotation Space
- World
- Local
- Screen
- Direction
The particle rotation will be in world space.
The particle rotation will be in local space, relative to the Particles GameObject.
The particle rotation will be in screen space, where all rotations are relative to the camera.
The particle rotation will be relative to the direction they are moving towards, with the Y axis being the direction they are moving in.
Base Rotation Mode
- Single Value
- Range
All particles will have the same rotation.
Base Rotation
Vector3
value controlling the X, Y and Z rotation of the particles.
All particles will have a random rotation within a range.
Min Base Rotation
Vector3
value controlling the minimum X, Y and Z rotation of the particles.
Max Base Rotation
Vector3
value controlling the maximum X, Y and Z rotation of the particles.
Separate Axes
Checkbox
controlling if the X, Y and Z rotation should be separately randomized.
This means the particles could for example have the minimum X rotation and the maximum Y rotation.
Animate Rotation
- No Animation
- Over Time
- Over Time with Range
- Oscillate Range
- Loop Curve
- Lifetime Range
- Lifetime Curve
The particles will not rotate over time.
The particles will rotate over time with a constant speed.
Rotation Speed
Vector3
value controlling the X, Y and Z rotation speed per second.
The particles will rotate over time with a random speed within a range.
Min Rotation Speed
Vector3
value controlling the minimum X, Y and Z rotation speed per second.
Max Rotation Speed
Vector3
value controlling the maximum X, Y and Z rotation speed per second.
Separate Axes
Checkbox
controlling if the X, Y and Z rotation speed should be separately randomized.
This means the particles could for example have the minimum X rotation speed and the maximum Y rotation speed.
The particles will oscillate between two rotations over time.
Min Rotation Diff
Vector3
value controlling the minimum X, Y and Z rotation difference from the base rotation.
Max Rotation Diff
Vector3
value controlling the maximum X, Y and Z rotation difference from the base rotation.
Oscillation Length
Float
value in the Range [0.001, 1000.0]
controlling the time it takes to go through a full cycle from the min rotation diff to the max rotation diff and back.
Synchronize
Checkbox
controlling if the oscillation should be synchronized for all particles or if they should oscillate independently.
The particles will rotate based on a looped curve over time.
Rotation
Curve Texture
(RGBAFloat)
controlling the rotation of the particles over time.
Loop Length
Float
value in the Range [0.001, 1000.0]
controlling the time it takes to go through a full cycle of the curve.
Synchronize
Checkbox
controlling if the curve should be synchronized for all particles or if they should rotate independently.
The particles will rotate based on their lifetime with a specified start and end rotation difference.
Start Rotation Diff
Vector3
value controlling the X, Y and Z rotation difference from the base rotation at the start of the particles lifetime.
End Rotation Diff
Vector3
value controlling the X, Y and Z rotation difference from the base rotation at the end of the particles lifetime.
Clamp Lifetime
Checkbox
controlling if the lifetime should be clamped to always be in the range [0.0, 1.0]
.
The particles will rotate based on their lifetime with a curve texture controlling the rotation.
Rotation
Curve Texture
(RGBAFloat)
controlling the rotation of the particles over their lifetime.
Clamp Lifetime
Checkbox
controlling if the lifetime should be clamped to always be in the range [0.0, 1.0]
.