Houdini 12 Nodes Surface nodes

Creates simple particle simulations without requiring an entire particle network.

This node lets you set up a simple particle network quickly, without having to create a particle network and particle nodes.

While you can’t create simulations anywhere near the complexity of a real particle network, you can easily create simulations that are very common and useful, such as snowfall or sparks, as well as very interesting deformations.

This node lets you:

  • Birth points from the points in the geometry connected to its first input and simulate them as if they were particles, OR move the points of the input geometry as if they were particles.

    The first input must be connected for the node to work.

  • Add an external force (like gravity) in one direction, and a wind (pushes particles up to but not beyond a certain speed) in another direction.

  • Connect collision geometry to the second input to have the particles bounce off it.

  • Set particles to either bounce off of, or die at, a bounding box.

Particles have various attributes that regular geometry does not have, such as: velocity, life expectancy and age. These attributes are carried with each point in order to carry out the simulation.

Inputs

Particle Source

Any geometry with points, e.g. polygon sphere, mesh. The points in this geometry become particles.

Collision Object

This input defines an object for the particles to collide with. When this happens, the particles can either die, stick or bounce, or spawn new particles. It is important to note that when the collision object is deforming, collision detection may fail, causing some particles to “leak through” the collision object.

Force

The Force input accepts input from a Force op which uses a metaball shape as a force field allowing particles to be sent into vortices or accelerated along an axis. Refer to the Force SOP for further explanation.

Note

The Particle op will use point normals as initial particle velocity if point normal attributes exist and there are no point velocity attributes in the incoming data. If you add velocity attributes to the points, the point normals are ignored.

Parameters

State

Behavior

Type of operation to perform.

Point Reuse

How to reuse the points from the input geometry. The first two options behave differently only when modifying source geometry.

StartTime

Time at which the simulation resets.

Preroll Time

At start time, simulation has already been running this long.

Time Inc

Time increment to use for each step of the particle simulation. Decrease to get sub-frame cooking.

Jitter Births

Jitters pixels of particles at birth.

Accurate Moves

Particles move more accurately.

Remove Unused points

Removes unused points from input geometry.

Attractor Use

How the attractor points affect particles

All points

All points affect each particle

Single point per particle

Only one point affects each particle

Forces

External Force

Force of gravity on particles.

Wind

Wind force acting on particles.

Turbulence

Amplitude of turbulence along axes.

Turb Period

Inverse variance of turbulence in space.

Seed

Seed for random turbulence generator.

Particles

Add Particle ID

Each particle receives a unique ID number.

Add Mass Attribute

Causes particle mass to be calculated.

Mass

Relative mass of each particle.

Add Drag Attribute

Causes drag coefficient to be calculated.

Drag

Drag of each particle.

Birth

Number of particles “born” each second.

Life Expect

How long each particle exists, in seconds.

Life Variance

Variance of the life expectancy in seconds.

Limits

+ Limit Plane, - Limit Plane

Particles die or bounce off limit planes on contact.

Hit Behavior

Whether particles die or bounce on limit planes.

Gain Tangent

Energy loss tangent to the collision.

Gain Normal

Energy loss perpendicular to the collision.

Split

Whether the particle splits upon collision or death.

Min/max splits

Number of particles a particle splits into.

Split Velocity

Base velocity for split particles.

Velocity Variance

Random amount added to split velocity.

Render tab

Particle Type

How the particle is rendered.

Particle Size

How large particles are.

Particle Blur

Length of particle when rendered.

Examples

Load | Launch

.../examples/nodes/sop/particle/FlutteringLeaves.otl

This example demonstrates how to create a fluttering leaf simulation by using the Particle SOP.

It also demonstrates how to use the Point SOP to modify point normals, affecting the velocity and direction of particles. Since particles are actually points in space, the Point SOP is a powerful way to control particle attributes.

Press play to watch the simulation.

Load | Launch

.../examples/nodes/sop/particle/Pscale.otl

This example shows the ability of the Particle SOP to define a default Size for any given birthed particle.

A simple Grid can be used to create a dynamic solution of particles streaming off as if blown by the wind. As these particles leave the grid, their size slowly diminishes, as the particle continues to die.

Load | Launch

.../examples/nodes/sop/particle/ParticleAttractor.otl

This example file demonstrates using a metaball force object in hand with the Particle SOP.

Particles are birthed from the origin and sped towards a still metaball. The metaball has a Force SOP applied to it causing the particles, upon reaching the object, to spread out into space.

This example file demonstrates using the Metaball and Force SOPs to affect particles generated by the Particle SOP.

Particles are birthed from the origin and shot towards a still metaball. The metaball has a Force SOP applied to it causing the particles, upon reaching the metaball, to spread away from it out into space.

Load | Launch

.../examples/nodes/sop/particle/ParticleCollisionBasic.otl

This is a basic example of using the Particle SOP to birth particles at the SOP level, and having the particles collide with geometry.

Load | Launch

.../examples/nodes/sop/particle/ParticleDisturbance.otl

The given example file takes a grid, and using the Particle SOP in combination with the Metaball and Force SOPs, creates a dynamic animation.

A metaball ship jets through space driving particles out of its path along the wake of the ship. With the help of the Force SOP, the metaballs are given the properties necessary to make this reaction possible.

Play the animation to see the full effect.

Load | Launch

.../examples/nodes/sop/particle/ParticleExamples.otl

This example contains five demonstrations of some of the various uses of the Particle SOP.

  • Creep particles along a surface using a the Creep SOP.

  • Group birth particles from a group of points on a surface.

  • Bounce particles.

  • Split particles on contact.

  • Collide particles off a collision object.

  • Birth particles from a moving object.

  • Use a metaball to exert force on a particle.

  • Load | Launch

    .../examples/nodes/sop/particle/ParticleFountain.otl

    This is an example of creating a fountain from several Particle SOPs and basic modeling.

    It demonstrates how to create normal offsets, velocity variances, and collision behaviors to control the motion and look of the particles.

    Load | Launch

    .../examples/nodes/sop/particle/ParticlePusher.otl

    This example uses a Metaball SOP and a Force SOP to push particles side to side as they pass through a particle stream generated by a Particle SOP.

    Particles are birthed in the air off of a sphere, while a metaball passes back and forth through, pushing the particles from its path.

    Play the animation to see the full effect.

    Load | Launch

    .../examples/nodes/sop/particle/ParticleTube.otl

    The Particle SOP enables the creation of particles at the SOP level and allows those particles to directly interact with geometry. Furthermore, these particles are in turn treated as point geometry.

    In this example, particles are both crept along and collided with a collision tube object. It is possible to also manipulate and control particles in SOPs through the adjustment of point normals (including those of the particles).

    Examples that use this node

    Example forExample name
    AttributeLoad | Launch

    .../examples/nodes/sop/attribute/AttributeRename.otl

    CacheLoad | Launch

    .../examples/nodes/sop/cache/SlowParticles.otl

    ClipLoad | Launch

    .../examples/nodes/sop/clip/ClipParticle.cmd

    CopyLoad | Launch

    .../examples/nodes/sop/copy/CopyTemplateAttribs.otl

    CopyLoad | Launch

    .../examples/nodes/sop/copy/ParticleCopyScale.otl

    CreepLoad | Launch

    .../examples/nodes/sop/creep/CreepParticleTubeA.otl

    ForceLoad | Launch

    .../examples/nodes/sop/force/ForceBasic.otl

    MagnetLoad | Launch

    .../examples/nodes/sop/magnet/MagnetBubbles.otl