Rolling Shutter creation

Hi Im adding shake to a shot and now my clients want a rolling shutter effects, the shot has depth with lots square objects, and people… any tips or tricks for a rolling shutter ?? appreciated.

1 Like

Ugh. Who’d want to do that?

Joking aside, since rolling shutter is an effect of the sensor readout, not in your depth stack, it should be a lot more forgiving to pull off…

First to approximate the effect, I’d put the centre near base of frame & play w/ x-shear, then tie that to a directional blur, or something like that. Once I blocked it out, I’d try to write an expression to automate it… Rolling shutter displays a sort of delayed “sway” also, so figuring that into the equation would help, too…

Looking up youtube rolling shutter videos for ref too, would be a good place to start.

1 Like

Pixel Spread Vector Warp, play with the X value, whilst feeding the Pixel Spread a white gradient from white to black, top to bottom. It’s the inverse of how to remove it.

Remember, depth don’t matter, as its a ‘flat’ problem at the sensor level.

Maybe create a vertical wiping matte that cycles top to bottom that offsets a frame behind a bit.


Pixel Spread Vector Warp! Never found a use for it until now. Gotta try…

1 Like

May The Fourth Be With You Do It GIF by Star Wars


Also, there’s gotta be a Sapphire preset for this. Paging , I know its before 2pm so you’re probably still sleeping, but, how might one achieve rolling shutter effect (we know its a bit backwards) to footage? Got a preset or Sapphire for that?

Researching on Youtube i came up with Time displace, which is also possible with Sapphire, you need minimum 60fps for it to work, but it not what im want, if fact it goes way too far, what i need is staight lines to shearing/bending angles, …etc, … your suggestions both sound good will try them , …thanks!

Did it, yoda. Cool trick! Seems like you’d still need to tie an expression to the x-value in vector gain to get it to move in the direction of the shake, no? Also in the gradient, looks like Black is one direction, White is the opposite, and 50% grey = no movement.

interesting not got time to test yet, … got a setup? or is that a cheeky,… :innocent:

killing time trying fix my shake expressions that keep breaking ,… ahhh

not big on expression but does copy and pasting nodes in your expressions from one action to another supposed to break it ??

I think Randy’s method is the way to go, since the PS Vector warp has blur built in and has some curvature, whereas shearing is very "straight’… Getting the gradient shape to look right & animating/expressioning the x-value should get you there… would probably make sure the plate is overscan as well so no black edges.

Do as Yoda McEntee does…

You need to make sure your hierarchy in relation to the batch is correct, if you’re trying to tie an expression from one value in your action to another action within the batch. Both of your actions will be named differently, and thus, can be referred to from any other node within batch.

I`d try to mix gradient with motion vectors generated from source footage and feed that to pixel spread. There is old fuse for Fusion just for that, should work in Flame too.


no i may have over done my expressions,… or flame is bugging out,…im using an action per shot per batch… but copying the same nodes and changing the shake, for some reason its not responding, and lots of error "expressions lost in the shell, damn…have to back to the drawing board to investigate ,… thanks!

This is great! thanks!

Take a look at your inputs on the axes themselves… If one source was previously expressioned to something in (1), and is now in (2), or is red/missing, that would break it, for sure… The expressions will def. get pissed if the names/sources aren’t consistent with how the expression is written.

thinking of redoing them using a variables matchbox,… easier to remember, instead of have a number of cntrl axis,…

Nodes with expressions don’t play well with Ctl-C and Ctl-V. It depends on whether they are contained within a single node or referenced to other nodes, and whether you are copying just one, but not it’s related nodes, etc. And whether you are using shortened expressions or fully written out ones, and whether you are copying them in the same action or batch, or into a new action or batch.

one of the issues and whats making it complex is that im using a camera track with “aim”, … and aim doesnt seem to link well, i’ve had to use 2 axis for it, … anyhow thats another story, …im trying to simplify it by passing a grid threw it and tracking it with mocha pro, as the gmask tracer wont grip even a the grid,…

oh duh i forgot to mention the motion vectors! yeesh! yes, use a gradient on top of the motion vectors…duh!

I love me a nice long afternoon nap. Already mentioned, but I would use Sapphire TimeDisplace for this.