Skip to content

The nodes

Pagunasa edited this page Jul 4, 2021 · 19 revisions

On this page, I'm going to explain all the implemented nodes. In total, there are a set of six principal classes.

NOTE: If you have doubts while working you can just make a double left-click on the node and all his information will be displayed. To see information about his properties just hover it and a panel with a description will be showed.

Contents


This class covers all the 'basic' operations like define numbers, vectors, load textures...


This node allows you to create a constant number.

Properties

Name Type Description
number Float The value of the number.

Outputs

Name Type Description
Number Float The value of the number.

Widgets

Name Description
Number Use this widget will modify the number property.

This node allows you to create a random number. The random number will be changed every frame.

Inputs

Name Type Description
Min Value Float The minimum value of the number.
Max Value Float The maximum value of the number.

Properties

Name Type Description
min Float The minimum value of the number.
max Float The maximum value of the number.

Outputs

Name Type Description
Number Float The value of the random number.

This node allows you to load a default texture for the particles of a system or load a custom one from local in that case, you will have to save it because the next time you load the graph, you will need it. Instead of loading a normal texture, atlas and animated textures are supported.

Properties

Name Type Description
default_texture String If a default texture is loaded, then his name will be saved here.
subtextures Bool If true then the loaded texture is an atlas of textures.
textures_x Integer The number of textures in the x coordinate of the atlas.
textures_y Integer The number of textures in the y coordinate of the atlas.
animated Bool If true then the texture is an animated texture.
anim_loop Bool If true, this option creates a loop of the animation.
anim_duration Integer If anim_loop is true, this number will set the duration of the animation.

Outputs

Name Type Description
Texture Texture The texture object.

Widgets

Name Description
Select texture On click this button a modal will be displayed to select the texture.
Sub textures This widget will modify the subtextures property.
Textures in x This widget will modify the textures_x property.
Textures in y This widget will modify the textures_y property.
Animated texture This widget will modify the animated property.
Animation loop This widget will modify the anim_loop property.
Animation time This widget will modify the anim_duration property.

This node allows you to load a default mesh or load from the internet using an URL. In that case, you will have to save it because the next time you load the graph, you will need it.

Inputs

Name Type Description
Position Vector3 The position of the mesh.
Scale Vector3 The scale in the components xyz of the mesh.
Rotation Vector3 The rotation, in degrees, in the components xyz of the mesh.
Color Color The color of the mesh.

Properties

Name Type Description
name String If a default mesh is loaded, then his name will be saved here.
position Vector3 The position of the mesh.
scale Vector3 The scale in the components xyz of the mesh.
rotation Vector3 The rotation, in degrees, in the components xyz of the mesh.
color Color The color of the mesh.
visibility Bool If true the mesh will be visible.

Outputs

Name Type Description
Mesh Mesh The mesh object.

Widgets

Name Description
Select mesh On click this button a modal will be displayed to select the mesh.
Show mesh This widget will modify the visibility property.

This node allows you to create an equation adding points when you click on the black canvas and move them by dragging it. The equation can be used for the modify property node instead of the linear one. A point on the top equals the value to achieve and, on the bottom, the original one.

Properties

Name Type Description
curve_points Array of arrays of length 2 The points of the equation.

Outputs

Name Type Description
Equation Equation The equation object.

This node allows you to create a vector of three components.

Inputs

Name Type Description
X Float The value of the x component.
Y Float The value of the y component.
Z Float The value of the z component.

Properties

Name Type Description
x Float The value of the x component.
y Float The value of the y component.
z Float The value of the z component.

Outputs

Name Type Description
Vec3 Vector3 The Vector3 filled.

This node allows you to create an RGBA color.

Properties

Name Type Description
color Color The RGBA components of the color.

Outputs

Name Type Description
Color Color The color object.

Widgets

Name Description
Red This widget will modify the red component of the color.
Green This widget will modify the green component of the color.
Blue This widget will modify the blue component of the color.
Alpha This widget will modify the alpha component of the color.


This class manage the nodes for spawn particles.


This node allows defining some default values for the particle system.

Properties

Name Type Description
Max particles Integer Maximum number of particles allowed.
Spawn rate Integer How many particles are spawned every frame or time between waves.
Particles per wave Integer How many particles are spawned per wave.
Color Color The color of the emitter.
Position Vector3 The origin of the particles in point mode.

Properties

Name Type Description
max_particles Integer Maximum number of particles allowed.
spawn_rate Integer How many particles are spawned every frame or time between waves.
particles_per_wave Integer How many particles are spawned per wave.
origin String The origin of the particles. Can be a point or a mesh.
position Vector3 The origin of the particles in point mode.
color Color The color of the emitter.
show_origin Bool Enable/Disable showing the origin of the particles.
src_bfact String Source blending factor.
dst_bfact String Destination blending factor.
spawn_mode String The spawn mode of the system. Can be waves or linear.

Outputs

Name Type Description
Emitter Emitter The emitter object.

Widgets

Name Description
Show origin This widget will modify the show_origin property.
Spawn Mode This widget will modify the spawn_mode property.
Source blending factor This widget will modify the src_bfact property.
Destination blending factor This widget will modify the dst_bfact property.
Origin This widget will modify the origin property.

This node allows defining a customizable sub emitter given a system and a condition. The particles will spawn when the condition is meted, by default is when a particle dies.

Inputs

Name Type Description
Particle system ParticleSystem The particle system parent of the sub emitter.
Max particles Integer Maximum number of particles allowed.
Particles per wave Integer How many particles are spawned per wave.
Condition Condition Condition when the particles will start to be spawned.

Properties

Name Type Description
max_particles Integer Maximum number of particles allowed.
particles_per_wave Integer How many particles are spawned per wave.

Outputs

Name Type Description
Emitter Emitter The emitter object.


This class covers all the nodes for set the initial values to the particles.


This node allows defining the values of the particles and assigns a texture to them.

Inputs

Name Type Description
Max speed Vector3 The maximum speed of the particle.
Min speed Vector3 The minimum speed of the particle.
Max life time Integer The maximum lifetime of the particle in seconds.
Min life time Integer The minimum lifetime of the particle in seconds.
Max size Float The maximum size of the particle.
Min size Float The minimum size of the particle.
Color Color The color of the particle.
Texture Texture The texture of the particle.

Properties

Name Type Description
max_speed Vector3 The maximum speed of the particle.
min_speed Vector3 The minimum speed of the particle.
max_size Float The maximum size of the particle.
min_size Float The minimum size of the particle.
max_life_time Integer The maximum lifetime of the particle in seconds.
min_life_time Integer The minimum lifetime of the particle in seconds.
color Color The color of the particle.

Outputs

Name Type Description
Particle data ParticleData The particle data object.


Inside this class, they are all the implemented external forces that can be applied to the system.


This node creates a global force that affects all the particles of a given system. It will only affect a sub emitter if the connection comes from a init node that initializes his particles.

Gravity showcase

Gravity showcase.

Inputs

Name Type Description
Particle system ParticleSystem The particle system in which particles will be affected by the gravity.
Condition Condition The condition of when the particles will be affected by the gravity.
Direction Vector3 The direction in which the particles will be moved.
Strength Float The strength that will displace the particles.

Properties

Name Type Description
direction Vector3 The direction in which the particles will be moved.
strength Float The strength that will displace the particles.

Outputs

Name Type Description
Particle system ParticleSystem The particle system object.

This node creates a circular force that affects the particles of a given system depends on how far they are from the origin of the vortex. It will only affect a sub emitter if the connection comes from a init node that initializes his particles.

Vortex showcase

Vortex showcase.

Inputs

Name Type Description
Particle system ParticleSystem The particle system in which particles will be affected by the gravity.
Condition Condition The condition of when the particles will be affected by the vortex.
Position Vector3 The origin of the vortex.
Angular speed Vector3 The rotative strength that will displace the particles.
Scale Float The vortex area of effect.
Color Color The color of the vortex origin.

Properties

Name Type Description
position Vector3 The origin of the vortex.
angular_speed Vector3 The rotative strength that will displace the particles.
scale Float The vortex area of effect.
color Color The color of the vortex origin.

Outputs

Name Type Description
Particle system ParticleSystem The particle system object.

Widgets

Name Description
Show vortex This widget will enable/disable the visibility of the vortex.

This node defines a point that creates a force repelling or attracting the particles of a given system depends on how far they are from their origin. It will only affect a sub emitter if the connection comes from a init node that initializes its particles.

Magnet point showcase

Magnet point showcase.

Inputs

Name Type Description
Particle system ParticleSystem The particle system in which particles will be affected by the magnet point.
Condition Condition The condition when the particles will be affected by the magnet point.
Position Vector3 The origin of the magnet point.
Strength Float The strength that will displace the particles. If is positive will attract and negative repel.
Scale Float The magnet point area of effect.
Color Color The color of the magnet point.

Properties

Name Type Description
position Vector3 The origin of the magnet point.
strength Float The strength that will displace the particles. If is positive will repel and negative attract.
scale Float The magnet point area of effect.
color Color The color of the magnet point origin.

Outputs

Name Type Description
Particle system ParticleSystem The particle system object.

Widgets

Name Description
Show magnet point This widget will enable/disable the visibility of the magnet point.


This class have nodes for manage the conditions.


This node defines a condition and checks for every particle in the system if it's meted. It will only check for sub emitter particles if the connection comes from a init node that initializes his particles.

Inputs

Name Type Description
Particle system ParticleSystem The particle system in which the condition will be tested.
Speed Vector3 The value we want to use for the check.
Life time Float The value we want to use for the check.
Size Float The value we want to use for the check.

Speed, Life time and Size will never be present simultaneously, it will depend on the selected property to test the condition.

Properties

Name Type Description
system_property String The tested property of the particle.
condition String What kind of operator will be used for the check.
is_one_time Bool If only can be meted one time per particle.
value Variable:question: The color of the vortex origin.

❓ Is variable because will depend on the selected system_property.

Outputs

Name Type Description
Condition Condition The condition object.

Widgets

Name Description
Property This widget will modify the system_property property.
Condition This widget will modify the condition property.
One time condition This widget will modify the is_one_time property.

This node allows merging two conditions and checks what particles met the new condition.

Inputs

Name Type Description
Condition 1 Condition The first condition to be merged.
Condition 2 Condition The second condition to be merged.

Properties

Name Type Description
merge_mode String What kind of merge will be used, the possible values are And or Or.

Outputs

Name Type Description
Condition Condition The condition object.

Widgets

Name Description
Merge mode This widget will modify the merge_mode property.


This class cover all the properties modifications.


This node allows modifying one property of the particles given a condition and an equation. By default, the condition is true for all the particles, and the equation is linear. It will only modify properties for sub emitter particles if the connection comes from a init node that initializes his particles.

Inputs

Name Type Description
Particle system ParticleSystem The particle system in which particles will be affected by the modification.
Condition Condition The condition of when the particles will be affected by the modification.
Change equation Equation The equation that represents the particles changes along the time
New speed Vector3 The new value of the property.
New size Float The new value of the property.
New color Color The new value of the property.
New life time Integer The new value of the property.

New speed, New size, New color and New life time will never be present simultaneously, it will depend on the selected property to apply the modification.

Properties

Name Type Description
changed_properties String What property will be changed.
application_mode String What operation will be done with the new value.
modification_mode String If the property will change along the particle lifetime or depending on a time defined manually.
user_defined_seconds Float How many seconds until achieving the new value.
user_defined_start Float How many seconds until start to make the changes.
new_value Variable:question: The new value of the property.

❓ Is variable because will depend on the selected changed_properties.

Outputs

Name Type Description
Particle system ParticleSystem The particle system object.

Widgets

Name Description
Property This widget will modify the changed_properties property.
Application Mode This widget will modify the application_mode property.
Modification Mode This widget will modify the modification_mode property.
Starts at This widget will modify the user_defined_start property.
Duration This widget will modify the user_defined_seconds property.