> modifiers

Relax

modifiers/relax·v1.3.0
IN:1  OUT:1

The Relax applies a relaxation algorithm to spread instances apart and prevent overlaps. It uses iterative solving to push overlapping instances away from each other, creating more evenly distributed spacing.

Optionally provide constraint geometry (surface) or a constraint volume (3D texture) to keep instances from flying off into space. Supports two solver modes: Simple for immediate single-frame relaxation, and Advect for progressive time-dependent solving.

Supports two methods: Neighbor (searches for nearby instances within a radius) and Field (uses a voxel-based field approach). Considers the PointScale attribute of each instance as its radius for overlap detection. If there is no PointScale attribute, the radius defaults to half of the search radius. Optional falloff-based modulation enables spatially varying relaxation effects.

PAGERelax
GroupGroupIf there are input groups, specifying a group name in this field will cause this POPX to act only upon the group specified.
Target Points Update POPPointsupdatepopReference to a POP node downstream in the network when Solver Mode is set to Advect. This reference will cause a feedback loop and re-injects the points next frame.
Do FalloffDofalloffEnables falloff-based modulation of the relaxation effect.
Falloff AttributeFalloffattrSpecifies which attribute to use for falloff values that modulate the relaxation strength.
Affect PositionAffectpositionEnables relaxation forces to affect instance positions.
Relax IterationsRelaxitersNumber of relaxation passes to perform per frame. Higher values produce more thorough relaxation but increase computation time.
Override Point RadiusOverrideradiusOverrides the point radius used for overlap detection with a uniform value.
Point Radius ScaleRadiusscaleScale factor applied to the point radius for overlap detection.
Display Point RadiusDisplayradiusDisplays the point radius as circles in the viewport.
Max Relax RadiusMaxrelaxradiusMaximum search distance for finding neighboring instances. Instances beyond this radius will not affect each other.
DistributionDistributionDetermines the distribution method for neighbor point selection.
Num Hash BucketsNumhashbucketsNumber of hash buckets used for spatial hashing in neighbor search.
Max NeighborsMaxneighborsMaximum number of neighboring instances to consider when using Neighbor method.
Max Axis ResolutionMaxaxisresMaximum voxel resolution along the longest axis when using Field method.
Kernel SizeKernelsizeSize of the convolution kernel used for field-based relaxation.
PAGECollisions
PAGERelax
Relax StrengthRelaxstrengthOverall intensity of the relaxation effect. Higher values push instances apart more aggressively.
Attract StrengthAttractstrengthStrength of the attraction force toward the Attract Position.
Output Force AttributeOutputforceattributeOutputs the relaxation force vector as a point attribute.
InitializeInitializepulseResets the Advect solver to initial state.
StartStartpulseBegins Advect solver simulation from the current state.
PlayPlayToggles playback of the Advect solver simulation.
StepSteppulseAdvances the Advect solver by one frame.
PAGECollisions
Collision DampingCollisiondampingAmount of velocity dampening applied when instances collide with the collision geometry.
SolidSolidTreats the collision geometry as a solid volume, preventing instances from passing through.
ProjectProjectProjects instances onto the surface of the collision geometry.
Collision POPCollisionpopReference to a POP containing the collision geometry when using POP collision type.
Collision OffsetCollisionoffsetOffset distance from the collision surface to prevent z-fighting artifacts.
Corner RadiusCornerradiusRadius of rounded corners on the box collision geometry.
Collison TOPCollisontopReference to a TOP texture used as the collision field for SDF and texture collision types.
Use Custom BoundsUsecustomboundsEnables custom bounding box for the collision texture instead of using the texture's native bounds.
PAGECollisions
Uniform ScaleScaleUniform scale factor applied to the collision geometry.
Display GeometryDisplaygeoShows the collision geometry in the viewport for visualization.
PAGECommon
BypassBypassPass through the first input to the output unchanged.
Free Extra GPU MemoryFreeextragpumemFree memory that has accumulated when output memory has grown and shrunk.
Render PrimitivesRenderprimitivesToggles rendering of POPX Geometry or shows it as point instances only.
Convert to Point PrimitivesConverttoptprimConverts points to primitive points when Render Primitives is toggled off.
SRT / RSTSrtrstSets the transform order when using POPX Geometry as built-in TouchDesigner instances.
Input 0 POP POPX/POP Geometry
Output 0 POP POPX_out1