Kelvin's BotW campfire shader

Create new
Unlit Master
  • Vertex Position
    X 0 Y 0 Z 0
  • Vertex Normal
    X 0 Y 0 Z 0
  • Vertex Tangent
    X 0 Y 0 Z 0
  • Color
    X 0.74 Y 0.74 Z 0.74
  • Alpha (1)
    X 1
  • AlphaClipThreshold (1)
    X 0
Subtract
  • A
    X 1
  • B
    X 1
  • Out
Object
  • Position (3)
  • Scale (3)
Vector 3
  • X (1)
    X 0
  • Y (1)
    X 1
  • Z (1)
    X 0
  • Out (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Rotate About Axis
  • In (3)
    X 0 Y 0 Z 0
  • Axis (3)
    X 0 Y 0 Z 0
  • Rotation (1)
    X 0
  • Out (3)
Polar Coordinates
  • UV
    X 0 Y 0
  • Center (2)
    X 0 Y 0
  • Radial Scale (1)
    X 1
  • Length Scale (1)
    X 6.28
  • Out (2)
Position
  • Out (3)
Camera
  • Position (3)
  • Direction (3)
  • Orthographic (1)
  • Near Plane (1)
  • Far Plane (1)
  • Z Buffer Sign (1)
  • Width (1)
  • Height (1)
Add
  • A
    X 0
  • B
    X 0 Y 0
  • Out
  • CentreOffset (1)
Vector 3
  • X (1)
    X 0
  • Y (1)
    X 0
  • Z (1)
    X 0
  • Out (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Position
  • Out (3)
Voronoi3DNoise
  • Position (3)
    X 0 Y 0 Z 0
  • Scale (1)
    X 0.15
  • Noise (1)
  • Cell (1)
  • Border (1)
  • NoiseStrengths (3)
Sample Texture 3D
  • Texture
  • UV (3)
    X 0 Y 0 Z 0
  • Sampler (SS)
  • Out (4)
Simplex3DNoise
  • Size (3)
    X 0 Y 0 Z 0
  • Noise (1)
Multiply
  • A
    X 0
  • B
    X 1.5 Y 2
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
  • NoiseScales (3)
Add
  • A
    X 0
  • B
    X 0
  • Out
Time
  • Time (1)
  • Sine Time (1)
  • Cosine Time (1)
  • Delta Time (1)
  • Smooth Delta (1)
Remap
  • In
    X -1
  • In Min Max (2)
    X -1 Y 1
  • Out Min Max (2)
    X 0 Y 1
  • Out
Multiply
  • A
    X 0
  • B
    X 1 Y 2
  • Out
Add
  • A
    X 0
  • B
    X 0
  • Out
  • Speed (1)
Add
  • A
    X 0
  • B
    X 0
  • Out
Multiply
  • A
    X -0.5 Y 0
  • B
    X 2
  • Out
Multiply
  • A
    X 0.2 Y 0
  • B
    X 2
  • Out
Vector 3
  • X (1)
    X 0
  • Y (1)
    X 0
  • Z (1)
    X 0
  • Out (3)
Vector 3
  • X (1)
    X 0
  • Y (1)
    X 0
  • Z (1)
    X 0
  • Out (3)
Vector 3
  • X (1)
    X 0
  • Y (1)
    X 0
  • Z (1)
    X 0
  • Out (3)
Multiply
  • A
    X 0
  • B
    X -1 Y 2
  • Out
Sample Texture 2D
  • Texture (T2)
  • UV
    X 0 Y 0
  • Sampler (SS)
  • RGBA (4)
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Vector 2
  • X (1)
    X 0
  • Y (1)
    X 0
  • Out (2)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
UV
  • Out (4)
Tiling And Offset
  • UV
    X 0 Y 0
  • Tiling (2)
    X 1 Y 1
  • Offset (2)
    X 0 Y 0
  • Out (2)
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Sampler State
  • Out (SS)
Preview
  • In
    X 0
  • Out
Sample Texture 2D
  • Texture (T2)
  • UV
    X 0 Y 0
  • Sampler (SS)
  • RGBA (4)
  • R (1)
  • G (1)
  • B (1)
  • A (1)
  • Rainbow Fire Texture (T2)
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Add
  • A
    X 0
  • B
    X 0
  • Out
Add
  • A
    X 0
  • B
    X 0
  • Out
Multiply
  • A
    X -0.3 Y 0
  • B
    X 2
  • Out
Saturate
  • In
    X 0
  • Out
Remap
  • In
    X -1
  • In Min Max (2)
    X 0 Y 1
  • Out Min Max (2)
    X -0.05 Y 1
  • Out
  • Worley Noise Texture (T3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Vector 2
  • X (1)
    X 0
  • Y (1)
    X 0
  • Out (2)
  • Rainbow Fire Texture (T2)
Preview
  • In
    X 0
  • Out
Multiply
  • A
    X 0
  • B
    X 1 Y 2
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Smoothstep
  • Edge1
    X 0
  • Edge2
    X 1
  • In
    X 0
  • Out
Normalize
  • In
    X 0
  • Out
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
  • WindDirection (2)
Vector 3
  • X (1)
    X 0
  • Y (1)
    X 0
  • Z (1)
    X 0
  • Out (3)
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Preview
  • In
    X 0
  • Out
UV
  • Out (4)
Saturate
  • In
    X 0
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Preview
  • In
    X 0
  • Out
Saturate
  • In
    X 0
  • Out
Preview
  • In
    X 0
  • Out
Gradient Noise
  • UV
    X 0 Y 0
  • Scale (1)
    X 10
  • Out (1)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Vector 2
  • X (1)
    X 0
  • Y (1)
    X 0
  • Out (2)
Scene Depth
  • UV
    X 0
  • Out (1)
  • WindDensity (1)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Time
  • Time (1)
  • Sine Time (1)
  • Cosine Time (1)
  • Delta Time (1)
  • Smooth Delta (1)
Multiply
  • A
    X 0
  • B
    X 5 Y 2
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
  • Alpha (1)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Transform
  • In (3)
    X 0 Y 0 Z 0
  • Out (3)
Tiling And Offset
  • UV
    X 0 Y 0
  • Tiling (2)
    X 1 Y 1
  • Offset (2)
    X 0 Y 0
  • Out (2)
  • WindSpeed (1)
  • WindDirection (2)
Transform
  • In (3)
    X 0 Y 0 Z 0
  • Out (3)
Multiply
  • A
    X 0
  • B
    X 2
  • Out
  • RelativeWindStrength (1)
  • WindStrength (1)
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Add
  • A
    X 0
  • B
    X 0
  • Out
Negate
  • In
    X 0
  • Out
Position
  • Out (3)
Negate
  • In
    X 0
  • Out
Exponential
  • In
    X 0
  • Out
One Minus
  • In
    X 1
  • Out
Lerp
  • A
    X 0
  • B
    X 1
  • T
    X 0
  • Out
Lerp
  • A
    X 0
  • B
    X 1
  • T
    X 0
  • Out
Lerp
  • A
    X 0
  • B
    X 1
  • T
    X 0
  • Out
  • Outer Color (4)
  • Base Color (4)
  • Inner Color (4)
UV
  • Out (4)
Camera
  • Position (3)
  • Direction (3)
  • Orthographic (1)
  • Near Plane (1)
  • Far Plane (1)
  • Z Buffer Sign (1)
  • Width (1)
  • Height (1)
Subtract
  • A
    X 1
  • B
    X 1
  • Out
Saturate
  • In
    X 0
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
  • DepthFade Factor (1)
Colorspace Conversion
  • In (3)
    X 0 Y 0 Z 0
  • Out (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Multiply
  • A
    X 0
  • B
    X 2
  • Out
Add
  • A
    X 1 Y 0
  • B
    X 0
  • Out
Distance
  • A
    X 0
  • B
    X 0
  • Out (1)
Position
  • Out (3)
  • HeightFade (1)
Multiply
  • A
    X 1 Y 0
  • B
    X 2
  • Out
Multiply
  • A
    X 0
  • B
    X 2
  • Out
  • InnerFire Opacity (1)
  • NoiseStrengths (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Multiply
  • A
    X 0
  • B
    X 2
  • Out
  • NoiseStrengths (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
  • NoiseScales (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Multiply
  • A
    X 0
  • B
    X 2
  • Out
  • NoiseScales (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
  • NoiseSpeeds (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
  • NoiseSpeeds (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
  • NoiseSpeeds (3)
Split
  • In
    X 0
  • R (1)
  • G (1)
  • B (1)
  • A (1)
Still has weird behaviour when the fire is at the edge of the screen

Camera Facing
UV height mask
Undisturbed Alpha Mask
Camera pos vector
Angle Determination
Wind Noise
Displacement Mask
Exponential Mask
Wind Displacement
Lerping Color
Depth Fade
Inner Fire Opaque
Height Fade
Noise Time & Space Sample
Large Scale Simplex Noise
Voronoi Noise "Chaotic"
Worley Noise "Roundness"
Kelvin's BotW campfire shaderShader Graphs
Properties
Graph Inspector
Embed