Orbit
particle node
Makes particles orbit a center-point.
This operator calculates and applies forces necessary to make particles orbit around a center-point.
You can use the second input to specify the center particles, or use the parameters on the Center tab to choose a group in the first input that will specify the center.
The Center Type parameter on the Center tab let you choose how the center works:
-
You can specify the center with 3D coordinates.
-
The “center” can be a computed point based on the center particles (the spatial center of the leader particles, the center of mass, or the center of density).
-
Each particle in the center stream can be the center for individual particles from the satellite stream. Houdini can automatically assign satellites to centers, or you can set a
orbitattribute on particles to determine which center they will orbit. Use the
Property POP to set the orbit-related attributes on particles.
Orbit works similarly to the
Follow POP, which makes particles follow a leader or leaders.
To help visualize the effect of this operator, turn on the template flag to view the acceleration guides.
This operator modifies the following attribute: accel.
Using Orbit
-
Select the
particle system you want to be affected. -
Click the
Orbit tool on the Drive Particles tab. -
Specify the node settings in the operation controls toolbar or parameter editor.
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. |
Orbit
|
Override Axis |
Use the value of the Axis parameter below instead of the orbit axis attribute if it exists on a particle. |
|
Axis |
A vector to use as the orbit axis, when Override axis is on. |
|
Override Radius |
Use the value of the Radius parameter below instead of the orbit radius attribute if it exists on a particle. |
|
Radius |
Radius of orbit (in units), when Override Radius is on. |
|
Override Speed |
Use the value of the Speed parameter below instead of the orbit speed attribute if it exists on a particle. |
|
Speed |
Speed of the orbit (in RPM), when Override Speed is on. |
|
Scale |
Scaling factor that controls how fast particles move into their proper orbit from their initial position. |
Center
|
Center Group |
Subset of points from the first input to act as centers. You can use this parameter instead of connecting the second (Center) input. |
||||||||||
|
Center Type |
Specifies what the particles orbit around.
|
||||||||||
|
Override Center Point |
Use the value of the Center Point parameter below instead of the orbit center attribute if it exists on a particle, when Center Type is “Center point”. |
||||||||||
|
Center Point |
Point to orbit around, when Center type is “Center point” and Override Center Point is on. |
||||||||||
|
Orbit Index |
(Available when Center type is “Individual Particles”) Controls how the node interprets the Particles that do not have
|
Inputs
|
Orbit |
The particles that will be made to orbit the center or centers. |
|
Center |
The particles that define the center(s) to orbit. If you do not connect this input, you must set the Center Group parameter on the Center tab. |
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
MultiAxisOrbiting
$HFS/houdini/help/examples/nodes/pop/orbit/MultiAxisOrbiting.cmd
This network demonstrates how the Group POP can be used in conjunction with the Orbit POP to create a multi-axis orbiting effect.
The result resembles the classic depiction of orbitting electrons around a nucleus.
The Group POP creates 7 groups each of which allows particles to orbit around specific axes designated by the Orbit POP.
Orbit
$HFS/houdini/help/examples/nodes/pop/orbit/Orbit.cmd
This example demonstrates how the Orbit POP can be used to make a particle system orbit another particle system.
Particle System 1
The source_particle_system_1 POP births a single particle. The orbit1 POP causes this particle to orbit the origin in the XZ-plane. The group1 POP then groups the particle system as “level1”.
Particle System 2
The source_particle_system_2 POP also births a single particle. The group2 POP then groups the particle system as “level2”.
These particle systems are collected by the collect1 POP. The orbit2 POP causes level2 to orbit the center of mass of the level1 particle system.
Particle System 3
The source_particle_system_3 POP also births a single particle. The group3 POP then groups the particle system as “level3”.
This particle system, as well as the combined systems 1 and 2, are collected by the collect2 POP. Finally, the orbit3 POP causes level3 to orbit the center of mass of the level2 particle system.
OrbitAlternate
$HFS/houdini/help/examples/nodes/pop/orbit/OrbitAlternate.cmd
This example demonstrates how the Orbit POP can alter the acceleration of particles to rotate about a single or multiple centers.
It also shows how a Null OBJ can be used to create animation to be referenced at the POP level to create a dynamic network.