Limit
particle node
Creates collisions when particles reach a limit boundary.
See also: Collision, Soft Limit
This operator is very similar to the Collision POP, but instead of detecting collisions with geometry, this operator detects particles colliding with a limit boundary.
Use the parameters on the Attribute tab to store information in the colliding particles' attributes about the collision. With the exception of the distance attribute, these attributes are not set unless a collision has occurred.
Turn on the node’s template flag to display the limit boundary as guide geometry in the viewer.
This operator modifies the following attributes: accel, dist, hitCd, hitN, hitid, hitpos, hitposuv, hittime, hituv, numhit.
Parameters
|
Activation |
Turns this node on and off. The operator is only active if this value is greater than 0. This is useful to control the effect of this node with an expression. |
|
Source Group |
Only affect a group of points (created with, for example, a Group POP or Collision POP) out of all the points in the input. |
Limits
The parameters on this tab define the shape and size of the limit boundary. Use the Behavior tab to define what happens when particles hit this boundary.
|
Type |
Shape of the limit boundary.
|
||||
|
+Limit |
One corner of the limit’s bounding box. This value should be in the positive quadrant (that is, the X, Y, and Z components are all positive). |
||||
|
-Limit |
The other corner of the limit’s bounding box. This value should be in the negative quadrant (that is, the X, Y, and Z components are all negative). |
Behavior
|
Behavior |
Controls how the motion of particles is affected by the collision.
|
||||||||||||
|
Collision Event |
Generate this event when any point collides with the target geometry. |
||||||||||||
|
Collision Group |
The name of a group that will be created to contain the particles that collided. Subsequent operators can use this group to select the particles to affect. |
||||||||||||
|
Preserve Group |
If the group named in the Collision group parameter exists, add the collision particles to the group instead of replacing its contents. |
||||||||||||
|
Use as Hit ID |
Controls what Houdini sets as the “hit ID” (the identity of the geometry the particle collided with). This lets you distinguish a particle that collided in this POP later.
|
||||||||||||
|
Hit Index |
Number to set in the “hit ID” of collision particles. This lets you distinguish different types of collisions. |
||||||||||||
|
Oversampling |
Available when Hint (on the Collision tab) is Translating Geometry. Oversamples the motion of the geometry for more accurate collisions. |
||||||||||||
|
Bounce Accuracy |
Available when Behavior is Bounce on collision. The maximum number of inter-frame bounces a particle will perform. |
||||||||||||
|
Gain Tangent |
Energy loss tangent to collision. |
||||||||||||
|
Gain Normal |
Energy loss normal to collision. |
||||||||||||
|
Final Behavior |
You can optionally choose a different behavior to use when a particle’s impulse falls below a minimum. For example, if you want particles to stop instead of traveling imperceptibly slowly, set Final behavior to Stop and Minimum impulse to a low number. |
||||||||||||
|
Minimum impulse |
Available when Final behavior is not Bounce on collision. The impulse value below which a particle will switch to using Final behavior parameter. |
Attributes
This tab contains checkboxes for the different attributes you can have set on particles when they collide with the target geometry.
|
Add Num Hit Attribute |
Number of times collided ($NUMHIT). |
|
Add Hit ID Attribute |
Hit ID ($HITID). |
|
Add Hit Time Attribute |
Time of collision ($HITTIME). |
|
Add Hit Position Attribute |
Position in space where collision occurred ($HT{XYZ}). |
|
Add Hit Position UV Attribute |
Parametric position on surface where collision occurred ($H{UV}). |
|
Add Hit Normal Attribute |
Normal where collision occurred ($HN{XYZ}). |
|
Add Hit Diffuse Color Attribute |
Diffuse color at collision ($HC{RGB}). |
|
Add Hit Texture UV Attribute |
Texture uv at collision ($HMAP{UVW}). |
|
Add Distance Attribute |
Distance from current position to collision ($DISTANCE). |
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
Limit_DONE
$HFS/houdini/help
This files demonstrates a basic use of the Limit POP.
The Limit POP places a boundary around the particles, either in the shape of a box or a sphere. The size of these boundaries can also be animated.
An attribute, such as color in this example, and the grouping information provided by the Limit POP can be used by Color and Split POPs to affect the look and the behavior of the particles.
Usages in other examples
| Example name | Example for |
|---|