Palette:particlesGpu
Summary
particlesGpu is a compute shader based particle system.
Parameters - ParticlesGPU Page
Create Create
- ⊞ - Specify how particles are being created. You can either create a certain number of particles all at once or create a certain number of particles on a per frame basis.
- By Total Number of Particles
numParticles
- Specify the total number of particles that should be simulated in this system. All the particles are spawned at the exact same time.
- By Particles per Frame
perFrame
- Specify how many particles should be created per frame. The total number of particles will be a function between the number inBirth
multiplied by the specifiedLife
(in seconds) and theLifevariance
(also in seconds)
Particles Particles
- The total number of particles being simulated in the system. Only available when the Create
parameter is set to "By Total Number of Particles".
Birth Birth
- The number of particles spawned each frame. Only available when the Create
parameter is set to "By Particles per Frame".
Life Life
- The number of seconds a particle will be alive.
Lifevariance Lifevariance
- A delta number of seconds that will be added or subtracted from the expected lifetime, specified in the Life
parameter, of a particle.
Size Type Sizetype
- ⊞ - Select how the particle size is being determined. While the types "Constant" and "Random" are specified with below Particle Size Min
and Particle Size Max
parameters, the remaining options take particle attributes like "Age" or "Velocity" to lookup the size via a CHOP specified in the Size Lookup
parameter. When choosing any of the four "Effector" types, the index into the lookup will be fetched from the "Effector" input to the particle system.
- Constant
constant
- The size of the particle is being set via theParticle Size Min
parameter.
- Random
random
- The size of the particle is a random value between theParticle Size Min
andParticle Size Max
parameters.
- Age
age
- The size of the particle is determined by the CHOP referenced in theSize Lookup
parameter with the particle's age as a normalized index into the CHOP.
- Velocity
velocity
- The size of the particle is determined by the CHOP referenced in theSize Lookup
parameter with the particle's velocity as a normalized index into the CHOP. Use theVelocity Remap
parameter to scale velocity to a unit value.
- Effector R
er
- The size of the particle is determined by the CHOP referenced in theSize Lookup
parameter with the value of the "effector" input texture's red channel at the particles index position as a normalized index into the CHOP.
- Effector G
eg
- The size of the particle is determined by the CHOP referenced in theSize Lookup
parameter with the value of the "effector" input texture's green channel at the particles index position as a normalized index into the CHOP.
- Effector B
eb
- The size of the particle is determined by the CHOP referenced in theSize Lookup
parameter with the value of the "effector" input texture's blue channel at the particles index position as a normalized index into the CHOP.
- Effector A
ea
- The size of the particle is determined by the CHOP referenced in theSize Lookup
parameter with the value of the "effector" input texture's alpha channel at the particles index position as a normalized index into the CHOP.
Particle Size Min Particlesizemin
- Specify the Size of the particle. Only available when the Size Type
parameter is set to "Constant" or "Random".
Particle Size Max Particlesizemax
- Specify the maximum size of the particle. Only available when the Size Type
parameter is set to "Random".
Size Lookup (CHOP) Sizelookup
- A reference to a CHOP containing a single channel called "size" which is used as a lookup when the Size Type
parameter is set to "Age", "Velocity" or one of the "Effector"s.
Pos Limit Plane Limitpos
- ⊞ - The Pos Limit Plane
and Neg Limit Plane
parameters describe a bounding box used for the Hit Behaviour
of the particle.
- Pos Limit Plane
Limitposx
-
- Pos Limit Plane
Limitposy
-
- Pos Limit Plane
Limitposz
-
Neg Limit Plane Limitneg
- ⊞ - The Neg Limit Plane
and Pos Limit Plane
parameters describe a bounding box used for the Hit Behaviour
of the particle.
- Neg Limit Plane
Limitnegx
-
- Neg Limit Plane
Limitnegy
-
- Neg Limit Plane
Limitnegz
-
Hit Behaviour Hit
- ⊞ - Specify what the particle should do when leaving the bounding box described via the Pos Limit Plane
and Neg Limit Plane
parameters.
- None
none
- The bounding box is ignored.
- Die on Contact
die
- The particle dies at the moment it leaves the bounding box.
- Bounce on Contact
bounce
- The particle bounces when trying to leave the bounding box.
- Avoid Bounds
avoid
- The particle tries to avoid the edges of the bounding box.
- Stick
stick
- The particle will stick on the bounding box.
Avoid Factor Avoidfactor
- Only available when the Hit Behaviour
parameter is set to "Avoid Bounds". This currently controls how much the particle will try to avoid the bounds. Note: This will be deprecated.
Display Bounds Displaybounds
- When set to "On" will render the bounding box in the final render.
Mass Mass
- The particle's mass which has an influence on the forces. Currently not implemented.
Drag Drag
- Drag describes the loss of velocity over time for a particle.
Max Velocity Maxvelocity
- Clamp the maximum velocity of a particle.
System Max Velocity Systemmaxvelocity
- The current maximum velocity of any particle in the system. This is read only and can be used in the Velocity Remap
parameter.
Velocity Remap Remapvelocity
- ⊞ - When using a particle's velocity in conjunction with lookup curves for the size, color or forces attributes, the remap parameter can help to normalize the velocity value for lookups into the curves. One would look at the System Max Velocity
parameter and use it in the second parameter to normalize all particles velocities.
- Velocity Remap
Remapvelocity1
-
- Velocity Remap
Remapvelocity2
-
Speed Speed
- Can be used to speed up or slow down the simulation. This can have unwanted effects when driving parameters with time dependent values.
Reset Reset
- Reset the particle system.
Parameters - Forces Page
Inital Velocity Inital
- ⊞ - The contribution of the initial velocity to the particle's velocity when spawned. The initial velocity is derived from the Particle Source or "particleVelocity" input to the component.
- Inital Velocity
Initalx
-
- Inital Velocity
Initaly
-
- Inital Velocity
Initalz
-
Initial Magnitude Initialmagnitude
- A multiplier to the Initial Velocity
parameter.
Initial Turbulence Initialturbulence
- Adds turbulence to the initial velocity.
External Type Externaltype
- ⊞ - Select how the external force is being determined. While the type "Constant" is specified with below parameters, the remaining options take particle attributes like "Age" or "Velocity" to lookup these values via a CHOP specified in the External Lookup
parameter. When choosing any of the four "Effector" types, the index into the lookup will be fetched from the "Effector" input to the particle system. See the External Lookup
parameter below for more information on the required CHOP channels.
- Constant
constant
- The external force is being calculated using theExternal
,External Magnitude
, andExternal Variance
parameters.
- Age
age
- The external force is determined by the CHOP referenced in theExternal Lookup
parameter with the particle's age as a normalized index into the CHOP.
- Velocity
velocity
- The external force is determined by the CHOP referenced in theExternal Lookup
parameter with the particle's velocity as a normalized index into the CHOP. Use theVelocity Remap
parameter to scale velocity to a unit value.
- Effector R
er
- The external force is determined by the CHOP referenced in theExternal Lookup
parameter with the value of the "effector" input texture's red channel at the particles index position as a normalized index into the CHOP.
- Effector G
eg
- The external force is determined by the CHOP referenced in theExternal Lookup
parameter with the value of the "effector" input texture's green channel at the particles index position as a normalized index into the CHOP.
- Effector B
eb
- The external force is determined by the CHOP referenced in theExternal Lookup
parameter with the value of the "effector" input texture's blue channel at the particles index position as a normalized index into the CHOP.
- Effector A
ea
- The external force is determined by the CHOP referenced in theExternal Lookup
parameter with the value of the "effector" input texture's alpha channel at the particles index position as a normalized index into the CHOP.
External External
- ⊞ - The contribution of the external force to the particle's velocity. An External Force is a constant increase in velocity per frame, not unlike gravity.
- External Force
Externalx
-
- External Force
Externaly
-
- External Force
Externalz
-
External Magnitude Externalmag
- A multiplier to the External Force
parameter.
External Variance Externalvariance
- An additional turbulence to the External Force.
External Lookup (CHOP) Externallookup
- A reference to a CHOP containing 5 channels that represent the forces values: "externalx", "externaly", "externalz", "externalmag", and "externalvariance". Any missing channel will be assumed to have the value 0.
Wind Type Windtype
- ⊞ - Select how the wind force is being determined. While the type "Constant" is specified with below parameters, the remaining options take particle attributes like "Age" or "Velocity" to lookup these values via a CHOP specified in the Wind Lookup
parameter. When choosing any of the four "Effector" types, the index into the lookup will be fetched from the "Effector" input to the particle system. See the Wind Lookup
parameter below for more information on the required CHOP channels.
- Constant
constant
- The wind force is being calculated using theWind
,Wind Magnitude
, andWind Variance
parameters.
- Age
age
- The wind force is determined by the CHOP referenced in theWind Lookup
parameter with the particle's age as a normalized index into the CHOP.
- Velocity
velocity
- The wind force is determined by the CHOP referenced in theWind Lookup
parameter with the particle's velocity as a normalized index into the CHOP. Use theVelocity Remap
parameter to scale velocity to a unit value.
- Effector R
er
- The wind force is determined by the CHOP referenced in theWind Lookup
parameter with the value of the "effector" input texture's red channel at the particles index position as a normalized index into the CHOP.
- Effector G
eg
- The wind force is determined by the CHOP referenced in theWind Lookup
parameter with the value of the "effector" input texture's green channel at the particles index position as a normalized index into the CHOP.
- Effector B
eb
- The wind force is determined by the CHOP referenced in theWind Lookup
parameter with the value of the "effector" input texture's blue channel at the particles index position as a normalized index into the CHOP.
- Effector A
ea
- The wind force is determined by the CHOP referenced in theWind Lookup
parameter with the value of the "effector" input texture's alpha channel at the particles index position as a normalized index into the CHOP.
Wind Wind
- ⊞ - The contribution of the wind force to the particle's velocity. A Wind Force is a constant increase in velocity per frame until the wind's velocity has been reached.
- Wind
Windx
-
- Wind
Windy
-
- Wind
Windz
-
Wind Magnitude Windmag
- A multiplier to the Wind
parameter.
Wind Variance Windvariance
- An additional turbulence to the Wind Force.
Wind Lookup (CHOP) Windlookup
- A reference to a CHOP containing 5 channels that represent the forces values: "windx", "windy", "windz", "windmag", and "windvariance". Any missing channel will be assumed to have the value 0.
Turbulence Type Turbtype
- ⊞ - Select how the turbulence force is being determined. While the type "Constant" is specified with below parameters, the remaining options take particle attributes like "Age" or "Velocity" to lookup these values via a CHOP specified in the Turbulence Lookup
parameter. When choosing any of the four "Effector" types, the index into the lookup will be fetched from the "Effector" input to the particle system. See the Turbulence Lookup
parameter below for more information on the required CHOP channels.
- Constant
constant
- The turbulence is being calculated using theTurbulence
,Turbulence Magnitude
,Turbulence Period
,Turbulence Seed
, andTurbulence Speed
parameters.
- Age
age
- The turbulence is determined by the CHOP referenced in theTurbulence Lookup
parameter with the particle's age as a normalized index into the CHOP.
- Velocity
velocity
- The turbulence is determined by the CHOP referenced in theTurbulence Lookup
parameter with the particle's velocity as a normalized index into the CHOP. Use theVelocity Remap
parameter to scale velocity to a unit value.
- Effector R
er
- The turbulence is determined by the CHOP referenced in theTurbulence Lookup
parameter with the value of the "effector" input texture's red channel at the particles index position as a normalized index into the CHOP.
- Effector G
eg
- The turbulence is determined by the CHOP referenced in theTurbulence Lookup
parameter with the value of the "effector" input texture's green channel at the particles index position as a normalized index into the CHOP.
- Effector B
eb
- The turbulence is determined by the CHOP referenced in theTurbulence Lookup
parameter with the value of the "effector" input texture's blue channel at the particles index position as a normalized index into the CHOP.
- Effector A
ea
- The turbulence is determined by the CHOP referenced in theTurbulence Lookup
parameter with the value of the "effector" input texture's alpha channel at the particles index position as a normalized index into the CHOP.
Turbulence Turb
- ⊞ - The contribution of the turbulence to the particle's velocity. A turbulence is a position based lookup into a threedimensional noisefield defined with below parameters.
- Turbulence
Turbx
-
- Turbulence
Turby
-
- Turbulence
Turbz
-
Turbulence Magnitude Turbmag
- A multiplier to the Turbulence
parameter.
Turbulence Period Turbperiod
- The period of the noise function.
Turbulence Seed Turbseed
- The seed of the noise function.
Turbulence Speed Turbtrans
- ⊞ - This is currently an offset of the xyz lookup position in the noise field. When specifying a constant number the noise will be constant as well.
- Turbulence Speed
Turbtransx
-
- Turbulence Speed
Turbtransy
-
- Turbulence Speed
Turbtransz
-
Turbulence Lookup (CHOP) Turblookup
- A reference to a CHOP containing 9 channels that represent the force values: "turbx", "turby", "turbz", "turbmag", "turbperiod", "turbseed", "turbtransx", "turbtransy", and "turbtransz". Any missing channel will be assumed to have the value 0.
Extra Forces (CHOP) Extraforceschop
- Via a CHOP containing 9 channels, multiple positional forces of the types "Radial", "Axial", "Vortex", and "Spiral" can be defined. These forces try to mimick the behaviour of the Force SOP with some differences: The original SOP takes a Metaball as an input and can apply all 4 forces at the same position with "Vortex" and "Spiral" interacting with each other. This implementation treats the force source as a wyvill type metaball and "Vortex" and "Spiral" do not interact but are calculated seperately.
Multiple forces can be specified with a multisample CHOP where each sample represents a unique force field.
The 9 required channels are: "forceposx", "forceposy", "forceposz", "forceradius", "forceamount", "forcetype", "forcedirx", "forcediry", and "forcedirz". The value of "forcetype" can be one of:
- 0: Radial force
- 1: Axial force
- 2: Vortex force and
- 3: Spiral force
The "forcedir*" channels are only required for the directional forces "Axial", "Vortex", and "Spiral". See the Force SOP for more information on these different force types. Any missing channel will be assumed to have the value 0.
Display Extra Forces Displayextraforces
- Displays a wireframe sphere in place of any of the extra forces whose "forceAmount" value is greater than 0.
Input Magnitude Inputmag
- Placeholder for a future texture based force input like optical flow.
Inputsize Remap Inputsizeremap
- ⊞ - Placeholder for a future texture based force input like optical flow.
- Inputsize Remap
Inputsizeremapx
-
- Inputsize Remap
Inputsizeremapy
-
Rotation Type Rotationtype
- ⊞ - Select what kind of rotation the particles are subjected to. Note: this only has an effect on Materials choosed on the "Material" paramter page, that are not of the Line MAT type.
- None
none
- There is no rotation. The particles will be oriented to the XY plane.
- Velocity
velocity
- The particles are oriented towards the velocity vector of the particle. Especially in conjunction with a phong material, this can give the impression of shading.
- Face Camera
billboard
- All particles are rotated towards the camera.
- Continous
continous
- Particles are rotating continiously.
Rotation Speed Rotationspeed
- ⊞ - Specify the speed at which particles are rotating. A speed of 1 will rotate the partice by one degree per frame.
- Rotation Speed
Rotationspeedx
-
- Rotation Speed
Rotationspeedy
-
- Rotation Speed
Rotationspeedz
-
Randomize Initial Rotation Rotationrandom
- Toggle on to have the particles spawned with a random rotation.
Rotation Init Rotationinit
- ⊞ - Specify the rotation of spawned particles. The rotation is represented as a vector.
- Rotation Init
Rotationinitx
-
- Rotation Init
Rotationinity
-
- Rotation Init
Rotationinitz
-
Parameters - Render Page
Resolution Resolution
- ⊞ - Specify the resolution of the final render of the particle system.
- Resolution
Resolutionw
-
- Resolution
Resolutionh
-
Fade In Fadein
- Specify the time in seconds a particle fades in after being spawned.
Fade Out Fadeout
- Specify the time in seconds a particle fades out before dying.
Color Type Colortype
- ⊞ - Select how the particle color is being determined. While the types "Constant" and "Random" are specified with below Color 1
and Color 2
parameters, and "Velocity" as well as "Turbulence" are driven by the respective particle attributes, the remaining options take particle attributes like "Age" or "Velocity" to lookup the size via a CHOP specified in the Color Lookup
parameter. When choosing any of the four "Effector" types, the index into the lookup will be fetched from the "Effector" input to the particle system.
- Constant
constant
- The particle's color is specified via theColor 1
parameter.
- Random
random
- The particle's color is randomly picked between theColor 1
andColor2
parameters.
- Velocity
velocity
- The particle's color is the same value as the particles velocity.
- Turbulence
turb
- The particle's color is the same as the value of the turbulence force it might be traversing.
- Age (Lookup)
ageL
- The color of the particle is determined by the CHOP referenced in theColor Lookup
parameter with the particle's age as a normalized index into the CHOP.
- Velocity (Lookup)
velocityL
- The color of the particle is determined by the CHOP referenced in theColor Lookup
parameter with the particle's velocity as a normalized index into the CHOP. Use theVelocity Remap
parameter to scale velocity to a unit value.
- Effector R
er
- The color of the particle is determined by the CHOP referenced in theColor Lookup
parameter with the value of the "effector" input texture's red channel at the particles index position as a normalized index into the CHOP.
- Effector G
eg
- The color of the particle is determined by the CHOP referenced in theColor Lookup
parameter with the value of the "effector" input texture's green channel at the particles index position as a normalized index into the CHOP.
- Effector B
eb
- The color of the particle is determined by the CHOP referenced in theColor Lookup
parameter with the value of the "effector" input texture's blue channel at the particles index position as a normalized index into the CHOP.
- Effector A
ea
- The color of the particle is determined by the CHOP referenced in theColor Lookup
parameter with the value of the "effector" input texture's alpha channel at the particles index position as a normalized index into the CHOP.
Color 1 Color1
- ⊞ - The color of the particle if Color Type
is set to "Constant" or "Random"
- Color 1
Color1r
-
- Color 1
Color1g
-
- Color 1
Color1b
-
- Color 1
Color1a
-
Color 2 Color2
- ⊞ - If Color Type
is set to "Random", the particle's color will be a random value between Color 1
and this parameter.
- Color 2
Color2r
-
- Color 2
Color2g
-
- Color 2
Color2b
-
- Color 2
Color2a
-
Color Lookup (CHOP) Colorlookup
- A reference to a CHOP containing 3 channels that represent the color values: "r", "g", "b", and "a". Any missing channel will be assumed to have the value 1.
Camera Camera
- Specify a custom Camera COMP to render the particle system.
Compositing Compositing
- ⊞ -
- Alpha To Coverage
coverage
-
- Discard Alpha
discard
-
- Order-Independent Transparency
independent
-
- No Depth Test
nodepth
-
Transparancy Layers Transparancylayers
-
Alpha Threshold Alphathreshold
-
Parameters - Material Page
Material Material
- ⊞ - Select which material type should be used for the particle system render. For the types "Constant" and "Phong" a texture can be selected or specified.
- Constant
constant
- The particle system is rendered with a Constant MAT
- Phong
phong
- The particle system is rendered with a Phong MAT
- Line
line
- The particle system is rendered with a Line MAT
- custom
custom
- A custom material can be specified via theCustom Material
parameter.
Custom Material Custommaterial
- Reference to a MAT to be used as the material for rendering the particle system.
Texture Texture
- ⊞ - In case of selecting a "Constant" or "Phong" material, a texture can be selected that will be used for shading the particle.
- Square
square
- A simple square resulting in a constant color.
- Circle
circle
- A circle texture.
- Snow
snow
- a snowflake image.
- Leaf
leaf
- A 2D Texture Array of 5 different leafs.
- Character
char
- A 2D Texture Array of 60 different charachters.
- Custom
custom
- Specify a custom texture in theParticle Texture Map
parameter which can also be of the type 2D Texture Array.
Particle Texture Map Particlemap
- A reference to a TOP containing the texture to be used on the particles.
Parameters - Particle Source Page
Interpolate Source Point Position Interpolatepoint
- When using a low resolution source object, toggling this parameter will spawn particles from interpolated positions of the original source.
Num Points Numpoints
- Specify the number of points the source shape should have.
Shape Shape
- ⊞ - Select what type of shape the source should be.
- Sphere
sphere
- A sphere volume.
- Box
box
- A box volume.
- Torus
torus
- A torus volume.
- Sphere Surface
spheresurf
- A sphere surface.
- Box Surface
boxsurf
- A box surface.
- Torus Surface
torussurf
- A torus surface.
- Rectangle
rectangle
- A rectangle.
- Circle
circle
- A circle. (Only points along the circle are created.)
- Disc
disc
- A disc. (There are also points inside the circle.)
- Line
line
- A line defined by a start and an endpoint.
Orientation Orientation
- ⊞ -
- XY Plane
xy
- Specifies the orientation of the shape. This is useful for type: "Torus", "Torus Surface", "Rectangle", "Circle", and "Disc".
- YZ Plane
yz
-
- ZX Plane
zx
-
Size Shapesize
- ⊞ - The size of the generated shape when type is "Box", "Box Surface", or "Rectangle".
- Size
Shapesizex
-
- Size
Shapesizey
-
- Size
Shapesizez
-
Radius Radius
- ⊞ - The radius of the generated shape when type is "Sphere", "Torus", "Sphere Surface", "Torus Surface", "Circle", or "Disc"
- Radius
Radiusx
-
- Radius
Radiusy
-
- Radius
Radiusz
-
Point A Pa
- ⊞ - Starting point of a shape if type is "Line".
- Point A
Pax
-
- Point A
Pay
-
- Point A
Paz
-
Point B Pb
- ⊞ - End point of a shape if type is "Line".
- Point B
Pbx
-
- Point B
Pby
-
- Point B
Pbz
-
Random Seed Randomseed
- Random seed of the point order.
Transform Transform
-
Transform Order Xord
- ⊞ -
- Scale Rotate Translate
srt
-
- Scale Translate Rotate
str
-
- Rotate Scale Translate
rst
-
- Rotate Translate Scale
rts
-
- Translate Scale Rotate
tsr
-
- Translate Rotate Scale
trs
-
Rotate Order Rord
- ⊞ -
- Rx Ry Rz
xyz
-
- Rx Rz Ry
xzy
-
- Ry Rx Rz
yxz
-
- Ry Rz Rx
yzx
-
- Rz Rx Ry
zxy
-
- Rz Ry Rx
zyx
-
Translate T
- ⊞ -
- Translate
Tx
-
- Translate
Ty
-
- Translate
Tz
-
Rotate R
- ⊞ -
- Rotate
Rx
-
- Rotate
Ry
-
- Rotate
Rz
-
Scale S
- ⊞ -
- Scale
Sx
-
- Scale
Sy
-
- Scale
Sz
-
Pivot P
- ⊞ -
- Pivot
Px
-
- Pivot
Py
-
- Pivot
Pz
-
Show Emitter Source Showsource
-
Parameters - About Page
Help Help
-
Version Version
-
{{InputsPage |opFamily=COMP |opInputs=
- Input 0: particleSource - TOP containing all positions of the particle source.
- Input 1: particleVelocity - TOP contining the inital velocity values for each particle.
- Input 2: effector - Input for a Texture used in any of the Size, Force or Color Lookups.