POPX

Infection Falloff

v1.3.0
Falloffs

Summary

The Infection Falloff creates dynamic, simulation-based falloff patterns by propagating values across geometry using infection-style spreading algorithms. Starting from seed points or regions, the infection spreads to neighboring points based on proximity or connectivity, creating organic growth patterns.

Supports both radius-based and connectivity-based infection methods, with control over infection rate, dissipation, resistance, and reinfection behavior. Distance-weighted spreading creates natural falloff gradients, while the simulation can be played, stepped, or controlled manually for precise timing.

Multiple Seed Fields: Seeds can be specified via the Seed POP parameter or Input 1, where each point defines a separate seed field - one point per seed. The attributes of the seed POP are named the same as parameter tokens in the Infection Falloff operator, and override the parameters for each seed. You need only to create a Point POP with attributes named as the Infection Falloff parameters, and then add a point per seed, and set their values. (An attribute P will override the Position parameter, and an attribute radius will override the Radius parameter.) Alternately you can generate points procedurally with attributes that match the Infection Falloff parameter names.

Optional transition ranges provide smooth seed boundaries, and the result can be combined with existing falloff attributes, previewed with color ramps, and optionally enhanced with procedural noise.

Parameters

GroupGroup
If there are input groups, specifying a group name in this field will cause this POPX to act only upon the group specified.
Infect ByInfectby
Method used to determine how infection spreads between points.
RadiusradiusConnectivityconnectivity
DistributionDistribution
Distribution method for radius-based infection.
DefaultdefaultUniqueuniqueClosestclosest
Search RadiusSearchradius
Maximum distance for finding neighboring points to infect (radius mode only).
Max ConnectionsMaxconnections
Maximum number of connections each point can have for infection spreading.
Infection RateInfectionrate
Speed at which infection values spread from infected to uninfected points.
Distance Weighted SpreadDistweight
Enable distance-based falloff for infection spreading, creating smoother gradients.
Weight AmountWeightamount
Strength of distance-based weighting (when Distance Weighted Spread is enabled).
Dissipation RateDissipationrate
Rate at which infection values decrease over time, creating decay effects.
Enable ReinfectionEnablereinfection
Allow previously infected points to be reinfected after dissipation (requires Dissipation Rate > 0).
ThresholdThreshold
Minimum infection value required before a point can be reinfected (requires reinfection enabled).
ResistanceResistance
Resistance to infection spreading, slowing down the infection process.
InitializeInitializepulse
Reset the infection simulation to initial state.
StartStartpulse
Start the infection simulation from current state.
PlayPlay
Continuously run the infection simulation.
StepSteppulse
Advance the infection simulation by one step.
Display Seed SelectionDisplayseed
Visualize the seed selection region for infection starting points.
Enable Dynamic SeedDynamicseed
Allow seed points to change dynamically during simulation.
ThresholdSeedthreshold
Minimum value required for a point to become a seed.
Use Seed AttributeUseseedattr
Use an existing point attribute to define seed values instead of spatial selection.
Seed AttributeSeedattr
Name of the attribute to use for seed values (when Use Seed Attribute is enabled).
Seed POPSeedpop
Reference to a POP containing points to use as seeds when no second input is connected.
PositionPosition
Center position of the seed selection region. Can be overridden per-seed using a P point attribute.
PositionPositionxPositionPositionyPositionPositionz
RadiusRadius
Size of the seed selection region. Can be overridden per-seed using a radius point attribute.
Transition RangeTransitionrange
Determines a transition range for seed fields. Can be overridden per-seed using a transitionrange point attribute.
Transition AlignTransitionalign
Determines a transition offset for seed fields. Can be overridden per-seed using a transitionalign point attribute.
Transition TypeTransitiontype
Determines a transition function for seed fields. Can be overridden per-seed using a transitiontype point attribute.
LinearlinearSmooth StepsmoothstepEase In Ease Outeaseinout
Output Seed AttributeOutputseedattr
Write the seed selection values to an output attribute.
Combine OperationCombineop
Mathematical operation used to combine this falloff with existing falloff values.
AddaddSubstractsubMultiplymultDividedivScreenscreenOverlayoverlayMaximummaxMinimumminSetset
Combine Falloff AttributeCombattrscope
Specifies which falloff attribute to combine with when Combine Operation is not set to Set.
Swap Operation OrderSwaporder
Reverses the order of operands in the combine operation (A op B becomes B op A).
Combine StrengthCombstrength
Blending factor for the combine operation, ranging from 0 (no effect) to 1 (full effect).
Output Falloff AttributeOutputfalloffattr
Name of the attribute where the final falloff values will be stored.
Preview FalloffPreviewfalloff
When enabled, visualizes falloff values using a color ramp.
Falloff RampFallofframp
Color ramp preset used for visualizing falloff values when Preview Falloff is enabled.
HeatmapheatmapBlackbodyblackbodyInfraredinfraredCustomcustom
Open Custom Ramp EditorOpencustumrampeditor
Opens the custom color ramp editor for defining a custom falloff visualization gradient.
Reset Custom RampResetcustomramp
Resets the custom color ramp to its default state.
Apply NoiseApplynoise
When enabled, adds procedural noise to the falloff values for organic variation.
Combine OperationCombineopnoise
How noise values are combined with the base falloff (Add or Multiply).
AddaddMultiplymult
TypeType
Noise algorithm type (Perlin, Simplex, etc.).
Perlin 2D (GPU)perlin2dPerlin 3D (GPU)perlin3dPerlin 4D (GPU)perlin4dSimplex 2D (GPU)simplex2dSimplex 3D (GPU)simplex3dSimplex 4D (GPU)simplex4d
SeedSeed
Numerical value that initializes the randomization.
PeriodPeriod
Period (scale) of the noise field.
HarmonicsHarmon
The number of higher frequency components to layer on top of the base frequency. 0 harmonics give the base shape.
Harmonic SpreadSpread
The factor by which the frequency of a harmonic increases relative to the previous harmonic.
Harmonic GainGain
Amplitude of the Harmonics layered on top of the base frequency.
AmplitudeAmp
The noise values amplitude (a scale on the values output).
ExponentExp
Sets the exponent. The internal value is raised by the power of the exponent.
OffsetOffset
Adds an offset to the resulting value.
Transform OrderXordnoise
Sets the overall transform order for the transformations.
Scale Rotate TranslatesrtScale Translate RotatestrRotate Scale TranslaterstRotate Translate ScalertsTranslate Scale RotatetsrTranslate Rotate Scaletrs
Rotate OrderRordnoise
Sets the order of the rotations within the overall transform order.
Rx Ry RzxyzRx Rz RyxzyRy Rx RzyxzRy Rz RxyzxRz Rx RyzxyRz Ry Rxzyx
TranslateTnoise
Translate the points through the noise space.
RotateRnoise
Rotate the points around the corresponding X, Y and Z axes. Angles are given in degrees.
ScaleSnoise
These three fields scale the Source geometry in the three axes.
PivotPnoise
The pivot point for the transform rotates and scales.
Translate 4DT4dnoise
Translates the points through the 4th noise dimension.
Enable RemapRemap
Enables remapping controls for adjusting falloff value range and distribution.
ClampClamp
When enabled, constrains falloff values to the 0-1 range.
FitFit
Enables remapping of falloff values from an input range to an output range.
Auto Input Min MaxAuto
Automatically determines input range from actual min/max falloff values.
Input MinInputmin
Minimum value of the input range for remapping.
Input MaxInputmax
Maximum value of the input range for remapping.
Output MinOutputmin
Minimum value of the output range for remapping.
Output MaxOutputmax
Maximum value of the output range for remapping.
InvertInvert
Reverses the falloff values (1 - value).
Enable Ramp RemapEnablerampremap
Applies a custom curve defined by a ramp to remap the falloff values.
Open Ramp EditorOpenrampeditor
Opens the ramp editor for defining the custom remapping curve.
Reset RampResetramp
Resets the remap ramp editor.
Custom Ramp TOPCustomramptop
Reference to an external TOP for remap control. When specified, overrides the internal ramp editor.
BypassBypass
Pass through the first input to the output unchanged.
Free Extra GPU MemoryFreeextragpumem
Free memory that has accumulated when output memory has grown and shrunk.
Render PrimitivesRenderprimitives
Toggles rendering of POPX Geometry or shows it as point instances only.
Convert to Point PrimitivesConverttoptprim
Converts points to primitive points when Render Primitives is toggled off.
SRT / RSTSrtrst
Sets the transform order when using POPX Geometry as built-in TouchDesigner instances.

Inputs

Input 0POP
POPX/POP Geometry
Input 1POP
Seed

Outputs

Output 0POP
POPX_out1