source_particles

Allows the user to emit particles into a simulate_particles compound.

To use this node, connect a geometry object into the geometry input, then plug source_particles.particle_source output into the sources input of a simulate_particles compound.

Inputs

geometry

An array of input meshes, points and volumes that define the source geometry.

General

Overall properties for time bounds and disabling of the source.

start_frame

Is the frame at which emission from the source starts.

use_end_frame

Can be enabled to stop the emission at a certain frame. Otherwise emission will continue for the duration of the simulation.

end_frame

Is the frame at which emission from the source stops.

Creation Options

These controls affect the act of emission from the geometry source.

distribution

This controls how particles are distributed on the geometry:

volume_detail_size

This is the bounding box relative voxel size to use when voxelizing the geometry for the Volume distribution method.

rate

This controls how many particles will be emitted each step, based on the rate_mode.

rate_mode

This controls how rate is defined:

Particle Properties

These controls affect the initial value of per particle properties at emit time.

speed

This is the initial speed of the particles. This value affects both the normal_speed as well as the direction vector. The general speed is in units per second.

direction

This is the component of the emission speed along a fixed direction in worldspace.

normal_speed

This is the component of the the emission speed along the geometry normal. If the geometry does not have a point_normal then this will emit in all directions.

spread

This affects the direction of emission. A value of 0 will be along the defined direction or normal. A value of 0.5 will randomly perturb this direction to a spread of 180 degrees. A value of 1.0 will result in a fully random emission direction.

inherit_velocity

This is the degree to which the emission velocity has the velocity of the source geometry added to it. At a value of 1.0 the emitter will add the full object velocity to the particle.

bounciness

This is the resilience of the particle for collisions, and determines how much particles bounce. If both the collider and the particles have bounciness values of 1.0 it will result in perfectly resilient collisions where particles will continue to bounce to the same height, providing there is no drag. Values greater than 1.0 would result in collisions that are not physicially possible.

live_forever

If this is enabled then the age_limit is ignored and particles do not die, unless killed with an influence_field.

age_limit

The age of particles in seconds beyond which they are killed.

size

The initial value to set for the particle point_size, which is used for collisions as well as drawing.

additional_properties

One can add additional per particle properties using this object port. Any simple property on the object passed in will become an array geo property on the particle system. The value on the passed in object will be the value the particles get on emission. For example one could create a set_property node, set the key to color, set the value to a float3, then plug it into additional_properties. The particles will have a color property.

Output

particle_source

The output is an object that contains an aggregation of source related inputs to the particle solver and should be connected to the sources port on a simulate_particles node.