Between Avid’s Fluid Morph and Adobe’s Morph Cut, some of us Nuke users felt a little bit left behind.

When one of our client started abusing Avid’s Fluid Morph in offline, only for us to struggle to even get something that matched the editor’s reference, let alone improve on it, I decided that it was enough and got to work at night to reproduce the effect in Nuke. The existing techniques on Nukepedia for automatic Morph were all relying on still frames, but we needed to keep the movement in there, as we were doing jump cuts in an actor’s performance, and we just couldn’t freeze the actor’s face for half a second.

It took me a couple of days of thinking about it and some brainstorming on the Nuke forums ( to come up with a good working solution. Since that, we have used it successfully on a few high-profile TV shows and some not-so-high profile feature films.

Example / Tutorial – Seamless loop.

While I posted the Gizmo on Nukepedia a few months ago, I didn’t really have time to do this little write up or any kind of example or tutorial. I finally have a little bit of free time so I thought I’d give it a little try.

I though a good example might be to make a seamless loop of a video to showcase some of the potential of the gizmo.

First thing first, to do a looped video, you’ll need some sort of footage. Ideally a video with some repeatable action and not too much camera shake.

I googled “free stock footage”, and after browsing a little bit I found this: It ticks both boxes above: Repeated action and relatively still camera.

To make a looped video, the basic idea is simple: You find the range of your repeatable action and line up the end action with the beginning of the clip. The video would start playing the end action, dissolve into the original action, and get back to that end action. With a fixed camera and a perfectly repeated performance, that would even work as it.

Let’s setup in Nuke.

First, I setup a TimeOffset node, and a Dissolve. For now I just set it at 0.5, so that I can see my two images superimposed.

Using the Dope sheet (though I could just adjust the value) I line up the second repetition of the action with the beginning of the clip. In my case a value of -197 looks pretty close.

I now need to animate my dissolve. I start with a keyframe at frame 1 with values 1 (the offset clip), and set another key with a value of 0 (the original clip) before my clip runs out, in my case frame 52. That will do the dissolve smoothly over 2 seconds.

Let’s see how it looks like:

Yeah, not great. Between the camera move and the fact that this lady is not a robot, there quite a bit of ghosting happening during the dissolve.

Let’s use the Morph_Dissolve instead.

Using a Morph_Dissolve. I didn’t touch any settings, just set the same keyframes as I had on my Dissolve.

Now, the loop looks pretty seamless. Of course, if you look close enough, you’ll find little artifacts here and there, like when doing retimes using motion vectors. You can switch back and forth between the two morph methods (iDistort or Kronos) to see which produces the best results for your particular source clip. For some advanced jump cuts I’ve had to roto and stabilize the characters before applying the morph dissolve, but it was still so much faster than using a SplineWarp. You could even use it coupled with a spline warp to catch the little details that a splinewarp might be missing.


Download here: