Configuring StreamUP Liquid Fill
by Andi
Version: 0.0.2
A liquid wash that floods a source from one edge to the other. A solid body fills in behind ragged drips that run on ahead, so it reads like liquid actually pouring, not a flat wipe. The default look is the James Bond gun-barrel blood fall, but it's any colour you want: paint, slime, water, whatever you need.
Drive it by hand with Fall Progress, keyframe it with the Move plugin, or switch on Auto Play to run it for you. It pours in any direction, 0 to 360 degrees, so down, up, sideways or diagonal.
Requires the obs-shaderfilter plugin (v2.6.0 or newer).
Installation
- Download
streamup-liquid-fill.shader - Drop it into your obs-shaderfilter shaders folder (or anywhere you like, you point at it manually)
- In OBS, right-click the source you want to flood, Filters, add a Shader Filter under Effect Filters
- Hit Browse next to "Shader Text File" and pick the .shader file
- Done. The properties panel fills with all the controls below
Works on any source. Cameras, browsers, scenes, image sources. No need to expand the canvas, the fill stays inside the frame it's on.
How It Works
The fill is a leading edge that sweeps across the frame. A solid body follows behind it, and a row of ragged drips runs on ahead so the front never looks like a straight line. Behind the edge the liquid darkens with depth, optionally shifting to a second colour, and picks up streaks and a wet sheen. Everything is driven off a single Fall Progress value from 0 (clean source) to 1 (fully flooded), so it keyframes cleanly with the Move plugin or plays itself with Auto Play.
Information
Two info widgets at the top. Usage and version. Nothing to set.
Timing and Playback
How the fill is driven.
- Fall Progress the master control. 0 is a clean source, 1 is fully flooded. Drag it to pour by hand, or keyframe it with the Move plugin. Used when Auto Play is off. Default
0.45 - Auto Play plays Fall Progress for you off the source timer. Off by default so you drive it by hand
- Fall Duration (sec) how long a full flood takes when Auto Play is on. Default
2.5 - Loop Auto Play only. Run it again on a loop instead of holding at full
- Loop Hold (sec) Auto Play and Loop only. How long to sit fully flooded before the next run. Default
1.5 - Fall Acceleration how the fall speed changes on the way across. 0 is constant speed, the gun-barrel look. Higher starts slow and gathers pace toward the far edge, like gravity. Default
0.0 - Finish On Flat Colour what Fall Progress 1 means. On, it keeps going until the whole frame settles to one even colour, after the streaks and shading even out. Off, it stops the moment the source is fully covered and keeps the wet streaky look. Progress 0 is always a clean screen either way. On by default
Direction
- Fall Direction (deg) direction of travel in degrees. 0 down, 90 right, 180 up, 270 left. Anything in between is a diagonal. Default
0.0
Colour
The wash and its depth shading.
- Wash Colour the main colour at the leading edge. Drop its alpha to tint the source instead of fully covering it. Deep red for blood, or any colour for other liquids
- Deep Colour the colour the liquid shifts to deep behind the leading edge, for a two-tone wash. Only used when Deep Colour Blend is above 0
- Deep Colour Blend how far the older liquid shifts toward the Deep Colour. 0 keeps the Wash Colour and just darkens it, the classic look. Higher gives a two-tone fall. Default
0.0 - Depth Darkness how dark the liquid goes deep behind the edge. 1 is no darkening. Lower is murkier further back. Default
0.45 - Depth Falloff how quickly it reaches that full dark. 0 is a gradual gradient, 1 darkens almost straight away. Default
0.3
Drips
The ragged leading edge.
- Drip Count how many drips form across the edge. Whole numbers, the slider steps by 1. 1 is a single big wave across the whole width. Default
6 - Drip Reach how far the drips reach ahead of the body. Low is stubby drips hugging the edge, high is long fingers hanging well below the main mass. Default
0.65 - Drip Thickness how thick the drips are. Low is fine thread-like streaks, high is fat heavy runs. Default
0.8 - Viscosity how thick and gloopy the drips are. Low is fine watery streaks, high is fat runs that merge together more. Default
0.85 - Raggedness how much the drip lengths vary. Low keeps them the same length, high gives a mix of long and short. Default
0.5 - Fill Unevenness how unevenly the body fills across the width. 0 drops the whole front together like a curtain, high floods different areas at different times for an organic look. Default
0.8 - Join Smoothness rounds the joins where neighbouring drips meet. 0 keeps them crisp and separate, 1 merges them into soft blobby saddles. Default
0.5 - Edge Softness how soft the leading edge is. 0 is crisp, 1 is soft and feathered. Default
0.07 - Position Jitter how much the drips wander off an even grid. 0 is an evenly spaced comb, high is natural irregular spacing with some drips clumping closer together. Default
0.6
Liquid Motion
Lava-lamp life on the drips. Runs on a timer, so it keeps moving even when Fall Progress is held still.
- Liquid Motion how much each drip sways side to side and breathes longer and fatter on its own. 0 is a rigid shape sliding straight down, and the cheapest to run. High feels alive and gloopy. Default
0.3 - Liquid Speed how fast that motion runs. Low is slow and syrupy, high is quick and busy. Default
0.6
Texture and Shine
The surface look.
- Flow Streaks subtle darker streaks running along the flow, like uneven thickness in the liquid. Default
0.25 - Streak Settle how far behind the leading edge the streaks fade to flat colour. Low keeps them at the wet edge only and areas go uniform fast. With Finish On Flat Colour on, the fall travels far enough for the whole frame to settle on its own. Default
0.25 - Wet Sheen strength of the glossy highlight on the leading drips. Default
0.5 - Sheen Width how wide the glossy highlight band on the edge is. 0 is a thin gleam, 1 is a broad sheen. Default
0.25 - Surface Rim a thin brighter line right at the liquid surface, like surface tension on the leading edge. Sits on top of the Wet Sheen and uses the Sheen Colour. 0 is off, higher is a sharper wet rim. Default
0.0 - Sheen Colour colour of the wet highlight on the drips and the surface rim. A brighter red reads as fresh blood
Randomness
- Random Seed changes the whole drip layout. Nudge it until you get a pattern you like. Default
0.0 - Randomise Each Play gives a fresh drip pattern every time the filter is enabled or the source activates, so toggle the filter off and on for a new look. Also reshuffles every loop with Auto Play and Loop on. Heads up: it reshuffles whenever you change any setting too, so turn it off if you want a fixed pattern to scrub
Recipes
A few starting points to copy.
Gun-Barrel Blood Fall
- Wash Colour: deep red, Sheen Colour: brighter red
- Fall Direction: 0 (down)
- Fall Acceleration: 0 (constant, the classic look)
- Drip Count: 18, Drip Reach: 0.6, Viscosity: 0.6
- Depth Darkness: 0.7, Wet Sheen: 0.5
- Finish On Flat Colour: on
The James Bond opener. Drive Fall Progress by hand or keyframe it with the Move plugin.
Paint Pour Transition
- Wash Colour: your brand colour, alpha 1.0
- Auto Play: on, Fall Duration: 1.2, Finish On Flat Colour: on
- Viscosity: 0.8, Join Smoothness: 0.6
- Liquid Motion: 0.3
A quick full-cover wipe between scenes. Fires when the source activates.
Rising Water
- Fall Direction: 180 (up)
- Wash Colour: teal at ~70% alpha, Deep Colour: deep blue, Deep Colour Blend: 0.6
- Viscosity: 0.4, Liquid Motion: 0.7, Liquid Speed: 0.8
- Wet Sheen: 0.7, Surface Rim: 0.4
Floods up the frame with a live moving surface. Drop the alpha so what's underneath still reads through the water.
Performance Notes
- Liquid Motion is the main moving cost. At 0 the drips are a static shape and the shader is at its cheapest. Higher keeps the timer animating every frame
- Flooding is per pixel, so cost scales with the canvas size, not how much of the frame is covered
- Streaks, sheen, rim and the depth shading are all cheap arithmetic on the covered pixels
Good to Know
- One value drives everything. Fall Progress from 0 to 1 is all you keyframe. That makes it trivial to line up with the Move plugin or any other automation
- Alpha on the Wash Colour tints instead of covers. Full alpha hides the source, lower alpha washes it with colour so the source still shows through
- It stays inside the frame. No canvas expansion needed, unlike shaders that cast shadows or glow past the edge
- File watching is on by default in obs-shaderfilter. Edit the .shader file and OBS updates live
Changelog
v0.0.2
- New defaults. The shipped look was 18 narrow drips across the width, which reads as a sawtooth comb rather than liquid. It is now 6 fatter runs with the joins rounded off, varied lengths and a shallower depth falloff, so it pours out of the box
- Nothing was added or removed, so any source you have already set up renders exactly as it did
v0.0.1
- First release. Edge-driven liquid flood with a solid body and ragged drips, single Fall Progress control, Auto Play with loop and hold, any direction 0 to 360 degrees, two-tone depth shading, lava-lamp liquid motion, flow streaks, wet sheen and surface rim, and seeded randomness