Crash zoom transitions

Just started a new episodic series which has multiple faked crash zoom transitions throughout. You know the kind of thing, crash zoom into a detail shot A and shot B is that detail up close, or suddenly pull out of shot A and shot B is the wider environment where shot A lives.

In offline (with our agreement) they have used Sapphire HyperPush and HyperPull, for me to re-apply and tidy up in online. Now that I’m doing it on actual shots I’m not very happy with the way these are behaving. Fine when point of interest in A and B are both centred, but seems you can’t direct the Sapphire to have a smooth move from/to non-centre points. From/To Centre X/Y parameters adjust the in-built distort etc but not the centred motion blur, giving a weird twisted feel to the camera journey.

Have tried to build my own version using Timeline Action transition (there are hundreds of these, so for speed I need to drag+drop without taking A/B shots into Batch etc). I’m not the best with 3D cameras etc and although it’s basically working, it doesn’t feel convincing, and as A shrinks or B grows (depending on if it’s pull out or push in) I need to fill the borders with relevant pixels from that shot (no background). If I could find the equivalent of 2DTransform’s Repeat Last, but attached to my Surface within Action, it would probably be enough to sell it.

Any thoughts? I’m kind of hoping there’s a Crok shader I’ve missed!

Not sure about Sapphire, but you should be able to do this in Action. Set your surface to Ext Bicubic, then drag out Auto Expand, and this will give you an infinitely repeated mirror texture. However if you need it to be Repeat Last, I would do that in 2d Transform, expanding out your canvas size. Then use that in Action. Does that help?

1 Like

*If you have a diffuse map on your surface in Action, you need to set that texture to repeat.

1 Like

You also might want to play with the Action motion blur Phase setting for this kind of thing.

You could also add some lens deformation and chromatic aberration with crok_chroma_warp.

Thanks for the replies, and your ideas @GPM . Didn’t know about the Auto Expand. Bit confused as it says it’s only active when Surface is Flat, but X/Y size offset only works for me when Surface is set to anything other than Flat (even though the actual Auto Expand button is then greyed out). Oh well.

What I really need I think is the Repeat Last function rather than Mirror Repeat. But seems you can’t have that within a timeline Action transition, only in 2DTransform (and as mentioned I don’t want to have to Batch build all these).

There must be a way to hack a repeat last functionality in action. Let me think about it.

I think there might be a way with some shenanigans in action MK, which I haven’t used in years, but basically gives you a batch inside your action media layer. I’ll need to do a test later.

I’ve never used action TL transitions. But you just basically need 2 inputs in action, nothing in batch, yes?

Yes exactly, nothing in Batch. The A/B shots appear as surface1 and surface2 in the Action transition (no Back) so that’s what I’ve got to work with.
Many thanks for giving this some of your headspace!

Can you have 3 inputs into your Action?

Not as far as I know, because it has to be fed media directly from the timeline, and there are only two clips there. But I’m quite often wrong…

Franz, I think I have the solution (or at least a solution) for you, which you should be able to use no problem in Action TL transitions (though I haven’t tried it there). I’m attaching a Batch from 2021.1.1, as well as just an Action with no media inputs.

It’s just adding a left, right, top, bottom surface around the unaffected center surface. Then gmasking off each exterior image (in this case HD rez) until there is only a 1 pixel sliver edge on each of the sides. Then with an axis offset on each, scaling heavy in X or Y. Plus 4 corners.

The center image is unaffected, and when you scale the whole pod of surfaces down, you have exactly what 2d transform in Batch gives you with Repeat last, scaled down.

Attached is a screen shot showing Batch 2d transform example on the left, Action output (with everything scaled down to 50% like in 2d transform), and the Action schematic on the right. (Footage talents are blurred to protect the not-so-innocent).

*I made this using an HD source, so using higher res you might have to offset positionings - or Apply+Scale the action might do it.

Why did I take half an hour of my day to do this? Because if I do one more Beauty shot I’m going to lose my sh*t. This was a nice vacation, so thank you. (42.4 KB) (23.4 KB)


Sorry, here’s the screenshot.

Wow. Thanks Greg-Paul! You may have needed a break but I didn’t expect that… Really good of you to take the time.
I’ll let you know how I get on when I get a chance to get back to it.
Thanks again :slightly_smiling_face:

No problem, Franz. Let me know if it helps.
Also, it wouldn’t be hard at all to improve on what 2d transform does in the corners with repeat last. It creates these corner squares that don’t blend well. A couple more surfaces and soft gmasks in the corners and it would all mix better.

This is a very cool fix. At the risk of sounding like a big dummy, what are the blue links between gmask and axis? Thought it was a light link, but no. What secret magic is this?

Thanks Nick. The blue lines are gmask links. It restricts the effect of the gmask to only the object linked to. My hotkey is space-g but I think the standard hotkey is alt-shift or something.


Wow. Never used em before. My world just expanded a bit.

I still say that Action gmasks were the greatest addition in years. There are some picadillos and oddities that I would like resolved, but the functionality is superb.


I have an action setup that stretches out the edge pixels. It uses the expand X (the same control that creates the mirrors) to stretch out the pixels and the expand Y to set the range of pixels that gets stretched. It defaults to the outer most pixels. It works for any aspect ratio, but it can be fiddly if you try to copy it and apply it to a different aspect ratio. It derives its info from the Lens Centre, so you can always enter the proper resolution by hand. It has not been heavily road tested and for a reason I have never figured out, it doesn’t stretch the pixels out linearly, but it’s still handy. The only version I have is 2022.1 and up. (84.5 KB)