interface version 1
Scatters points along the motion trail of a geometry (for particle/fluid emission).
This node is a general-purpose particle emission helper, to support artifact-less emission from geometry. It works with all particle types (regular POP, particle fluids, etc.) It’s also a intended as a direct replacement for flip fluid emitter SOPs.
Continuous particle emission
This operator scatters points along the motion trail of an animated or deforming geometry. The motion trail segment length is one frame long by default (when no substepping involved).
The generated trail-scattered points can be used as emission source to get a continuous particle stream (as opposed to emitting directly from the surface, which will results in the usual “segmented emission” artifact).
The trail is calculated using cardinal interpolation, so it always produces nicely curved trails that follow the curvature of the geometry’s movement.
A very important aspect is that there’s no need to use substepping at all to get a continuous emission. (Also, keep in mind that substepping only reduces the problem but doesn’t eliminate it.)
This node also provides support for implementing subframe-accurate particle emission and death
(e.g. for particle simulations that has to be timewarped or retimed into slow-motion).
It can generate subframe-accuracy attributes to be inherited by particles
(birthtime
and phase
, the latter being the fractional sub-frame birth time).
Tip
This node is faster, more controllable, and gives more accurate results than the built-in (volume-based) FLIP fluid emitters (in Houdini 12.0.xxx).
To use it with particle fluids, create the fluid emitter as usual (from the shelf), then replace the fluid source SOP with this node.
Drawbacks
Speed —
To get those nicely-curved, cardinal-interpolated trails, the input geometry is sampled at 3 different time samples, which can be expensive. If the geometry input is built from lots of SOPs, it’ll be faster if cached before wiring it into the Trail Scatter SOP (e.g. with a Cache or a Waypoint qL SOP node).
Topology —
This operator doesn’t support geometry with changing topology. As an alternative, the PointJitter qL SOP can be used to jitter the source geometry along its velocity vectors, before using it as an emitter.
For the same reason the
Scatter based on primitive area
toggle is also not recommended – the scattered point locations change so much from frame to frame that the Trail Scatter can’t construct a valid trail. (It might work for non-deforming geometry, though.)
Parameters
Scatter |
See the Scatter SOP help for other parameter descriptions. (Note that for deforming geometry it’s usually better to turn off Scatter Based on Primitive Area.) | ||||||||
Interpolator |
| ||||||||
Segment | Parameters for controlling the generated trail.
| ||||||||
Attributes | Additional generated attributes on the trail points.
| ||||||||
Velocity Components | Controls for the velocity values generated on the points of the trail scatter.
(It is a weighted sum of multiple velocity sources – make sure the sum of the
weights (“%”) doesn’t exceed
Note If not set properly, these settings can re-introduce some of the “segmented emission look” or similar artifacts. In non-trivial cases some trial-and-error experimenting might be needed to get the desired look. (As a guideline, stick to either Emit or Input velocity and don’t mix them if possible.) |
----
pros:
emission from the generated point cloud gives gap-free emitted particles;
calulates velocity vectors both for obj and sop level transformations;
it is faster and more accurate fluid emitter than the built-in one;
practical
cons/bugs:
(FIXED) animated 'seed' value is not yet supported
(FIXED) forwards/backwards get screwed up at substep 5, 10, (...)
'fix': hackety-hack at world_space/emitter_source_worldspace/slice param
should be okay up to about 20 substeps ( blame floating point! :( )
To Do
jitter points along resulting velocity vectors
make sure emitter velocity has the same magnitude, independent of any substep settings (i think its ok)
velocity scale parameters should work in the negative range as well
Release Notes
interface version 1 —
2014-02-07 |
|
2014-01-15 |
|
2013-05-03 |
|
2013-05-01 |
|
older versions —
Version 0.0.2 | Added support for creating birth time and birth phase attributes on the generated points (allows for subframe-exact particle interpolation). |
Version 0.0.1 | The first version included in qLib. |