Group
particle node
Creates and/or combines named groups of particles.
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.
Grouping rules
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 initial group (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 = !initial).
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 generated by 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 initial_group2 node creates the firsttrail group with rule $LIFE >= .4 (that is, the logical inverse of the rule for initial).
Parameters
|
Activation |
Turns the POP on and off. |
Create
|
Source Group |
Subset of points to act on. |
|
Group Name |
Name of the new group to create from the points. |
|
Preserve Group |
Append particles to the group if it already exists, instead of replacing its contents. |
Rule
|
Enable |
Turning on this checkbox puts particles in the new group based on an expression. |
||||||||
|
Predefined rules |
Use the items in this menu to fill in the Rule field with a predefined, commonly-used rule. Note
The list of predefined rules is specified by $HFS/houdini/POPGroupRules.
|
||||||||
|
Rule |
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. |
Bounding
|
Enable |
Turning on this checkbox puts particles in the new group if they are inside a bounding volume. |
||||||||
|
Bounding Type |
The shape of the bounding volume.
|
||||||||
|
Center |
Center of bounding box/sphere, when Bounding type is “Bounding box” or “Bounding sphere”. |
||||||||
|
Size |
Size of bounding box/sphere, when Bounding type is “Bounding box” or “Bounding sphere”. |
||||||||
|
SOP |
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. |
||||||||
|
Density Minimum |
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. |
Generator
|
Enable |
Turning on this checkbox puts particles created by certain generators in the new group. |
|
Generators |
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. |
Random
|
Enable |
Turning on this checkbox sorts particles into groups. |
|
# 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. |
|
Group Index |
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:
|
Instances
|
Enable |
Turning on this checkbox puts particles in the new group based on the value of their |
|
Instances |
Groups particles whose |
Combine
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.
|
(top row) |
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
|
||||||||||
|
(additional rows) |
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
|
Select
|
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 Group |
Select this group, when Select group in detail is on. |
Local variables
Standard POP local variables
|
AGE |
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. |
|
DEAD |
Point is dead. |
|
ITER |
Processing iteration number. |
|
JUSTHIT |
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. |
|
LIFE |
Percent of total life used (from 0 to 1). |
|
LIFESPAN |
Expected lifetime of particle. |
|
MAPU MAPV MAPW |
Point or vertex texture coordinates. |
|
NPT |
Total number of points. |
|
NGRP |
Total number of points in source group. |
|
NX NY NZ |
Normal vector. |
|
PT |
The point number of the currently processed point. The |
|
RESTX RESTY RESTZ |
The rest position. |
|
SLIDING |
The sliding state of the particle. |
|
SPRINGK |
Elasticity of a point. |
|
STOPPED |
Point is stopped. |
|
STUCK |
1 if particle is stuck to a collision object. |
|
TENSION |
Spring tension. |
|
TIMEINC |
Time increment. |
|
TX TY TZ |
Point position. |
|
U V |
Surface UV values. |
|
VX VY VZ |
Velocity direction. |
|
WEIGHT |
Point spline weight. |
Added by Collision POP/Limit POP
|
DIST |
Distance from particle to last collision. |
|
HCR HCG HCB |
Diffuse color at the collision point on the surface the particle collided with. |
|
HITID |
ID for last collision. You can control how this attribute is set in the Collision or Limit POP to help distinguish types of collisions. |
|
HITTIME |
The time at which the last collision occurred. |
|
HMAPU HMAPV |
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. |
|
HU HV |
The UV coordinates for the surface location where the last collision occurred. |
|
NUMHIT |
Number of times the particle has collided. |
Added by Color POP
|
CA |
Point or vertex alpha value. |
|
CR CG CB |
Diffuse point or vertex color. |
Added by Property POP
|
ATTRACT |
Attractor point. |
|
CHARGE |
Charge of the particle. |
|
CLING |
Point is clinging to geometry. |
|
DRAG |
Point drag. |
|
FOLLOW |
Leader to follow. |
|
MASS |
Point mass. |
|
PSCALE |
Particle Scale. |
|
SCALEX SCALEY SCALEZ |
Non-uniform scale. |
Added by Proximity POP
|
NEAREST |
Either the point number or id of the particle nearest to this one. |
|
NEARESTDIST |
The distance to the nearest particle. |
|
NUMPROXIMITY |
The number of particles within a specified proximity to this particle. |
Added by Rotation POP
|
ROTA |
Rotation angle. |
|
ROTX ROTY ROTZ |
Rotation axis. |
Added by Source POP
|
GEN |
Generation. |
|
ID |
ID number, which always remains constant. |
|
ORIGIN |
Original Source point was birthed from. |
|
PARENT |
Parent’s ID Number. |
Added by Speed Limit POP
|
SPEEDMAX |
Maximum speed. |
|
SPEEDMIN |
Minimum speed. |
Added by Sprite POP
|
SROT |
Sprite rotation around view axis (in degrees). |
|
STEXU STEXV |
Texture coordinate of sprite’s lower-left corner. |
|
STEXW STEXH |
Size of sprite in texture space. |
|
SX SY |
Sprite scale. |
Controlled by Suppress Rule POP
|
SUPPPOS |
Suppress default position rule. |
|
SUPPVEL |
Suppress default velocity rule. |
|
SUPPUP |
Suppress default up-vector rule. |
|
SUPPAGE |
Suppress default aging rule. |
|
SUPPROT |
1 if particle is suppressing its default rotation rule. |
|
SUPPANGVEL |
1 if particle is suppressing its default angular velocity rule. |
Added by Up Vector POP
|
PVX PVY PVZ |
Previous velocity. |
|
UPX UPY UPZ |
Up vector. |
Added by Location, Source, Softbody, Split POPs
|
SPEED |
Absolute speed of particle. |
Example files
GroupColor
$HFS/houdini/help/examples/nodes/pop/group/GroupColor.cmd
This example demonstrates how the Group POP can group particles by different criteria. These criteria include Rule, Generator, Bounding Box, and Random.
Particles are colored using the Color POP to visualize the designated criteria.
Usages in other examples
| Example name | Example for | |
|---|---|---|
| SplitSelf |
Split particle node |
|
| FireworksSetup |
Split particle node |
|
| NewGroupiesRavage |
Follow particle node |
|
| Lemmings |
Follow particle node |
|
| FlockOnPath |
Follow particle node |
|
| FollowInteract |
Follow particle node |
|
| AttractToRing |
Attractor particle node |
|
| SoftBodySheet |
Soft Body particle node |
|
| Swarm |
Property particle node |
|
| MultiAxisOrbiting |
Orbit particle node |
|
| Orbit |
Orbit particle node |
|
| InstanceCoils |
Instance particle node |
|
| Instance |
Instance particle node |
|
| InstanceBounce |
Instance particle node |
|
| Capture |
Collision particle node |
|
| Meteor |
Collision particle node |
|
| DrainExample |
Particle Fluid Emitter dynamics node |
|
| ParticlesAndCloth |
Particle Fluid Solver dynamics node |
|
| TankDrain |
Particle Fluid Sink dynamics node |
|
| DrainExample |
Particle Fluid Sink dynamics node |