Skip to content
madphaseBack to website ↗
Contact support ↗

Reaction Diffusion

Grow source-aware chemical patterns such as spots, stripes, labyrinths, coral, and mitosis cells.

Add Reaction Diffusion

Open an image or build the source composition first. Put this effect after the content it should process in stack processing order. Choose Material → Organic → Reaction Diffusion in the effects picker, or search for Reaction Diffusion with Cmd/Ctrl + F. Select the new layer in Layers to open its Effect Panel.

Choose a growth model

Choose Model and a starting pattern, then set Source and Influence for the relationship to the incoming image. Adjust Growth Time to see the pattern develop.

Tune the chemistry

Change Growth Supply, Pattern Decay and the spread controls in small increments. Seed placement and edge behaviour change where growth forms.

Finish the material

Choose Palette or Tint, then use the lighting controls for relief. In Video or Live, animate supported growth controls and play forward to inspect the change.

Reaction Diffusion: source left and current native result right
Source left; Reaction Diffusion result right. Example settings. Source: David Clode (Unsplash).

Edit the shared palette

Set Output to False Colour to show Palette. Colors and Palettes explains adding and moving stops, editing colour and opacity, extracting colours and saving a palette for reuse.

Set an individual colour

Click the relevant colour swatch to open its picker. Colors and Palettes explains colour values, transparency and the canvas sampling controls where available.

Compare and finish

Toggle the layer eye to compare with the incoming composition. Use the Effect Panel footer for opacity and blend mode, or add a mask to limit the affected area. In Video or Live, use the function menu on a supported control to add keyframes or a driver.

Control reference

Show individual controls
ControlWhat it doesValues and animation
Edge BehaviorEdge Behavior: what the chemistry sees past the canvas edgeHold Edge / Wrap Around / Mirror Edge
Default: Hold Edge
Discrete keyframes
Center Seedplant a small V blob at a chosen pointOn / Off
Default: Off
Not keyframeable
Center Seed RadiusSize: radius of the authored seed disk0.005 to 0.1
Default: 0.02
Continuous keyframes
Center Seed XHorizontal position of the additional reaction seed blob, as a fraction of the simulation width.0 to 1
Default: 0.5
Continuous keyframes
Center Seed YVertical position of the additional reaction seed blob, as a fraction of the simulation height.0 to 1
Default: 0.5
Continuous keyframes
Palettefalse-colour palette for the outputAvailable presets
Default: viridis
Discrete keyframes
Tinttint painted over the source where V is highColour
Default: #E8E5DE
Colour keyframes
Pattern Amounthow strongly the composite colour replaces the source0% to 100%
Default: 55%
Continuous keyframes
Background SpreadBackground Spread: how quickly the background field smooths outward0.1 to 2
Default: 1
Continuous keyframes
Pattern SpreadPattern Spread: how quickly the visible activator spreads before forming dots and bands0.05 to 1
Default: 0.5
Continuous keyframes
Step SizeStep Size: how far each solver step jumps; higher is faster but less stable0.5 to 2
Default: 1
Continuous keyframes
Growth SupplyGrowth Supply (F): adds fresh background chemical; paired with Pattern Decay to pick the look0 to 0.1
Default: 0.029
Continuous keyframes
Guide AngleGuide Angle: direction for set-angle growth0° to 360°
Default: 0°
Continuous keyframes
DirectionDirection: optional guide that bends growth across the canvasOff / Follow Image / Set Angle
Default: Off
Discrete keyframes
Guide StrengthGuide Strength: how strongly diffusion follows the direction guide0% to 100%
Default: 0%
Continuous keyframes
Recovery OffsetRecovery Offset: shifts the recovery field's resting state0 to 1.5
Default: 0.7
Continuous keyframes
Recovery PullRecovery Pull: how strongly the pulse pulls back to rest after firing0 to 1.5
Default: 0.8
Continuous keyframes
Baseline ExcitationBaseline Excitation: constant firing pressure across the canvas-1 to 1
Default: 0
Continuous keyframes
Recovery SpeedRecovery Speed: lower values recover slowly and make denser spirals0.001 to 0.5
Default: 0.08
Continuous keyframes
Invert ColormapReverses the direction in which the reaction-diffusion field maps into the selected colour palette.On / Off
Default: Off
Not keyframeable
Invertflip light and dark in the outputOn / Off
Default: Off
Discrete keyframes
Growth TimeHow far the reaction has grown. Animate upward to keep it evolving; looping playback restarts growth1 to 99999
Default: 5000
Discrete keyframes
Pattern DecayPattern Decay (k): removes activator chemical; paired with Growth Supply to pick the look0.04 to 0.075
Default: 0.057
Continuous keyframes
Lightazimuth of the Relief light0° to 360°
Default: 135°
Continuous keyframes
Elevationheight of the Relief light0° to 90°
Default: 45°
Continuous keyframes
Intensitystrength of Relief shading0 to 2
Default: 1
Continuous keyframes
ModelGray-Scott for spots and labyrinths, FitzHugh-Nagumo for spiralsGray-Scott / FitzHugh-Nagumo
Default: Gray-Scott
Discrete keyframes
SteerSteer: which simulation value the source image pushes each stepOff / Growth Supply / Pattern Decay / Background Spread / Pattern Spread / Supply + Decay / Pattern Map
Default: Off
Discrete keyframes
SourceSource: which channel of the source drives image influenceLuminance / Red / Green / Blue
Default: Luminance
Discrete keyframes
InfluenceInfluence: how hard the image pulls the chosen value0% to 100%
Default: 30%
Continuous keyframes
Contrastboost weak patterns or soften hard edges0 to 2
Default: 1
Continuous keyframes
Gammaabove 1 brightens the pattern, below 1 darkens0.1 to 3
Default: 2
Continuous keyframes
Outputhow the chemistry is converted into pixelsTinted Source / Pattern (B&W) / Pattern Inverse / U/V Channels / False Colour / Edges / Displace / Relief / Source Mask (alpha)
Default: Pattern (B&W)
Discrete keyframes
Dark Patternpattern recipe used for dark source regionsSpots / Stripes / Labyrinth / Coral / Mitosis / Solitons / Chaos
Default: Spots
Discrete keyframes
Bright Patternpattern recipe used for bright source regionsSpots / Stripes / Labyrinth / Coral / Mitosis / Solitons / Chaos
Default: Labyrinth
Discrete keyframes
Presetpre-built recipe; Custom lets you dial it in yourselfAvailable presets
Default: labyrinth
Discrete keyframes
Ambientminimum light kept in Relief shadows0% to 100%
Default: 32%
Continuous keyframes
Heightheight scale of the simulated chemistry field0 to 4
Default: 1
Continuous keyframes
Height Fieldwhich chemical field becomes the Relief height mapV Field / U Field
Default: V Field
Discrete keyframes
Channelwhich colour channel is used as VRed / Green / Blue
Default: Red
Discrete keyframes
Start FromStart From: how the initial activator islands are placedBrightness / Edges (Sobel) / Threshold / Image Channel / Random / Uniform (Generative)
Default: Uniform (Generative)
Discrete keyframes
Noisesmall random sprinkle that breaks symmetry0% to 100%
Default: 2%
Continuous keyframes
Seed Pointsauthored seed disks on the canvasEditable reaction seeds
Default: 16 entries
Per-seed keyframes
Seedchange for a different random pattern0 to 9999
Default: 0
Continuous keyframes
Thresholdbrightness cutoff that splits the image into U and V0% to 100%
Default: 50%
Continuous keyframes
Pattern DetailPattern Detail: internal simulation cap; higher is sharper but slowerLow (512) / Medium (768) / High (1280) / Max (2048) / Full (no cap)
Default: Medium (768)
Discrete keyframes
StopsEditable palette stops used to colour the reaction-diffusion simulation.Gradient stops
Default: None
Not keyframeable
Use Gpurun the simulation on the GPU when availableOn / Off
Default: On
Not keyframeable

Related