Emit Evenly from Geometry

 
 
 

Creates particles evenly from the surface of a geometry. The particles are first emitted randomly, and then iteratively spread out to give a more even distribution.

This compound was designed to generate the cloud that controls the actors' positions in CrowdFX simulations (see Creating the Crowd Particle Simulation), but can be used for other types of particle emissions.

For more information, see Setting Up the Crowd Particle Emission.

Tasks: Crowds/Emitters

Output Ports: Execute

Geometry

Plug in the geometry from which you want to emit particles. This must be a geometry with a surface. You can plug multiple geometries into this emitter.

Emission Controls

Number of Actors

The number of particles to emit. For CrowdFX simulations, the particles are used to instantiate actors.

Filter

Reference

A reference to a weight map or other attribute on the emitter to filter locations by. If this option is used, the attribute is used to control the rate of emission across the geometry.

The supported types for the attribute are: Boolean, integer and scalar. Integer and scalar values are clamped to a minimum of 0 and a maximum of 1.

A value of 0 (or false for Boolean) means the corresponding triangle is discarded from the set of locations. Scalar values between 0 and 1 are used as weights when the emission type is set to Surface: a triangle will emit N% of the locations that it would have emitted without filtering where N is equal to the weight of the triangle multiplied by 100.

The current attribute contexts supported when emitting from a surface are:

  • vertex: the weight of a triangle is the average of the weights of its three vertices.

  • polygon: the weight of a triangle is the value of the attribute at the center of the triangle.

  • polynode: the weight of a triangle is the average of the weights of its three polynodes.

Explore

Click to select the reference from an explorer. You can only choose attributes that are valid at the generated locations.

Pick

Click to launch a picking session and select a reference from a viewport or explorer.

Invert

Inverts the effect of the filter, so that the actual filter will be 1 minus the value of the attribute.

Rate Control

How the rate is interpreted when a filter attribute is specified

  • Exact Rate: the exact number of particles specified Number of Actors will be generated, but only from the area where the filtering condition is satisfied.

  • Proportional to Filtered Area: the number of particles is reduced proportionally to the area that satisfies the filtering condition.

Seed

This number is used as the basis for the random generation of particles. If two different particle emitters use the same seed, you may get identical results in their emission. Change the seed value to get a different random generation of particles.

Search Radius

The cutoff distance for determining whether particles are too close.

Repulsion Factor

A factor that modulates the amount that particles push each other away based on their size.

Boundary Constraint

Constrains particles to the closest point on the emitter, if they get pushed off it.

Max Iterations

The maximum number of times to iteratively spread out the particles.

Delete Outside Boundary

Deletes particles if they have been pushed off the emitter, after all the spreading has been performed.

Wall Push Factor

The distance to push particles that are too close to walls. See Avoiding Collisions with Obstacles (Walls).

Initial Values

Note that some of these values are standard particle attributes and are not necessarily useful in CrowdFX simulations, in which the particles are not meant to be rendered but simply to define the positions of the actors.

Mass

Defines how much matter the particles have. The value is in kilograms (kg). The mass is used to determine how the particles are affected by forces and other physical effects. Particles with higher mass values require larger forces to modify their motion.

This attribute is not used by default in CrowdFX simulations.

See ICE Particle Mass for more information.

Size

For non-crowd clouds, this attribute defines how large the particle is. This value is the particle radius, but the particle display size is the diameter. For example, if the Size value (radius) is 1, the diameter (display) size is 2. Some compounds use the Size value to help with collision detection or to define motion, such as Bounce Off Surface or Stick to Surface, for example. See ICE Particle Size for more information.

For CrowdFX simulations, this attribute controls the size of the actors as well as the particle that tracks their positions.

Color

Defines the initial particle color as displayed in the viewport. Set the color value using the standard color sliders and color box.

Rendered particles do not use the particle color values unless you've set up the shader to do so, such as with an Attribute_Color shader.

See ICE Particle Color for more information.

Orientation

Defines the orientation of particles when emitted.

For CrowdFX simulations, only rotations about the Y axis (0, 1, 0) are valid.

For other purposes, the particle's orientation stays the same over its lifetime unless some force changes it. See ICE Particle Orientation for more information.

Shape

In general, this attribute defines how the particle shape is drawn on screen. For CrowdFX simulations in particular, this is the shape of the particles that indicate the actors' positions and is not rendered.

You have a selection of different methods for displaying particles: point, segment (trails), disc, rectangle, sphere, box, cylinder, capsule, cone, and blob.

  • If you select Blob or Capsule, they are displayed as spheres in the viewport. You must render them to see their true shape.

  • To display trails, select Segment.

  • To render sprites, select the Rectangle shape.

  • If you want particles to collide with an obstacle, they require a shape that has 3D geometry, such as a sphere, box, cylinder, capsule, or cone.

See ICE Particle Shapes for more information.

Scale

Sets the particles' Scale attribute, which allows for non-uniform scaling applied on top of Size. In general, this is used for display, rendering, and some collision algorithms. For CrowdFX simulations, this is also used to scale the actors.

Up Vector

Sets the particles' PointUpVector attribute. CrowdFX simulations reset this value to the global +Y.

State

When using the State nodes to define particle behavior, this value defines which state the particles will be using when created.

This value is not used by default in CrowdFX simulations.

See Setting the Particle's State ID for more information.

On Creation1

You can plug in nodes that have Execute output ports. These ports only get executed once when a particle gets created.