Particle System
The entity system is dynamic and allows us to make an dynamic particle system. Even new particle types can be added at runtime.
Particle Types and Particles
Entity Type | Attribute Name | Data type | Input | Output |
PARTICLE_TYPE | name | string | Y | N |
PARTICLE | uuid | string | N | N |
| position | vec3 | Y | Y |
| last_position | vec3 | Y | Y |
| velocity | vec3 | Y | Y |
| roll | float | Y | Y |
| roll | float | Y | Y |
| remaining_ms | float | Y | Y |
| elapsed_ms | float | Y | Y |
| last_elapsed_ms | float | Y | Y |
| mass | float | Y | Y |
| density | float | Y | Y |
Particle Emitters
Entity Type | Attribute Name | Data type | Input | Output |
PARTICLE_EMITTER (Base Entity Type) | name | string | Y | N |
| enabled | bool | Y | N |
| position | vec3 | Y | N |
| rate | float | Y | N |
| batch_size | int | Y | N |
| mass | float | Y | N |
| density | float | Y | N |
PARTICLE_EMITTER_POINT | ... | string | Y | N |
PARTICLE_EMITTER_LINE | ... | string | Y | N |
PARTICLE_EMITTER_PLANE | ... | string | Y | N |
PARTICLE_EMITTER_BOX | ... | string | Y | N |
PARTICLE_EMITTER_CIRCLE | ... | string | Y | N |
PARTICLE_EMITTER_SPHERE | ... | string | Y | N |
PARTICLE_EMITTER_RASTER_FIELD | ... | string | Y | N |
| rows | int | Y | N |
| columns | int | Y | N |
| height | int | Y | N |
PARTICLE_EMITTER_RAIL | ... | string | Y | N |
| REL_TO_RAIL | | | |
PARTICLE_EMITTER_FORMULA (using visual scripting it is even posible to create a dynamic formula!!!) | ... | string | Y | N |
| formula | string | Y | N |
Particle Modifiers
Entity Type | Attribute Name | Data type | Input | Output |
PARTICLE_MODIFIER (Base Entity Type) | ... | ... | ? | ? |
VELOCITY_TRANSFORMATION | ... | ... | ? | ? |
VECTOR_FIELD | ... | ... | ? | ? |
ROLLING | ... | ... | ? | ? |
RANDOM_VELOCITY | ... | ... | ? | ? |
MASS_SPRING_TRANSFORMATION | ... | ... | ? | ? |
VELOCITY_DAMPER | ... | ... | ? | ? |
WIND | ... | ... | ? | ? |
GLOBAL_GRAVITY | ... | ... | ? | ? |
GRAVITY_POINT | ... | ... | ? | ? |
PULSAR | ... | ... | ? | ? |
BLACK_HOLE | ... | ... | ? | ? |
GEOMETRY_COLLISION | ... | ... | ? | ? |
CULLING_BOUNDING_BOX | ... | ... | ? | ? |
CULLING_GEOMETRY | ... | ... | ? | ? |
DENSITY_FADE_OUT | ... | ... | ? | ? |
PARTICLE_SUB_EMITTER_ | ... | ... | ? | ? |
Particle Renderer
Entity Type | Attribute Name | Data type | Input | Output |
PARTICLE_RENDERER (Base Entity Type) | ... | ... | ? | ? |
PARTICLE_RENDERER_BILLBOARD | ... | ... | ? | ? |
PARTICLE_RENDERER_SMOKE | ... | ... | ? | ? |
PARTICLE_RENDERER_FIRE | ... | ... | ? | ? |
PARTICLE_RENDERER_LAVA | ... | ... | ? | ? |
PARTICLE_RENDERER_POISION | ... | ... | ? | ? |
PARTICLE_RENDERER_SNOW | ... | ... | ? | ? |
PARTICLE_RENDERER_FLARES | ... | ... | ? | ? |
PARTICLE_RENDERER_FIRE | ... | ... | ? | ? |
PARTICLE_RENDERER_TRIANGLE | ... | ... | ? | ? |
PARTICLE_RENDERER_QUAD | ... | ... | ? | ? |
PARTICLE_RENDERER_RING | ... | ... | ? | ? |
PARTICLE_RENDERER_TETRAHEDRON | ... | ... | ? | ? |
PARTICLE_RENDERER_CUBE | ... | ... | ? | ? |
PARTICLE_RENDERER_TUBE | ... | ... | ? | ? |
PARTICLE_RENDERER_QUAD_TEXTURED | ... | ... | ? | ? |
PARTICLE_RENDERER_META_BALLS | ... | ... | ? | ? |
Particle Relationships
Relationship Type | Start Node Entity Type | End Node Entity Type |
GET_RENDERED_BY | PARTICLE_TYPE | PARTICLE_RENDERER |
GETS_MODIFIED_BY | PARTICLE | PARTICLE_MODIFIER |
HAS_BEEN_CREATED_BY | PARTICLE | PARTICLE_EMITTER |
EMITS_PARTICLES_OF_TYPE | PARTICLE_EMITTER | PARTICLE_TYPE |
INITIALIZES_SPAWNED_PARTICLES_USING | PARTICLE_EMITTER | PARTICLE_INITIALIZERS |
MODIFIED_PARTICLES_GETS_MODIFIED_BY | PARTICLE_EMITTER | PARTICLE_MODIFIERS |
Relationship Type | Attribute Name | Data type | Input | Output |