Skip to content

Search

Documentation

particles3d component

A visual-only 3D emitter at the node, drawn as instances of one quad: rate, lifetime, speed, direction, spread_degrees and gravity in world space. The…

In questa pagina

3d · render · 31 properties · 3D

A visual-only 3D emitter at the node, drawn as instances of one quad: rate, lifetime, speed, direction, spread_degrees and gravity in world space. The live particles are renderer state the simulation never sees; a sprite sheet does not reach them, because a 3D instance carries no texture rectangle.

In a scene, particles3d is the node key that applies it. A script reaches each property below as a field on node.particles3d: reading one asks the running component, and assigning one leaves the rest alone. The whole table is node.particles3d.get() and node.particles3d.set(table).

Properties

property type default description
angular_speed_degrees float 0 The fastest a particle spins in its own plane, in degrees a second; each takes a speed at random between zero and this
billboard bool true Turn each particle to face the camera; off lays every one in the node's own XY plane
cast_shadow bool false Whether the particles cast a shadow from the lights that cast
color color [1,1,1,1] Tint, as channel floats or #rrggbb / #rrggbbaa
color_end color [1,1,1,0] The tint a particle fades to by the end of its life
depth_test bool true Let the scene hide it; off draws it over everything drawn before it and leaves the depth as it was
direction vec3 [0,1,0] Which way the particles leave, in world space; [0, 1, 0] is straight up
dot_color color [0,0,0,0] The vertex dots' colour; an alpha of zero takes the node's own. Not drawn on a skinned mesh, which Balaur poses in its own vertex stage
dot_size float 0 Size of a dot drawn on every vertex; zero draws none. Not drawn on a skinned mesh, which Balaur poses in its own vertex stage. Not on WebGL2 At least 0.
dot_sizing enum world What dot_size counts: world is pixels at one world unit from the camera, thinning with distance, screen is pixels One of world, screen.
draw_surface bool true Whether the surface draws; off leaves the wireframe and the dots alone
emitting bool true Whether new particles are born; live ones finish either way
explosiveness float 0 How much of a one-shot burst is born at once; the rest is spread over the lifetime Range 0–1.
gravity vec3 [0,-3,0] Acceleration applied over a particle's life, in world space
lifetime float 1 Seconds a particle lives At least 0.05.
light_layers int -1 Light-layer bitmask; a light3d lights this when their masks share a bit. -1 is every layer
material asset · material — The material every particle draws with; empty draws with the built-in one, which blends
one_shot bool false Emit one burst of rate times lifetime particles and stop; setting emitting false and true again fires another
rate float 20 Particles born per second At least 0.
receive_shadows bool true Whether shadows land on it; off lights it as if nothing stood between it and every light
render_layers int -1 Layer bitmask; a camera3d draws this when their render_layers share a bit. -1 is every layer
rotation_degrees float 0 The most a particle is turned in its own plane at birth, either way, in degrees At least 0.
segmentation_id int 0 The id render.snap_aov("segmentation") colours this node by; nodes sharing one share a colour. Zero takes one of its own, from 1 up At least 0.
size float 0.1 A particle's edge length in world units At least 0.
size_end float -1 The edge length a particle grows or shrinks to by the end of its life, in world units; below zero keeps size
speed float 2 Initial speed in world units per second At least 0.
spread_degrees float 30 Half-angle of the emission cone; 180 scatters every way Range 0–180.
texture asset · texture — An image, or a texture asset, each particle draws with; empty draws a flat square
wireframe_color color [0,0,0,0] The wireframe's colour; an alpha of zero takes the node's own. Not drawn on a skinned mesh, which Balaur poses in its own vertex stage
wireframe_sizing enum world What wireframe_width counts: world is pixels at one world unit from the camera, thinning with distance, screen is pixels One of world, screen.
wireframe_width float 0 Width of a line drawn along every triangle edge; zero draws none. Not drawn on a skinned mesh, which Balaur poses in its own vertex stage. Not on WebGL2 At least 0.

Asset types this component references: material, texture.