|On this page|
This operator creates groups of particles which you can then reference in subsequent nodes, allowing you to apply node effects to a subset of the entire particle system.
Unlike other types (such as surfaces), particle grouping using the Combine tab applies to all active particles, not just particles in the current branch of the operator hierarchy.
In the example network, initial_group defines an
(using the rule
$LIFE < .4), and a
firsttrail group using the
Combine tab to specify a second group containing any particles not
in the initial group (using the rule
firsttrail = !
Because this branch is eventually merged with another branch (at
collect1), the Combine rule will apply to all particles in both
branches, and so the
firsttrail group will also include particles
source2, which is probably not what you wanted.
To work around this, use two separate Group operators to create the
two groups. In this example, the
initial_group node creates the
initial group with rule
$LIFE < .4 and the
firsttrail group with rule
$LIFE >= .4 (that is, the
logical inverse of the rule for
Turns the POP on and off.
Subset of points to act on.
Name of the new group to create from the points.
Append particles to the group if it already exists, instead of replacing its contents.
Turning on this checkbox puts particles in the new group based on an expression.
Use the items in this menu to fill in the Rule field with a predefined, commonly-used rule.
The list of predefined rules is specified by $HFS/houdini/POPGroupRules.
Particle is dead
The particle is dead.
Particle is stopped
The particle is flagged as being stopped. This is not the same as a particle having zero velocity.
Particle just collided
The particle collided in this timestep. See the
definition of the
$JUSTHIT local variable.
Particle has collided
An input particle has collided at any point in the past.
An expression to evaluate for each input particle. If the expression evaluates to true (that is, non-zero) for a particle, the operator puts the particle in the new group.
Turning on this checkbox puts particles in the new group if they are inside a bounding volume.
The shape of the bounding volume.
Group particles inside the box defined by the Center and Size parameters below.
Group particles inside the ovoid defined by the Center and Size parameters below.
Group particles inside the volume of the surface specified in the SOP parameter below. The behavior of this option is undefined if the surface is not closed.
Group particles inside the volume of the metaball specified in the SOP parameter below, at densities at or above the Density minimum parameter below.
Center of bounding box/sphere, when Bounding type is "Bounding box" or "Bounding sphere".
Size of bounding box/sphere, when Bounding type is "Bounding box" or "Bounding sphere".
Sop containing geometry to use as bounding volume, when Bounding type is "Bounding object" or "Bounding metaball".
Ignore Transform Object
When this option is off, the geometry will automatically be transformed into the space of the object using this POP network. When this option is on, the geometry is not transformed.
When Bounding type is "Bounding metaball", only consider the point to be inside the metaball volume if the density is at or above this value.
Turning on this checkbox puts particles created by certain generators in the new group.
Group particles that were originally generated by these generators. This field can contain a space separated list of paths and/or patterns specifying generator nodes.
Turning on this checkbox sorts particles into groups.
Number of Groups
Number of groups to create. The groups will use the name in the Group name parameter with a number on the end.
For example, if the Group name is
Flock and 5 groups are
requested, the operator will create groups Flock1, Flock2,
Flock3, Flock4 and Flock5 and the particles will be randomly
distributed into the 5 new groups.
Sets the group the particle will be placed into. Normally, particles are sorted into groups in order (the first particle goes into the first group, etc.). You can use a custom expression here to manually determine which group number each particle goes into. If the expression evaluates to a number greater than the value in # of Groups, the number wraps around (that is, the value of the expression is modulo the number of groups).
This has several advantages:
You can use some criterion other than particle order to sort the particles into groups, so particles dying will not shift the group membership of other particles.
You can use the rand function to sort the particles into groups pseudo-randomly.
Turning on this checkbox puts particles in the new group based on the value of their
Groups particles whose
instance attribute matches a value
in this list.
The parameters on this tab let you create a group that is a combination of existing groups, based on boolean operators and combination methods.
Enter the name of the new group to create in the left-hand field on the first row, and the name of the group from which to take particles in the right-hand field (or select Equals All But if you want to start with particles not in the right-hand group).
Once you set up the top row, additional rows become available to further combine and/or filter the contents of the new group.
On the left-hand side, enter the name of the new, combined/filtered group to create.
On the right-hand side, enter the name of the group from which to take particles (or select Equals All But if you want to start with particles not in the right-hand group).
On the right-hand side, enter the name of another group of particles you want to combine with or filter from the new group.
Use the menu on the left side to choose how to combine/filter the groups.
Select With All But if you want to use the complement of the specified group in the operation.
Do not use this row.
Add this group to the new group.
The new group will only contain particles that are also in this group.
Add this group to the new group, but eliminate particles that are in both groups.
The new group will not contain any particles that are also in this group.
Select group in detail
Select the particles in the group specified by the Select Group parameter below. This highlights the particles in the viewer.
Select this group, when Select group in detail is on.
Standard POP local variables
The seconds a particle in the template has been alive.
AX AY AZ
Acceleration of the particle.
BBX BBY BBZ
The point’s relative position in the bounding box.
Point is dead.
Processing iteration number.
A collision for this particle was detected (for example, by the Collision POP) during the processing of this timestep (that is, this iteration of the particle simulation). This variable is cleared at the beginning of each timestep. Note that the collision POP actually detects any collisions which would have occurred the during the previous frame.
Percent of total life used (from 0 to 1).
Expected lifetime of particle.
MAPU MAPV MAPW
Point or vertex texture coordinates.
Total number of points.
Total number of points in source group.
NX NY NZ
The point number of the currently processed point. The
PT is not constant like
ID; it changes based on the number of points.
RESTX RESTY RESTZ
The rest position.
The sliding state of the particle.
Elasticity of a point.
Point is stopped.
1 if particle is stuck to a collision object.
TX TY TZ
Surface UV values.
VX VY VZ
Point spline weight.
Distance from particle to last collision.
HCR HCG HCB
Diffuse color at the collision point on the surface the particle collided with.
ID for last collision. You can control how this attribute is set in the Collision or Limit POP to help distinguish types of collisions.
The time at which the last collision occurred.
The texture map UV coordinates for the surface location where the last collision occurred.
HNX HNY HNZ
The normal at the surface location where the last collision occurred.
HTX HTY HTZ
World space position of the last collision.
The UV coordinates for the surface location where the last collision occurred.
Number of times the particle has collided.
Added by Color POP
Point or vertex alpha value.
CR CG CB
Diffuse point or vertex color.
Added by Property POP
Charge of the particle.
Point is clinging to geometry.
Leader to follow.
SCALEX SCALEY SCALEZ
Added by Proximity POP
Either the point number or id of the particle nearest to this one.
The distance to the nearest particle.
The number of particles within a specified proximity to this particle.
Added by Rotation POP
ROTX ROTY ROTZ
Added by Source POP
ID number, which always remains constant.
Original Source point was birthed from.
Parent’s ID Number.
Added by Speed Limit POP
Added by Sprite POP
Sprite rotation around view axis (in degrees).
Texture coordinate of sprite’s lower-left corner.
Size of sprite in texture space.
Controlled by Suppress Rule POP
Suppress default position rule.
Suppress default velocity rule.
Suppress default up-vector rule.
Suppress default aging rule.
1 if particle is suppressing its default rotation rule.
1 if particle is suppressing its default angular velocity rule.
Added by Up Vector POP
PVX PVY PVZ
UPX UPY UPZ
Absolute speed of particle.