ANR Tools

ANR Lightning 3D

Branching 3D lightning and electric arcs between points you place, seen through your camera, with glow, strikes and optional smoke, fire and sparks.

Overview

The node draws a branching bolt from A to B in real 3D space, and through up to three more points, C, D and E, each with its own depth. Side branches fork off the main channel and taper towards their tips. The core and the glow have their own colours, and the result is linear HDR light.

Use it for lightning in a stormy sky, electric arcs between two objects, a bolt from a hand or a device, or a discharge that grows along a path. Animation grows the bolt with Draw progress, makes it a continuous flickering arc or timed strikes, and changes its shape over time.

Connect your shot camera to Camera and place the points on the Camera reference frame: the bolt then stays fixed in the scene while the camera moves. Without a camera, Orbit Y, Orbit X and Zoom show the bolt's 3D shape.

The bolt can also leave a trail. Emission adds real 3D smoke and fire, simulated from its head, its body or its branch tips, and Sparks throws sparks from its tips. Both are optional and off by default.

Inputs

BackgroundCameraLightning 3DOutput
  1. Backgroundoptional

    Optional plate. With Output set to Add to background, the smoke goes over it and the lightning is added on top; with Lightning only it is not used.

  2. Cameraoptional

    Optional perspective Nuke Camera, such as your solved shot camera. It drives the view, with its animation, parent transforms and lens; the points are placed on its Camera reference frame, at Camera distance plus each point's depth.

Output. Linear HDR lightning, with any smoke, fire and sparks, on transparent black: add it over the plate with a Plus merge, or let Output > Add to background do it. Render layers adds lightning, sparks, fire and smoke layers.

Quick start

  1. Add ANR Lightning 3D and view it: the bolt appears straight away.
  2. With the node's controls open and Viewer overlays on, drag the A and B handles to where the bolt starts and ends. Raise Extra points to bend it through C, D and E.
  3. For a moving shot, connect the camera to Camera and set Camera reference frame on View to the frame you place the points on.
  4. Shape it on Shape: Jagginess, Branches, Branch length, Bolt count.
  5. Set Bolt width, Brightness, the core and glow colours and the glow on Look.
  6. On Animation, choose Continuous arc, Repeated strikes or Single strike, and keyframe Draw progress from 0 to 1 to grow the bolt.
  7. Add it to the plate with a Plus merge, or connect the plate to Background and set Output to Add to background.
  8. Optional: choose Emit from on Emission for smoke and fire, and Head sparks on Sparks.

The panel

The node's panel as Nuke shows it, with the values of a new node. Click any control to see what it does; tabs and sections work as in Nuke.

ANR_Lightning_3D1

Status, the A to E points and their depths, the seed, Preview or Render quality, the output mode and render layers.

StatusAutomatic. Smoke / fire and sparks are optional.
Ax614.4y1244.8
A depth0
Bx1433.6y311.2
B depth0
Extra points0
Cx1228.8y1011.4
C depth0
Dx819.2y700.2
D depth0
Ex1228.8y466.8
E depth0
Seed1
New variation
QualityRender
OutputLightning only
Render layers

All controls

Bolt17 controls

Status, the A to E points and their depths, the seed, Preview or Render quality, the output mode and render layers.

Status

StatusStatusstatus

A fixed reminder that the bolt renders by itself; smoke, fire and sparks are optional extras.

Placement

APositionstartPoint

Drag the native Viewer handle, or enter XY pixels in the default front view. Use the matching depth control for 3D placement.

Default: 614.4 1244.8

A depthSliderstartDepth

Distance behind the default image plane, in world units. Changing depth keeps this anchor in place in the front view.

Default: 0

BPositionendPoint

Drag the native Viewer handle, or enter XY pixels in the default front view. Use the matching depth control for 3D placement.

Default: 1433.6 311.2

B depthSliderendDepth

Positive pushes the endpoint away from the camera. The bolt and branches exist in real 3D space.

Default: 0

Extra pointsSliderbendCount

Zero uses A to B. Add C, D and E to extend the curved path in alphabetical order.

Default: 0

CPositionbend1

Drag the native Viewer handle, or enter XY pixels in the default front view. Use the matching depth control for 3D placement.

Default: 1228.8 1011.4

C depthSliderbend1Depth

Depth of point C.

Default: 0

DPositionbend2

Drag the native Viewer handle, or enter XY pixels in the default front view. Use the matching depth control for 3D placement.

Default: 819.2 700.2

D depthSliderbend2Depth

Depth of point D.

Default: 0

EPositionbend3

Drag the native Viewer handle, or enter XY pixels in the default front view. Use the matching depth control for 3D placement.

Default: 1228.8 466.8

E depthSliderbend3Depth

Depth of point E.

Default: 0

Variation

SeedSliderseed

Deterministic pattern; identical time and settings produce identical geometry.

Default: 1

New variationButtonnewSeed

Steps Seed to the next value: a new bolt pattern with the same settings.

Output

QualityMenuquality

Preview renders at most640 pixels and removes glow, preserving the full 3D shape.

Default: RenderOptions: Preview Render

OutputMenuoutputMode

Includes optional smoke/fire. Add to background places smoke over Background and adds emissive lightning. Lightning is added to the volume image; there is no deep bolt/volume occlusion.

Default: Lightning onlyOptions: Lightning only Add to background

Render layersCheckboxlayerPasses

Expose lightning, sparks, fire and smoke RGBA layers. RGB sums reconstruct beauty without Background. One simulation; extra volume rendering and image memory when enabled.

Default: off

Shape6 controls

The discharge: jagginess, branches, depth spread, bolt count and detail.

Discharge structure

JagginessSliderjaggedness

Irregular displacement around the guided path. Zero gives a smooth curve through the anchors.

Default: 0.13

BranchesSliderbranches

Number of main side branches per bolt. Zero produces a single unbranched arc.

Default: 14

Branch lengthSliderbranchLength

Branch length relative to the complete bolt path.

Default: 0.35

Depth spreadSliderdepthSpread

How much random structure extends in Z. Zero flattens random displacement; authored anchor depths remain.

Default: 1

Bolt countSliderbolts

Additional discharge channels between the same anchors.

Default: 1

DetailSliderdetail

Recursive path detail. Preview keeps the same geometry.

Default: 7

Look11 controls

The bolt's width, brightness, core colour, moving head, glow and colour fringe. A second Look, after Motion, sets the smoke's density and colour and the flame brightness.

Channel

Bolt widthSliderwidth

Main-channel diameter at 1920 pixels wide and the default camera. Branches taper toward their tips.

Default: 3

Tip widthSliderendWidth

Width at the final point relative to A. Branches also taper.

Default: 0.3

BrightnessSliderbrightness

Linear HDR emission. Use a Plus merge or Add to background.

Default: 8

Core colorColourcoreColor

Colour of the bolt's bright core.

Default: 1 0.8799999952 0.7200000286

Moving head

Head widthSliderheadWidth

Width multiplier at the moving main tip. One preserves the current bolt; larger values thicken the head following Draw progress. Render only.

Default: 1

Head lengthSliderheadLength

Fraction of the full path that blends into the thicker moving head. Render only.

Default: 0.08

Halo

Glow strengthSliderglow

Layered corona and broad bloom from the complete stroke. Preview omits bloom.

Default: 0.65

Glow radiusSliderglowRadius

Spread of the seven-scale GPU bloom. Independent of bolt width.

Default: 10

Glow colorColourglowColor

Colour of the glow around the bolt, independent of the core colour.

Default: 0.2700000107 0.4799999893 1

Color fringe

Chromatic aberrationSliderchromaticAberration

Red/blue separation in pixels at 1920 width. Zero disables it. Applied only to lightning, before adding Background.

Default: 0

Aberration angleSlideraberrationAngle

Direction of red/blue separation, in degrees.

Default: 0

Animation9 controls

Draw progress and trail, continuous arc or strikes and their timing, shape changes and flicker.

Draw A to B to C

Draw progressSliderprogress

Keyframe 0 to 1 to grow the bolt from A through the enabled points. Branches grow only after the leading edge reaches them.

Default: 1

Trail lengthSlidertail

Fraction of the path retained behind Draw progress. One leaves the complete trail; smaller values make a travelling pulse.

Default: 1

Timing

AnimationMenuanimation

Continuous arc stays visible; strikes flash and fade for the specified duration. Optional smoke/fire keeps simulation history and replays when scrubbing backward.

Default: Continuous arcOptions: Continuous arc Repeated strikes Single strike

First strikeSliderstartFrame

First active frame in Single/Repeated strike modes.

Default: 1

Strike durationSliderduration

Visible frames per strike, including a fading return stroke.

Default: 5

Strike intervalSliderinterval

Frames between repeated strikes. Never shorter than Strike duration.

Default: 18

Variation

Shape changes / secondSliderrate

How often a continuous arc changes shape. Set zero to freeze shape; flicker can still animate brightness.

Default: 0

EvolutionSliderevolution

Offset the discharge pattern. Each integer selects a new deterministic shape. Animate or change Seed for variations.

Default: 0

FlickerSliderflicker

Random brightness variation. Zero freezes brightness in Continuous arc mode.

Default: 0.35

Emission10 controls

Optional 3D smoke and fire from the bolt: where it emits, how much, its breakup, and when the simulation starts.

Source

Emit fromMenuemissionMode

Optional real 3D smoke/fire. Head emits only while Draw progress increases. Body emits from visible segments; Branch heads emits visible branch tips, All heads includes main tips. Branch/All heads also emit while stationary. Turning this off releases Flow memory.

Default: OffOptions: Off Forming head Whole body Branch heads All heads

Smoke amountSlidersmokeAmount

Smoke emitted by the selected part of the bolt. Zero emits no new smoke.

Default: 0.65

Fire amountSliderfireAmount

Add hot fuel and flames to the emitted smoke. Zero gives smoke only.

Default: 0

Emission radiusSlideremissionRadius

World-space radius around the 3D bolt. Very thin sources are limited by the voxel size.

Default: 0.08

Source breakup

Emission turbulenceSlidersourceTurbulence

Roughens the source boundary before simulation. Broad, stable 3D lobes; independent of fluid turbulence.

Default: 0.7

Source edge roughnessSlidersourceDisturbance

Roughens only the emitter at birth. Use Smoke disturbance under Motion to break up the moving plume.

Default: 0.5

Emission evolutionSlidersourceEvolution

Offset the 3D source breakup. Keyframe to evolve its shape; animated changes rebuild source voxels.

Default: 0

Simulation

Emission startSlidersmokeStart

First smoke/fire and spark emission frame. Backward scrubbing rebuilds from here; shading and camera changes reuse the current simulation.

Default: root.first_frame

Simulation detailSlidersmokeResolution

Voxels across 10 world units. Higher is finer and more expensive. Preview only reduces rendering quality.

Default: 128

Reset emissionButtonresetSmoke

Throws away the smoke, fire and sparks simulated so far; the next render simulates them again from Emission start.

Motion5 controls

How the emitted smoke moves: rise, turbulence, disturbance and dissipation.

RiseSlidersmokeRise

Upward source velocity in simulation voxels per frame.

Default: 0.8

TurbulenceSlidersmokeTurbulence

Swirling motion in the emitted volume.

Default: 0.6

Smoke disturbanceSlidersmokeDisturbance

Breaks up smooth smoke edges throughout the simulation using fine-grid curl transport and small eddies. Zero disables disturbance; 5 is moderate and 50 is strong. Changes re-simulate.

Default: 5

Disturbance sizeSlidersmokeDisturbanceSize

Size of the small smoke eddies in simulation cells. Lower values give finer edge breakup; larger values give broader curls. Limited by the simulation resolution. Changes re-simulate.

Default: 3

DissipationSlidersmokeFade

How quickly smoke disappears. Higher values shorten the trail.

Default: 0.025

Look6 controls

The bolt's width, brightness, core colour, moving head, glow and colour fringe. A second Look, after Motion, sets the smoke's density and colour and the flame brightness.

Smoke densitySlidervolumeDensity

Render-only smoke density; does not restart simulation.

Default: 0.8

Smoke colorColourvolumeColor

Colour of the emitted smoke. Render only: changing it does not re-simulate.

Default: 0.2399999946 0.2450000048 0.25

AbsorptionSlidervolumeAbsorption

Render-only smoke extinction.

Default: 5

Flame brightnessSlidervolumeFireBrightness

Render-only flame brightness; independent of lightning brightness.

Default: 6.4

Cool temperature (K)SlidervolumeKelvinMin

Blackbody color at the cool end of the flames.

Default: 1000

Hot temperature (K)SlidervolumeKelvinMax

Blackbody color at the hot end of the flames.

Default: 5100

Light9 controls

Lighting of the emitted smoke: ambient, the key light and its direction, and the fire's light inside the smoke.

Ambient fillSlidervolumeAmbient

Soft ambient illumination of the smoke.

Default: 0.18

Key lightSlidervolumeKey

Directional light strength.

Default: 1.4

Light XSlidervolumeLightX

Direction toward the key light in world space.

Default: -0.6

Light YSlidervolumeLightY

Direction toward the key light in world space.

Default: 0.8

Light ZSlidervolumeLightZ

Direction toward the key light in world space.

Default: 0.7

Fire illuminationSlidervolumeFireLight

Light from flames inside the smoke. Render quality only.

Default: 0.9

Light spreadSlidervolumeLightSpread

Radius of internal fire lighting.

Default: 0.1

Light penetrationSlidervolumeScattering

Controls the spread of fire illumination through smoke.

Default: 0.7

Ambient occlusionSlidervolumeAO

Darkens dense smoke interiors.

Default: 1

Sparks10 controls

Optional sparks from the bolt's tips: birth, motion and look.

Birth

Head sparksMenusparkMode

CUDA particles born at the moving 3D tip. Forming head emits only as Draw progress increases; Head while visible also emits from a stationary tip. Branch heads selects side-branch tips; All heads includes the main tip. Independent of smoke/fire.

Default: OffOptions: Off Forming head Head while visible Branch heads All heads

Sparks / secondSlidersparkRate

Birth rate from the leading tip of the main bolt. Independent of smoke/fire emission.

Default: 1200

Spark lifetimeSlidersparkLife

Maximum lifetime in seconds. Old sparks fade and expire; history is bounded to three seconds.

Default: 0.7

Motion

Spark speedSlidersparkSpeed

Launch speed in world units per second, with natural random variation.

Default: 3.5

Spark spreadSlidersparkSpread

Cone half-angle around the bolt head direction. 180 scatters in all directions.

Default: 120

Spark gravitySlidersparkGravity

World Y acceleration. Negative makes sparks fall.

Default: -6

Look

Spark sizeSlidersparkSize

Diameter in pixels at 1920 width and the default camera distance. Render only.

Default: 1.2

Spark brightnessSlidersparkBrightness

Linear HDR spark brightness. Render only.

Default: 8

Spark streakSlidersparkStreak

Velocity-based streak length, in shutter frames. Zero renders points. Render only.

Default: 0.6

Spark colorColoursparkColor

Colour of new sparks; they cool to a darker, warmer tint as they age.

Default: 1 0.6499999762 0.200000003

View6 controls

The camera input's reference frame and distance, or the built-in orbit and zoom, and the Viewer handles.

Camera input

Camera reference frameSliderreferenceFrame

Place A/B/C in this camera frame. The bolt then stays in world space while the connected camera moves.

Default: 1

Camera distanceSlidercameraDistance

Distance of the reference image plane in camera units. Each point Depth adds to this distance.

Default: 10

Built-in camera

Orbit YSliderorbitY

Rotate around the 3D bolt. Anchors remain in world space; Viewer handles follow their projected positions.

Default: 0

Orbit XSliderorbitX

Tilt around the bolt. Near edge-on views can make anchor dragging unstable.

Default: 0

ZoomSliderzoom

Camera focal-length multiplier. Does not regenerate the bolt.

Default: 1

Viewer handlesCheckboxshowHandles

Shows the A to E point handles in the Viewer while the node's controls are open.

Default: on

Tips

  • New variation picks another bolt pattern; Evolution steps through patterns over time.
  • Shape changes / second at 0 freezes the bolt's shape while Flicker still varies its brightness; set Flicker to 0 as well for a completely still bolt.
  • For a travelling pulse, animate Draw progress and lower Trail length.
  • Head width above 1 thickens the moving tip as Draw progress advances, for a bright leading head.
  • Quality Preview renders at most 640 pixels and leaves out the glow, keeping the full 3D shape, for fast placement.
  • Depth spread sends the random structure into depth; 0 flattens it while the depths you set on the points stay.
  • A pixel or two of Chromatic aberration gives the bolt a lens-like colour fringe without touching the background.
  • For smoke left behind by a strike, set Emit from to Whole body or Forming head; raise Fire amount for flames as well.
  • With Render layers on, write all channels to an EXR. The layers' RGB adds up to the beauty without the background.

Good to know

  • The node needs an NVIDIA graphics card of the Turing generation or newer, such as the GeForce RTX 20 series and later, with a current driver.
  • The bolt and the sparks need no cache: the same frame and settings always give the same result, in any order.
  • The smoke and fire are simulated live from Emission start: playing forward carries on, going back simulates again from there, and nothing is written to disk. Keep Emission start close to the effect; the smoke can run at most 2000 frames after it.
  • Setting Emit from or Head sparks to Off frees their GPU memory.
  • The bolt does not light its smoke or the plate, and there is no depth occlusion between the bolt, the smoke and the plate: Add to background is an image composite.
  • Camera takes a perspective camera with default window translate, scale and roll; the camera's near and far clipping are not used.

Something unclear or missing? Write to [email protected].