3.3 KiB
3.3 KiB
Particles
Particles are a table, all fields of which are optional.
| Field | Description | Default |
|---|---|---|
| texture | Particle texture. | "" |
| frames | Animation frames (array of texture names). Must be in a single atlas. | {} |
| lighting | Lighting. | true |
| collision | Collision detection. | true |
| max_distance | Maximum distance from the camera at which particles may spawn. | 16.0 |
| spawn_interval | Particle spawn interval in seconds. | 1.0 |
| lifetime | Average lifetime of particles in seconds. | 5.0 |
| lifetime_spread | Maximum deviation of particle lifetime (from 0.0 to 1.0). | 0.2 |
| velocity | Initial linear velocity of particles. | {0, 0, 0} |
| acceleration | Particles acceleration. | {0, -16, 0} |
| explosion | Force of particles explosion on spawn. | {2, 2, 2} |
| size | Size of particles. | {0.1, 0.1, 0.1} |
| size_spread | Maximum particle size spread over time. | 0.2 |
| angle_spread | Maximum initial rotation angle spread (0 to 1) | 0.0 |
| min_angular_vel | Minimum angular velocity (radians per sec). Non-negative. | 0.0 |
| max_angular_vel | Maximum angular velocity (radians per sec). Non-negative. | 0.0 |
| spawn_shape | Shape of particle spawn area. (ball/sphere/box) | ball |
| spawn_spread | Size of particle spawn area. | {0, 0, 0} |
| random_sub_uv | Size of random texture subregion (1 - entire texture will be used). | 1.0 |
gfx.particles library
gfx.particles.emit(
-- emitter position: static coordinates or entity uid
origin: vec3 | int,
-- particle count (-1 - infinite)
count: int,
-- particle settings table
preset: table,
-- additional particle settings table
[optional] extension: table
) -> int
Creates a particle emitter, returning its id.
gfx.particles.stop(id: int)
Stops the emitter permanently. The emitter will be deleted automatically later.
gfx.particles.is_alive(id: int) -> bool
Checks if the emitter is running. Returns false if it is stopped or if the emitter does not exist.
gfx.particles.get_origin(id: int) -> vec3 | int
Returns the static position or uid of the entity the emitter is bound to.
Returns nil if the emitter does not exist.
``lua gfx.particles.set_origin(id: int, origin: vec3 | int)
Sets the static position or uid of the entity the emitter will be bound to.