Houdini 12 Nodes Particle nodes

Manually set physical attributes.

This operator does not affect particle behavior independently. Instead, you use it to set “physical” attributes such as mass, drag, and charge that control how other operators, such affect the particles.

You can also use this operator to set the follow attribute, which controls which leader a particle follows in the Follow POP, which attractor point affects a particle in the Attractor POP, and which center to orbit in the Orbit POP

This operator modifies the following attributes: attract, charge, drag, follow, mass, oaxis, ocenter, ocntrid, oradius, ospeed and pscale.

Parameters

Activation

Turns this node on and off. The node is only active if this value is greater than 0. This is useful to control the effect of this node with an expression.

Note that this is activation of the node as a whole. You can’t use this parameter to deactivate the node for certain particles.

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.

Physical

The parameters on this tab set attributes corresponding to real world physical properties on the input particles. Other operators use these attributes to simulate the effect of forces on the particles.

Mass

Sets the mass of the input particles.

Changing the mass of a particle scales forces on the particle according to the following formula:

$$F = M * A$$

where F is force, M is mass, and A is acceleration. So, particles with high mass require more force (F) to change their motion.

Center of Mass

Sets the relative position of the center of mass for input particles.

This is a displacement in object space from the origin (0,0,0) of the object. The rigid body particle representing an object is always placed at the origin of the object, which may not be the real center of the geometry. In this case you would specify a center of mass so that the particle behaves as if its center of mass is at the center of the geometry.

Bounce

Sets the bounce coefficient of the input particles.

When two objects collide, the product of the bounce coefficients of the objects determines the energy lost to the collision (and so the velocities of the object after the collision).

Dynamic Friction

Sets the attribute controlling friction between two moving rigid body particles.

When two objects are in contact and sliding across each other, the product of their dynamic friction values determines the force of friction acting against the sliding motion.

Static Friction

Sets the attribute controlling friction between two stationary rigid body particles

When two objects are in contact and relatively at rest, the product of their static friction values determines the amount of force required to induce a relative (sliding) motion of the objects.

Orbit

The parameters on this tab control how the input particles orbit a center in the Orbit POP.

Axis

The axis around which the particle rotates (a vector normal to the plane of rotation).

Center

3D point to orbit. The interpretation of this value is controlled by the Orbit POP.

Radius

Radius of the orbit in units.

Speed

Speed of the orbit in RPM.

Orbit Index

ID of the point in the “Center Group” to be used as the center of orbit. The interpretation of this value is controlled by the Orbit POP.

Misc

The parameters on this tab set attributes used by the Attractor POP, Follow POP, Interact POP, and other operators.

Follow Index

The ID of the particle to follow. The interpretation of this value is controlled by the Follow POP.

Attractor Point

The point that attracts/repels the particle in the Attractor POP.

Charge

The positive or negative “electrical charge” of the particle in the Interact POP. Particles with opposite charges attract, and particles with like charges repel.

Uniform Scale

Sets a scaling factor for the input particles. This may be used by the Interact POP to determine the size of the particle’s field of influence on other particles, and by the Render POP to control the rendered size of particles.

Scale

Sets non-uniform scaling factors for the input particles.

Drag

Sets the drag attribute of the input particles. Other operators use this attribute to control how forces affect the particles.

Cling

Sets the cling factor, used when the particles are sliding.

Note

Cling is implemented as a force that acts to counter forces pulling the particle away from the surface. Cling is not applied if there is no force to counter. Sliding particles apply friction to act against the tangential motion of the particle.

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 PT is not constant like ID; it changes based on the number of points.

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.

Examples

The two systems are combined with the collect1 POP. The orbit1 POP makes both particle systems orbit about their combined center of mass. None of the overrides (for axis, radius and speed) are set so that the individual attributes can be used for each particle.

As the animation plays, change the mass of the heavy particle in the property1 POP to see the effect on the center of the orbit. Also try changing the Center Type setting in the orbit1 POP to Spatial or Density Center to see the effect.

Load | Launch

.../examples/nodes/pop/property/Swarm.cmd

This network utilizes the Property POP to give particles certain Orbit attributes which in turn are referenced by the Orbit POP. A Mass value, for example, is one of the attributes that can be assigned by the Property POP. Here, one particle is given a much greater mass hence affecting the orbiting motion of all the other lighter particles.

The greater the mass of a particle, the less other forces (including those from other particles) can influence it.

There are two particle systems in this example:

Particle system 1

The source1 POP births several particles, with a random forward velocity. The property POP gives the particles orbit attributes oaxis, oradius and ospeed. These attributes are only useful in conjunction with the Orbit POP. The orbit axis is oriented along the z-axis, with some variance. The expression rand($ID) is used to generate a random number that is unique per particle, but remains constant throughout the animation. The orbit radius also uses this expression to assign a radius between 1 and 1.5 units. The orbit speed is proportional to the orbit radius. The group1 POP groups this particle system as “light”.

Particle system 2

The source2 POP births a single particle, with a random forward velocity. The property1 POP is used to assign a mass of 20 to this particle. This is done so that when this system is combined with the first system, the center of mass will be closer to this particle. The property2 POP gives the particle an orbit axis oriented along the z-axis, an orbit radius of 1 unit, and an orbit speed of 10 RPM. The group2 POP groups this particle system as “heavy”.

Examples that use this node

Example forExample name
AttractorLoad | Launch

.../examples/nodes/pop/attractor/AttractToGrid.otl

FollowLoad | Launch

.../examples/nodes/pop/follow/FollowInteract.cmd

FollowLoad | Launch

.../examples/nodes/pop/follow/SplitAndStick.cmd

InteractLoad | Launch

.../examples/nodes/pop/interact/Disperse.cmd

OrbitLoad | Launch

.../examples/nodes/pop/orbit/OrbitAlternate.cmd

RotationLoad | Launch

.../examples/nodes/pop/rotation/RotateBasic.cmd

SplitLoad | Launch

.../examples/nodes/pop/split/RecursiveSplit.otl

Add AttributeLoad | Launch

.../examples/nodes/vop/addattrib/pscaleVOPSOP.otl