- Geometry
- Solvers
Ripple
Purpose
Section titled “Purpose”Ripple simulates waves on a heightfield over an XZ plane. Use it for pond rings, rain, interference and plucked surfaces. Each grid location has one height, so this is a surface-wave solver without overturning waves or detached liquid particles.
Place Ripple in the Geometry view, under Solvers. Start with the default 256 by 256 grid over a 4 by 4 world area. Seed Splash On Build gives an initial disturbance. Press Drop to add a central splash, or raise Rain Rate for repeated drops.
For impacts from another node, select its points resource in Resources > Connections. To add an obstacle, connect an sdf resource and change Obstacle from Off to Reflect off SDF or Confine inside SDF.
Inputs and outputs
Section titled “Inputs and outputs”The solver publishes the field0 height field and displaced surface points. The additional point output P_2 carries the per-point color data in the current declaration.
Connect the height field to Rigid’s field input to try buoyancy. Enable Buoyancy on Rigid and align its Water Level and Water Height Scale with the Ripple surface. This connection lets Rigid read the water; impacts back into Ripple need their own points connection.
Controls
Section titled “Controls”- Grid Cells and World Size set sampling density. Rest Plane Y positions the surface and Height Scale scales its displacement.
- Wave Speed controls propagation. Damping controls decay. Max Substeps limits the stability substeps, so check the reported effective speed when pushing speed or grid density.
- Source Strength and Source Radius control disturbances. Rain Rate is drops per second, with Rain Strength set separately.
- Boundary offers Reflect, Absorb, Wrap and Fixed 0. Absorb Band controls the width of the open-water damping region.
- Trough Colour, Crest Colour and Foam Colour shape the point colors. Foam Amount is a color effect on the surface, not a separate whitewater simulation.
- Simulate pauses advancement. Reset restarts the surface; Seed Splash On Build determines whether a new initial splash appears. Rebuild applies pending grid changes when Auto-Rebuild is off.
Choose Absorb when reflected waves from the edge distract from the impact. Wrap connects opposite boundaries and is useful for repeating patterns.
The height field and displaced points are resources for downstream use. The current polygonal Path Trace workflow does not turn the height field into a water material or mesh by itself.
Inputs
-
geometrypoints -
sdfsdf collider -
pointspoints
Outputs
-
field0height field -
Ppoints -
P_2points
Parameters
Section titled “Parameters”Ripple
op('ripple').par.Autorebuild - Default:
On- Options:
- Off, On
op('ripple').par.Rebuildnow - Default:
None
op('ripple').par.Simulate - Default:
On- Options:
- Off, On
op('ripple').par.Resetsolver - Default:
None
Domain
op('ripple').par.Gridx - Default:
256- Range:
- 8 to 4096
op('ripple').par.Gridz - Default:
256- Range:
- 8 to 4096
op('ripple').par.Worldsizex - Default:
4- Range:
- 0.05 to 200
op('ripple').par.Worldsizez - Default:
4- Range:
- 0.05 to 200
op('ripple').par.Floory - Default:
0- Range:
- -100 to 100
op('ripple').par.Heightscale - Default:
1- Range:
- 0 to 20
op('ripple').par.Seedsplash - Default:
On- Options:
- Off, On
op('ripple').par.Rebuild - Default:
None
Solver
op('ripple').par.Wavespeed - Default:
1- Range:
- 0 to 40
op('ripple').par.Damping - Default:
0.2- Range:
- 0 to 20
op('ripple').par.Substeps - Default:
4- Range:
- 1 to 32
op('ripple').par.Drop - Default:
None
Source
op('ripple').par.Hdrsrc Read only.
- Default:
"" (Empty String)
op('ripple').par.Sourcestrength - Default:
1- Range:
- 0 to 20
op('ripple').par.Sourceradius - Default:
0.1- Range:
- 0.001 to 5
op('ripple').par.Rainrate - Default:
0- Range:
- 0 to 2000
op('ripple').par.Rainstrength - Default:
0.5- Range:
- 0 to 20
Boundary
op('ripple').par.Absorbwidth - Default:
0.1- Range:
- 0 to 0.5
Outputs
op('ripple').par.Heightname - Default:
ripple_height
op('ripple').par.Pointsname - Default:
ripple_points
Color
op('ripple').par.Hdrcol Read only.
- Default:
"" (Empty String)
op('ripple').par.Colorlor - Default:
0.02- Range:
- 0 to 1
op('ripple').par.Colorlog - Default:
0.1- Range:
- 0 to 1
op('ripple').par.Colorlob - Default:
0.3- Range:
- 0 to 1
op('ripple').par.Colorhir - Default:
0.55- Range:
- 0 to 1
op('ripple').par.Colorhig - Default:
0.85- Range:
- 0 to 1
op('ripple').par.Colorhib - Default:
1- Range:
- 0 to 1
op('ripple').par.Foamtintr - Default:
1- Range:
- 0 to 1
op('ripple').par.Foamtintg - Default:
1- Range:
- 0 to 1
op('ripple').par.Foamtintb - Default:
1- Range:
- 0 to 1
op('ripple').par.Foamamount - Default:
0.5- Range:
- 0 to 20